diff --git a/codegen.yml b/codegen.yml
index 0fd158d69..c28c1dcc6 100644
--- a/codegen.yml
+++ b/codegen.yml
@@ -4,8 +4,8 @@ schema: [
"https://outofbandreporter.api.apollographql.com/",
]
documents:
- - gateway-js/src/loadSupergraphSdlFromStorage.ts
- - gateway-js/src/outOfBandReporter.ts
+ - gateway-js/src/supergraphManagers/UplinkFetcher/loadSupergraphSdlFromStorage.ts
+ - gateway-js/src/supergraphManagers/UplinkFetcher/outOfBandReporter.ts
generates:
gateway-js/src/__generated__/graphqlTypes.ts:
plugins:
diff --git a/docs/source/api/apollo-gateway.mdx b/docs/source/api/apollo-gateway.mdx
index f0ed34e6a..e5eac6198 100644
--- a/docs/source/api/apollo-gateway.mdx
+++ b/docs/source/api/apollo-gateway.mdx
@@ -100,11 +100,20 @@ const gateway = new ApolloGateway({
###### `supergraphSdl`
-`String`
+`string | SupergraphSdlHook | SupergraphManager`
-A [supergraph schema](../federated-types/overview/#supergraph-schema) ([generated with the Rover CLI](https://www.apollographql.com/docs/rover/supergraphs/#composing-a-supergraph-schema)) that's composed from your subgraph schemas. The supergraph schema includes directives that specify routing information for each subgraph.
+You provide your supergraph schema to the gateway with this option. You can provide it as a `string`, via a `SupergraphSdlHook`, or via a `SupergraphManager`.
+
+**When `supergraphSdl` is a `string`:** A [supergraph schema](../#federated-schemas) ([generated with the Rover CLI](https://www.apollographql.com/docs/rover/supergraphs/#composing-a-supergraph-schema)) that's composed from your subgraph schemas. The supergraph schema includes directives that specify routing information for each subgraph.
+
+**When `supergraphSdl` is a `SupergraphSdlHook`:** This is an `async` function that returns an object containing a `supergraphSdl` string as well as a `cleanup` function. The hook accepts an object containing the following properties:
+- `update`: A function that updates the supergraph schema
+- `healthCheck`: A function that issues a health check against the subgraphs
+- `getDataSource`: A function that gets a data source for a particular subgraph from the gateway
+
+**When `supergraphSdl` is a `SupergraphManager`:** An object containing an `initialize` property. `initialize` is an `async` function of the `SupergraphSdlHook` type described directly above.
**If you are using managed federation,** do not provide this field.
@@ -124,7 +133,7 @@ A [supergraph schema](../federated-types/overview/#supergraph-schema) ([generate
-**This option is discouraged in favor of [`supergraphSdl`](#supergraphsdl).**
+**This option is deprecated in favor of the drop-in replacement, [`IntrospectAndCompose`](#class-introspectandcompose).**
An array of objects that each specify the `name` and `url` of one subgraph in your federated graph. On startup, the gateway uses this array to obtain your subgraph schemas via introspection and compose a supergraph schema.
@@ -143,11 +152,13 @@ You can specify any string value for the `name` field, which is used for identif
###### `introspectionHeaders`
-`Object | (service: ServiceEndpointDefinition) => Promise | Object`
+`Object | (service: ServiceEndpointDefinition) => (Promise | Object)`
-An object, or an (optionally) async function returning an object, containing the names and values of HTTP headers that the gateway includes _only_ when making introspection requests to your subgraphs.
+**This option is deprecated in favor of the drop-in replacement, [`IntrospectAndCompose`](#class-introspectandcompose).**
+
+An object (or an optionally async function _returning_ an object) that contains the names and values of HTTP headers that the gateway includes _only_ when making introspection requests to your subgraphs.
**If you are using managed federation,** do not provide this field.
@@ -521,3 +532,160 @@ The details of the `fetch` response sent by the subgraph.
+
+## `class IntrospectAndCompose`
+
+`IntrospectAndCompose` is a development tool for fetching and composing subgraph SDL into a supergraph for your gateway. Given a list of subgraphs and their URLs, `IntrospectAndCompose` will issue queries for their SDL, compose them into a supergraph, and provide that supergraph to the gateway. It can also be configured to update via polling and perform subgraph health checks to ensure that supergraphs are updated safely. `IntrospectAndCompose` implements the `SupergraphManager` interface and is passed in to `ApolloGateway`'s `supergraphSdl` constructor option.
+
+> `IntrospectAndCompose` is the drop-in replacement for `serviceList`.
+
+### Methods
+
+#### `constructor`
+
+Returns an initialized `IntrospectAndCompose` instance, which you can then pass to the `supergraphSdl` configuration option of the `ApolloGateway` constructor, like so:
+
+```javascript{3-7}
+const server = new ApolloServer({
+ gateway: new ApolloGateway({
+ supergraphSdl: new IntrospectAndCompose({
+ subgraphs: [
+ // ...
+ ],
+ }),
+ }),
+});
+```
+
+Takes an `options` object as a parameter. Supported properties of this object are described below.
+
+##### Examples
+
+###### Providing a `subgraphs` list and headers to authorize introspection
+
+```js
+const gateway = new ApolloGateway({
+ supergraphSdl: new IntrospectAndCompose({
+ subgraphs: [
+ { name: 'products', url: 'https://products-service.dev/graphql',
+ { name: 'reviews', url: 'https://reviews-service.dev/graphql' },
+ ],
+ introspectionHeaders: {
+ Authorization: 'Bearer abc123'
+ },
+ }),
+});
+```
+
+###### Configuring the subgraph fetcher
+
+`IntrospectAndCompose` uses the data sources constructed by `ApolloGateway`. To customize the gateway's data sources, you can provide a [`buildService`](#buildservice) function to the `ApolloGateway` constructor. In the example below, `IntrospectAndCompose` makes authenticated requests to the subgraphs
+via the `AuthenticatedDataSource`s that we construct in the gateway's `buildService` function.
+
+```js
+const gateway = new ApolloGateway({
+ buildService({ name, url }) {
+ return new AuthenticatedDataSource({ url });
+ },
+ supergraphSdl: new IntrospectAndCompose({
+ subgraphs: [
+ { name: 'products', url: 'https://products-service.dev/graphql',
+ { name: 'reviews', url: 'https://reviews-service.dev/graphql' },
+ ],
+ }),
+});
+```
+
+##### Options
+
+
+
+
+ Name / Type
+ Description
+
+
+
+
+
+
+
+
+###### `subgraphs`
+
+`Array`
+
+
+
+An array of objects that each specify the `name` and `url` of one subgraph in your federated graph. On startup, `IntrospectAndCompose` uses this array to obtain your subgraph schemas via introspection and compose a supergraph schema.
+
+The `name` field is a string that should be treated as a subgraph's unique identifier. It is used for query planning, logging, and reporting metrics to Apollo Studio.
+> For Studio users, subgraph names **must:**
+- Begin with a letter (capital or lowercase)
+- Include only letters, numbers, underscores (_), and hyphens (-)
+- Have a maximum of 64 characters
+
+
+
+
+
+
+
+###### `introspectionHeaders`
+
+`Object | (service: ServiceEndpointDefinition) => (Promise | Object)`
+
+
+
+An object (or an optionally async function _returning_ an object)that contains the names and values of HTTP headers that the gateway includes _only_ when making introspection requests to your subgraphs.
+
+**If you define a [`buildService`](#buildservice) function in your `ApolloGateway` config, ** specify these headers in that function instead of providing this option. This ensures that your `buildService` function doesn't inadvertently overwrite the values of any headers you provide here.
+
+
+
+
+
+
+###### `pollIntervalInMs`
+
+`number`
+
+
+
+Specify this option to enable supergraph updates via subgraph polling. `IntrospectAndCompose` polls each subgraph at the given interval.
+
+
+
+
+
+
+###### `subgraphHealthCheck`
+
+`boolean`
+
+
+
+> This option applies only to subgraphs that are configured for polling via the `pollIntervalInMs` option.
+If `true`, the gateway performs a health check on each subgraph before performing a supergraph update. Errors during health checks will result in skipping the supergraph update, but polling will continue. The health check is a simple GraphQL query (`query __ApolloServiceHealthCheck__ { __typename }`) to ensure that subgraphs are reachable and can successfully respond to GraphQL requests.
+
+**This option is the `IntrospectAndCompose` equivalent of `ApolloGateway`'s `serviceHealthCheck` option. If you are using `IntrospectAndCompose`, enabling `serviceHealthCheck` on your `ApolloGateway` instance has no effect.**
+
+
+
+
+
+
+###### `logger`
+
+[`Logger`](https://github.com/apollographql/apollo-server/blob/main/packages/apollo-server-types/src/index.ts#L166-L172)
+
+
+
+An object to use for logging in place of `console`. If provided, this object must implement all methods of [the `Logger` interface](https://github.com/apollographql/apollo-server/blob/main/packages/apollo-server-types/src/index.ts#L166-L172).
+
+`IntrospectAndCompose` doesn't share the same logger as the `ApolloGateway` it's configured with. In most cases, you probably want to pass the same logger to both `ApolloGateway` and `IntrospectAndCompose`.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/source/entities.md b/docs/source/entities.md
index 717d25e1e..88b217d9c 100644
--- a/docs/source/entities.md
+++ b/docs/source/entities.md
@@ -225,7 +225,7 @@ We can perform this migration safely with the following steps:
* _If you **are** using managed federation, Apollo Studio does **not** publish an updated configuration, and the gateway continues to resolve the `Bill` entity in the `payments` subgraph._
- * _If you are **not** using managed federation, your gateway starts resolving the `Bill` entity in whichever subgraph is listed **last** in your gateway's [`serviceList`](/api/apollo-gateway/#constructor)._
+ * _If you are **not** using managed federation, your gateway starts resolving the `Bill` entity in whichever subgraph is listed **last** in your gateway's [`IntrospectAndCompose`](/api/apollo-gateway/#class-introspectandcompose) `subgraphs` list._
4. In the `payments` subgraph's schema, remove the `Bill` entity. If you're using managed federation, register this schema change with Studio.
diff --git a/docs/source/gateway.mdx b/docs/source/gateway.mdx
index 08a52d81e..c565309af 100644
--- a/docs/source/gateway.mdx
+++ b/docs/source/gateway.mdx
@@ -34,12 +34,12 @@ const supergraphSdl = gql` ${schemaString} `;
// Initialize an ApolloGateway instance and pass it
// the supergraph schema
const gateway = new ApolloGateway({
- supergraphSdl
+ supergraphSdl,
});
// Pass the ApolloGateway to the ApolloServer constructor
const server = new ApolloServer({
- gateway
+ gateway,
});
server.listen().then(({ url }) => {
@@ -57,6 +57,139 @@ To learn how to compose your supergraph schema, see [Supported methods](./federa
On startup, the gateway processes your `supergraphSdl`, which includes routing information for your subgraphs. It then begins accepting incoming requests and creates query plans for them that execute across one or more subgraphs.
+### Updating the supergraph schema
+
+In the above example, we provide a _static_ supergraph schema to the gateway. This approach requires the gateway to restart in order to update the supergraph schema. This is undesirable for many applications, so we also provide the ability to update the supergraph schema dynamically.
+
+```js:title=index.js
+const { ApolloServer } = require('apollo-server');
+const { ApolloGateway } = require('@apollo/gateway');
+const { readFile } = require('fs/promises');
+
+let supergraphUpdate;
+const gateway = new ApolloGateway({
+ async supergraphSdl({ update }) {
+ // `update` is a function which we'll save for later use
+ supergraphUpdate = update;
+ return {
+ supergraphSdl: await readFile('./supergraph.graphql', 'utf-8'),
+ }
+ },
+});
+
+// Pass the ApolloGateway to the ApolloServer constructor
+const server = new ApolloServer({
+ gateway,
+});
+
+server.listen().then(({ url }) => {
+ console.log(`🚀 Server ready at ${url}`);
+});
+```
+
+There are a few things happening here. Let's take a look at each of them individually.
+
+Note that `supergraphSdl` is now an `async` function. This function is called exactly once, when `ApolloServer` initializes the gateway. It has the following responsibilities:
+- It receives the `update` function, which we use to update the supergraph schema.
+- It returns the initial supergraph schema, which the gateway uses at startup.
+
+With the `update` function, we can now programatically update the supergraph. Polling, webhooks, and file watchers are all good examples of ways we can go about updating the supergraph.
+
+The code below demonstrates a more complete example using a file watcher. In this example, assume that we're updating the `supergraphSdl.graphql` file with the Rover CLI.
+
+```js:title=index.js
+const { ApolloServer } = require('apollo-server');
+const { ApolloGateway } = require('@apollo/gateway');
+const { watch } = require('fs');
+const { readFile } = require('fs/promises');
+
+const server = new ApolloServer({
+ gateway: new ApolloGateway({
+ async supergraphSdl({ update, healthCheck }) {
+ // create a file watcher
+ const watcher = watch('./supergraph.graphql');
+ // subscribe to file changes
+ watcher.on('change', async () => {
+ // update the supergraph schema
+ try {
+ const updatedSupergraph = await readFile('./supergraph.graphql', 'utf-8');
+ // optional health check update to ensure our services are responsive
+ await healthCheck(updatedSupergraph);
+ // update the supergraph schema
+ update(updatedSupergraph);
+ } catch (e) {
+ // handle errors that occur during health check or while updating the supergraph schema
+ console.error(e);
+ }
+ });
+
+ return {
+ supergraphSdl: await readFile('./supergraph.graphql', 'utf-8'),
+ // cleanup is called when the gateway is stopped
+ async cleanup() {
+ watcher.close();
+ }
+ }
+ },
+ }),
+});
+
+server.listen().then(({ url }) => {
+ console.log(`🚀 Server ready at ${url}`);
+});
+```
+
+This example is a bit more complete. Let's take a look at what we've added.
+
+In the `supergraphSdl` callback, we also receive a `healthCheck` function. This enables us to run a health check against each of the services in our future supergraph schema. This is useful for ensuring that our services are responsive and that we don't perform an update when it's unsafe.
+
+We've also wrapped our call to `update` and `healthCheck` in a `try` block. If an error occurs during either of these, we want to handle this gracefully. In this example, we continue running the existing supergraph schema and log an error.
+
+Finally, we return a `cleanup` function. This is a callback that's called when the gateway is stopped. This enables us to cleanly shut down any ongoing processes (such as file watching or polling) when the gateway is shut down via a call to `ApolloServer.stop`. The gateway expects `cleanup` to return a `Promise` and `await`s it before shutting down.
+
+#### Advanced usage
+
+In a more complex application, you might want to create a class that handles the `update` and `healthCheck` functions, along with any additional state. In this case, you can instead provide an object (or class) with an `initialize` function. This function is called just like the `supergraphSdl` function discussed above. For an example of this, see the [`IntrospectAndCompose` source code](https://github.com/apollographql/federation/blob/main/packages/apollo-gateway/src/supergraphManagers/IntrospectAndCompose/index.ts).
+
+### Composing subgraphs with `IntrospectAndCompose`
+
+> Looking for `serviceList`? In `@apollo/gateway` version 0.46.0 and later,`IntrospectAndCompose` is the new drop-in replacement for the `serviceList` option. The `serviceList` option will be removed in an upcoming release of `@apollo/gateway`, but `IntrospectAndCompose` will continue to be supported. We recommend using the Rover CLI to manage local composition, but `IntrospectAndCompose` is still useful for various development and testing workflows.
+
+> We strongly recommend _against_ using `IntrospectAndCompose` in production. For details, [see below](#limitations-of-introspectandcompose).
+
+Alternatively, you can provide a `subgraph` array to the `IntrospectAndCompose` constructor, like so:
+
+```js:title=index.js
+const { ApolloGateway, IntrospectAndCompose } = require('@apollo/gateway');
+
+const gateway = new ApolloGateway({
+ supergraphSdl: new IntrospectAndCompose({
+ subgraphs: [
+ { name: 'accounts', url: 'http://localhost:4001' },
+ { name: 'products', url: 'http://localhost:4002' },
+ // ...additional subgraphs...
+ ],
+ }),
+});
+```
+
+Each item in the array is an object that specifies the `name` and `url` of one of your subgraphs. You can specify any string value for `name`, which is used primarily for query planner output, error messages, and logging.
+
+On startup, the gateway fetches each subgraph's schema from its `url` and composes those schemas into a supergraph schema. It then begins accepting incoming requests and creates query plans for them that execute across one or more subgraphs.
+
+Additional configuration options can be found in the [`IntrospectAndCompose` API documentation](./api/apollo-gateway#class-introspectandcompose).
+
+However, `IntrospectAndCompose` has important [limitations](#limitations-of-introspectandcompose).
+
+#### Limitations of `IntrospectAndCompose`
+
+The `IntrospectAndCompose` option can sometimes be helpful for local development, but it is strongly discouraged for any other environment. Here are some reasons why:
+
+* **Composition might fail.** With `IntrospectAndCompose`, your gateway performs composition dynamically on startup, which requires network communication with each subgraph. If composition fails, your gateway [throws errors](./errors/) and experiences unplanned downtime.
+ * With the static or dynamic `supergraphSdl` configuration, you instead provide a supergraph schema that has _already_ been composed successfully. This prevents composition errors and enables faster startup.
+* **Gateway instances might differ.** If you deploy multiple instances of your gateway _while_ deploying updates to your subgraphs, your gateway instances might fetch different schemas from the _same_ subgraph. This can result in sporadic composition failures or inconsistent supergraph schemas between instances.
+ * When you deploy multiple instances with `supergraphSdl`, you provide the exact same static artifact to each instance, enabling more predictable behavior.
+
## Updating the gateway
> Before updating your gateway's version, check the [changelog](https://github.com/apollographql/federation/blob/main/gateway-js/CHANGELOG.md) for potential breaking changes.
diff --git a/federation-integration-testsuite-js/src/fixtures/index.ts b/federation-integration-testsuite-js/src/fixtures/index.ts
index f2bf9f40d..effbae5f5 100644
--- a/federation-integration-testsuite-js/src/fixtures/index.ts
+++ b/federation-integration-testsuite-js/src/fixtures/index.ts
@@ -7,8 +7,24 @@ import * as reviews from './reviews';
import * as reviewsWithUpdate from './special-cases/reviewsWithUpdate';
import * as accountsWithoutTag from './special-cases/accountsWithoutTag';
import * as reviewsWithoutTag from './special-cases/reviewsWithoutTag';
+import { DocumentNode } from 'graphql';
+import { GraphQLResolverMap } from '../resolverMap';
-const fixtures = [accounts, books, documents, inventory, product, reviews];
+export interface Fixture {
+ name: string;
+ url: string;
+ typeDefs: DocumentNode;
+ resolvers?: GraphQLResolverMap
+}
+
+const fixtures: Fixture[] = [
+ accounts,
+ books,
+ documents,
+ inventory,
+ product,
+ reviews,
+];
const fixturesWithUpdate = [
accounts,
diff --git a/gateway-js/CHANGELOG.md b/gateway-js/CHANGELOG.md
index fc3849f34..0a57d219c 100644
--- a/gateway-js/CHANGELOG.md
+++ b/gateway-js/CHANGELOG.md
@@ -4,7 +4,24 @@
## vNEXT
-- _Nothing yet! Stay tuned._
+- __BREAKING__: This change improves the `supergraphSdl` configuration option to provide a clean and flexible interface for updating gateway schema on load and at runtime. This PR brings a number of updates and deprecations to the gateway. Previous options for loading the gateway's supergraph (`serviceList`, `localServiceList`, `experimental_updateServiceDefinitions`, `experimental_supergraphSdl`) are all deprecated going forward. The migration paths all point to the updated `supergraphSdl` configuration option.
+
+The most notable change here is the introduction of the concept of a `SupergraphManager` (one new possible type of `supergraphSdl`). This interface (when implemented) provides a means for userland code to update the gateway supergraph dynamically, perform subgraph healthchecks, and access subgraph datasources. All of the mentioned deprecated configurations now either use an implementation of a `SupergraphManager` internally or export one to be configured by the user (`IntrospectAndCompose` and `LocalCompose`).
+
+For now: all of the mentioned deprecated configurations will still continue to work as expected. Their usage will come with deprecation warnings advising a switch to `supergraphSdl`.
+* `serviceList` users should switch to the now-exported `IntrospectAndCompose` class.
+* `localServiceList` users should switch to the similar `LocalCompose` class.
+* `experimental_{updateServiceDefinitions|supergraphSdl}` users should migrate their implementation to a custom `SupergraphSdlHook` or `SupergraphManager`.
+
+Since the gateway itself is no longer responsible for composition:
+* `experimental_didUpdateComposition` has been renamed more appropriately to `experimental_didUpdateSupergraph` (no signature change)
+* `experimental_compositionDidFail` hook is removed
+
+`experimental_pollInterval` is deprecated and will issue a warning. Its renamed equivalent is `pollIntervalInMs`.
+
+Some defensive code around gateway shutdown has been removed which was only relevant to users who are running the gateway within `ApolloServer` before v2.18. If you are still running one of these versions, server shutdown may not happen as smoothly.
+
+[#1246](https://github.com/apollographql/federation/pull/1246)
## v2.0.0-alpha.3
diff --git a/gateway-js/package.json b/gateway-js/package.json
index 1484b0174..8f943ab88 100644
--- a/gateway-js/package.json
+++ b/gateway-js/package.json
@@ -28,6 +28,7 @@
"@apollo/composition": "file:../composition-js",
"@apollo/core-schema": "^0.2.0",
"@apollo/query-planner": "file:../query-planner-js",
+ "@josephg/resolvable": "^1.0.1",
"@opentelemetry/api": "^1.0.1",
"@types/node-fetch": "2.5.12",
"apollo-reporting-protobuf": "^0.8.0 || ^3.0.0",
@@ -39,7 +40,8 @@
"apollo-utilities": "^1.3.0",
"loglevel": "^1.6.1",
"make-fetch-happen": "^8.0.0",
- "pretty-format": "^27.0.0"
+ "pretty-format": "^27.0.0",
+ "sha.js": "^2.4.11"
},
"peerDependencies": {
"graphql": "^15.7.0"
diff --git a/gateway-js/src/__tests__/execution-utils.ts b/gateway-js/src/__tests__/execution-utils.ts
index f409a3112..72b151b24 100644
--- a/gateway-js/src/__tests__/execution-utils.ts
+++ b/gateway-js/src/__tests__/execution-utils.ts
@@ -109,8 +109,8 @@ export function getTestingSupergraphSdl(services: typeof fixtures = fixtures) {
throw new Error(`Testing fixtures don't compose properly!\nCauses:\n${compositionResult.errors.join('\n\n')}`);
}
-export function wait(ms: number) {
- return new Promise(r => setTimeout(r, ms));
+export function wait(ms: number, toResolveTo?: any) {
+ return new Promise((r) => setTimeout(() => r(toResolveTo), ms));
}
export function printPlan(queryPlan: QueryPlan): string {
diff --git a/gateway-js/src/__tests__/gateway/buildService.test.ts b/gateway-js/src/__tests__/gateway/buildService.test.ts
index 8c64e171e..a9dda611b 100644
--- a/gateway-js/src/__tests__/gateway/buildService.test.ts
+++ b/gateway-js/src/__tests__/gateway/buildService.test.ts
@@ -218,7 +218,7 @@ it('does not share service definition cache between gateways', async () => {
url: 'https://api.example.com/repeat',
},
],
- experimental_didUpdateComposition: updateObserver,
+ experimental_didUpdateSupergraph: updateObserver,
});
await gateway.load();
@@ -237,7 +237,7 @@ it('does not share service definition cache between gateways', async () => {
url: 'https://api.example.com/repeat',
},
],
- experimental_didUpdateComposition: updateObserver,
+ experimental_didUpdateSupergraph: updateObserver,
});
await gateway.load();
diff --git a/gateway-js/src/__tests__/gateway/composedSdl.test.ts b/gateway-js/src/__tests__/gateway/composedSdl.test.ts
deleted file mode 100644
index c78f84658..000000000
--- a/gateway-js/src/__tests__/gateway/composedSdl.test.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { fetch } from '../../__mocks__/make-fetch-happen-fetcher';
-import { ApolloGateway } from '@apollo/gateway';
-import { ApolloServer } from 'apollo-server';
-import { getTestingSupergraphSdl } from '../execution-utils';
-
-async function getSupergraphSdlGatewayServer() {
- const server = new ApolloServer({
- gateway: new ApolloGateway({
- supergraphSdl: getTestingSupergraphSdl(),
- }),
- });
-
- await server.listen({ port: 0 });
- return server;
-}
-
-describe('Using supergraphSdl configuration', () => {
- it('successfully starts and serves requests to the proper services', async () => {
- const server = await getSupergraphSdlGatewayServer();
-
- fetch.mockJSONResponseOnce({
- data: { me: { username: '@jbaxleyiii' } },
- });
-
- const result = await server.executeOperation({
- query: '{ me { username } }',
- });
-
- expect(result.data).toMatchInlineSnapshot(`
- Object {
- "me": Object {
- "username": "@jbaxleyiii",
- },
- }
- `);
-
- const [url, request] = fetch.mock.calls[0];
- expect(url).toEqual('https://accounts.api.com.invalid');
- expect(request?.body).toEqual(
- JSON.stringify({ query: '{me{username}}', variables: {} }),
- );
- await server.stop();
- });
-});
diff --git a/gateway-js/src/__tests__/gateway/lifecycle-hooks.test.ts b/gateway-js/src/__tests__/gateway/lifecycle-hooks.test.ts
index 2fe85d257..a07516cc1 100644
--- a/gateway-js/src/__tests__/gateway/lifecycle-hooks.test.ts
+++ b/gateway-js/src/__tests__/gateway/lifecycle-hooks.test.ts
@@ -1,8 +1,10 @@
import gql from 'graphql-tag';
import { ApolloGateway } from '../..';
import {
+ DynamicGatewayConfig,
Experimental_DidResolveQueryPlanCallback,
Experimental_UpdateServiceDefinitions,
+ ServiceDefinitionUpdate,
} from '../../config';
import {
product,
@@ -11,10 +13,11 @@ import {
accounts,
books,
documents,
+ fixtures,
+ fixturesWithUpdate,
} from 'apollo-federation-integration-testsuite';
import { Logger } from 'apollo-server-types';
-
-type GenericFunction = (...args: unknown[]) => unknown;
+import resolvable from '@josephg/resolvable';
// The order of this was specified to preserve existing test coverage. Typically
// we would just import and use the `fixtures` array.
@@ -49,16 +52,14 @@ beforeEach(() => {
describe('lifecycle hooks', () => {
it('uses updateServiceDefinitions override', async () => {
- const experimental_updateServiceDefinitions: Experimental_UpdateServiceDefinitions = jest.fn(
- async () => {
+ const experimental_updateServiceDefinitions: Experimental_UpdateServiceDefinitions =
+ jest.fn(async () => {
return { serviceDefinitions, isNewSchema: true };
- },
- );
+ });
const gateway = new ApolloGateway({
serviceList: serviceDefinitions,
experimental_updateServiceDefinitions,
- experimental_didUpdateComposition: jest.fn(),
logger,
});
@@ -69,61 +70,7 @@ describe('lifecycle hooks', () => {
await gateway.stop();
});
- it('calls experimental_didFailComposition with a bad config', async () => {
- const experimental_didFailComposition = jest.fn();
-
- // Creating 2 subservices that clearly cannot composed.
- const s1 = {
- name: 'S1',
- url: 'http://S1',
- typeDefs: gql`
- type T {
- a: Int
- }
- `
- };
-
- const s2 = {
- name: 'S2',
- url: 'http://S2',
- typeDefs: gql`
- type T {
- a: String
- }
- `
- };
-
-
- const gateway = new ApolloGateway({
- async experimental_updateServiceDefinitions() {
- return {
- serviceDefinitions: [s1, s2],
- compositionMetadata: {
- formatVersion: 1,
- id: 'abc',
- implementingServiceLocations: [],
- schemaHash: 'abc',
- },
- isNewSchema: true,
- };
- },
- serviceList: [],
- experimental_didFailComposition,
- logger,
- });
-
- await expect(gateway.load()).rejects.toThrowError("A valid schema couldn't be composed");
-
- const callbackArgs = experimental_didFailComposition.mock.calls[0][0];
- expect(callbackArgs.serviceList).toHaveLength(2);
- expect(callbackArgs.errors[0]).toMatchInlineSnapshot(
- `[GraphQLError: Field "T.a" has incompatible types across subgraphs: it has type "Int" in subgraph "S1" but type "String" in subgraph "S2"]`,
- );
- expect(callbackArgs.compositionMetadata.id).toEqual('abc');
- expect(experimental_didFailComposition).toBeCalled();
- });
-
- it('calls experimental_didUpdateComposition on schema update', async () => {
+ it('calls experimental_didUpdateSupergraph on schema update', async () => {
const compositionMetadata = {
formatVersion: 1,
id: 'abc',
@@ -131,82 +78,73 @@ describe('lifecycle hooks', () => {
schemaHash: 'hash1',
};
- const update: Experimental_UpdateServiceDefinitions = async () => ({
- serviceDefinitions,
- isNewSchema: true,
- compositionMetadata: {
- ...compositionMetadata,
- id: '123',
- schemaHash: 'hash2',
- },
- });
-
- // This is the simplest way I could find to achieve mocked functions that leverage our types
- const mockUpdate = jest.fn(update);
-
- // We want to return a different composition across two ticks, so we mock it
- // slightly differenty
- mockUpdate.mockImplementationOnce(async () => {
- const services = serviceDefinitions.filter(s => s.name !== 'books');
- return {
- serviceDefinitions: [
- ...services,
- {
- name: 'book',
- typeDefs: books.typeDefs,
- url: 'http://localhost:32542',
+ const mockUpdate = jest
+ .fn, [config: DynamicGatewayConfig]>()
+ .mockImplementationOnce(async () => {
+ return {
+ serviceDefinitions: fixtures,
+ isNewSchema: true,
+ compositionMetadata: {
+ ...compositionMetadata,
+ id: '123',
+ schemaHash: 'hash2',
},
- ],
- isNewSchema: true,
- compositionMetadata,
- };
- });
+ };
+ })
+ // We want to return a different composition across two ticks, so we mock it
+ // slightly differently
+ .mockImplementationOnce(async () => {
+ return {
+ serviceDefinitions: fixturesWithUpdate,
+ isNewSchema: true,
+ compositionMetadata,
+ };
+ });
const mockDidUpdate = jest.fn();
const gateway = new ApolloGateway({
experimental_updateServiceDefinitions: mockUpdate,
- experimental_didUpdateComposition: mockDidUpdate,
+ experimental_didUpdateSupergraph: mockDidUpdate,
logger,
});
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
- let resolve1: GenericFunction;
- let resolve2: GenericFunction;
- const schemaChangeBlocker1 = new Promise(res => (resolve1 = res));
- const schemaChangeBlocker2 = new Promise(res => (resolve2 = res));
+ const schemaChangeBlocker1 = resolvable();
+ const schemaChangeBlocker2 = resolvable();
- gateway.onSchemaChange(
+ gateway.onSchemaLoadOrUpdate(
jest
.fn()
- .mockImplementationOnce(() => resolve1())
- .mockImplementationOnce(() => resolve2()),
+ .mockImplementationOnce(() => schemaChangeBlocker1.resolve())
+ .mockImplementationOnce(() => schemaChangeBlocker2.resolve()),
);
await gateway.load();
await schemaChangeBlocker1;
+
expect(mockUpdate).toBeCalledTimes(1);
expect(mockDidUpdate).toBeCalledTimes(1);
await schemaChangeBlocker2;
+
expect(mockUpdate).toBeCalledTimes(2);
expect(mockDidUpdate).toBeCalledTimes(2);
const [firstCall, secondCall] = mockDidUpdate.mock.calls;
- expect(firstCall[0]!.schema).toBeDefined();
- expect(firstCall[0].compositionMetadata!.schemaHash).toEqual('hash1');
+ const expectedFirstId = 'd20cfb7a9c51179aa494ed9e98153f0042892bd225437af064bf1c1aa68eab86'
+ expect(firstCall[0]!.compositionId).toEqual(expectedFirstId);
// first call should have no second "previous" argument
expect(firstCall[1]).toBeUndefined();
- expect(secondCall[0].schema).toBeDefined();
- expect(secondCall[0].compositionMetadata!.schemaHash).toEqual('hash2');
+ expect(secondCall[0]!.compositionId).toEqual(
+ '7dad7ab8284165a86241b8973d71f0d6ac8cb142095c717dd23443522850c225',
+ );
// second call should have previous info in the second arg
- expect(secondCall[1]!.schema).toBeDefined();
- expect(secondCall[1]!.compositionMetadata!.schemaHash).toEqual('hash1');
+ expect(secondCall[1]!.compositionId).toEqual(expectedFirstId);
await gateway.stop();
});
@@ -231,34 +169,31 @@ describe('lifecycle hooks', () => {
it('warns when polling on the default fetcher', async () => {
new ApolloGateway({
serviceList: serviceDefinitions,
- experimental_pollInterval: 10,
+ pollIntervalInMs: 10,
logger,
});
- expect(logger.warn).toHaveBeenCalledTimes(1);
expect(logger.warn).toHaveBeenCalledWith(
'Polling running services is dangerous and not recommended in production. Polling should only be used against a registry. If you are polling running services, use with caution.',
);
});
it('registers schema change callbacks when experimental_pollInterval is set for unmanaged configs', async () => {
- const experimental_updateServiceDefinitions: Experimental_UpdateServiceDefinitions = jest.fn(
- async (_config) => {
+ const experimental_updateServiceDefinitions: Experimental_UpdateServiceDefinitions =
+ jest.fn(async (_config) => {
return { serviceDefinitions, isNewSchema: true };
- },
- );
+ });
const gateway = new ApolloGateway({
serviceList: [{ name: 'book', url: 'http://localhost:32542' }],
experimental_updateServiceDefinitions,
- experimental_pollInterval: 100,
+ pollIntervalInMs: 100,
logger,
});
- let resolve: GenericFunction;
- const schemaChangeBlocker = new Promise(res => (resolve = res));
- const schemaChangeCallback = jest.fn(() => resolve());
+ const schemaChangeBlocker = resolvable();
+ const schemaChangeCallback = jest.fn(() => schemaChangeBlocker.resolve());
- gateway.onSchemaChange(schemaChangeCallback);
+ gateway.onSchemaLoadOrUpdate(schemaChangeCallback);
await gateway.load();
await schemaChangeBlocker;
@@ -268,12 +203,11 @@ describe('lifecycle hooks', () => {
});
it('calls experimental_didResolveQueryPlan when executor is called', async () => {
- const experimental_didResolveQueryPlan: Experimental_DidResolveQueryPlanCallback = jest.fn()
+ const experimental_didResolveQueryPlan: Experimental_DidResolveQueryPlanCallback =
+ jest.fn();
const gateway = new ApolloGateway({
- localServiceList: [
- books
- ],
+ localServiceList: [books],
experimental_didResolveQueryPlan,
});
@@ -283,8 +217,8 @@ describe('lifecycle hooks', () => {
{ book(isbn: "0262510871") { year } }
`;
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
await executor({
source,
document: gql(source),
diff --git a/gateway-js/src/__tests__/gateway/opentelemetry.test.ts b/gateway-js/src/__tests__/gateway/opentelemetry.test.ts
index d49babece..bdca057f5 100644
--- a/gateway-js/src/__tests__/gateway/opentelemetry.test.ts
+++ b/gateway-js/src/__tests__/gateway/opentelemetry.test.ts
@@ -36,12 +36,16 @@ describe('opentelemetry', () => {
describe('with local data', () =>
{
async function gateway() {
+ const localDataSources = Object.fromEntries(
+ fixtures.map((f) => [
+ f.name,
+ new LocalGraphQLDataSource(buildSubgraphSchema(f)),
+ ]),
+ );
const gateway = new ApolloGateway({
localServiceList: fixtures,
- buildService: service => {
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore
- return new LocalGraphQLDataSource(buildSubgraphSchema([service]));
+ buildService(service) {
+ return localDataSources[service.name];
},
});
diff --git a/gateway-js/src/__tests__/gateway/queryPlanCache.test.ts b/gateway-js/src/__tests__/gateway/queryPlanCache.test.ts
index 4f39effe5..f0ef31159 100644
--- a/gateway-js/src/__tests__/gateway/queryPlanCache.test.ts
+++ b/gateway-js/src/__tests__/gateway/queryPlanCache.test.ts
@@ -6,15 +6,20 @@ import { LocalGraphQLDataSource } from '../../datasources/LocalGraphQLDataSource
import { ApolloGateway } from '../../';
import { fixtures } from 'apollo-federation-integration-testsuite';
import { QueryPlanner } from '@apollo/query-planner';
+
it('caches the query plan for a request', async () => {
const buildQueryPlanSpy = jest.spyOn(QueryPlanner.prototype, 'buildQueryPlan');
+ const localDataSources = Object.fromEntries(
+ fixtures.map((f) => [
+ f.name,
+ new LocalGraphQLDataSource(buildSubgraphSchema(f)),
+ ]),
+ );
const gateway = new ApolloGateway({
localServiceList: fixtures,
- buildService: service => {
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore
- return new LocalGraphQLDataSource(buildSubgraphSchema([service]));
+ buildService(service) {
+ return localDataSources[service.name];
},
});
@@ -66,12 +71,17 @@ it('supports multiple operations and operationName', async () => {
}
`;
+ const localDataSources = Object.fromEntries(
+ fixtures.map((f) => [
+ f.name,
+ new LocalGraphQLDataSource(buildSubgraphSchema(f)),
+ ]),
+ );
+
const gateway = new ApolloGateway({
localServiceList: fixtures,
- buildService: service => {
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore
- return new LocalGraphQLDataSource(buildSubgraphSchema([service]));
+ buildService(service) {
+ return localDataSources[service.name];
},
});
@@ -172,12 +182,15 @@ it('does not corrupt cached queryplan data across requests', async () => {
},
};
+ const dataSources: Record = {
+ a: new LocalGraphQLDataSource(buildSubgraphSchema(serviceA)),
+ b: new LocalGraphQLDataSource(buildSubgraphSchema(serviceB)),
+ };
+
const gateway = new ApolloGateway({
localServiceList: [serviceA, serviceB],
- buildService: service => {
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore
- return new LocalGraphQLDataSource(buildSubgraphSchema([service]));
+ buildService(service) {
+ return dataSources[service.name];
},
});
diff --git a/gateway-js/src/__tests__/gateway/reporting.test.ts b/gateway-js/src/__tests__/gateway/reporting.test.ts
index 7dfcc826d..263ab64c7 100644
--- a/gateway-js/src/__tests__/gateway/reporting.test.ts
+++ b/gateway-js/src/__tests__/gateway/reporting.test.ts
@@ -14,6 +14,7 @@ import { Report, Trace } from 'apollo-reporting-protobuf';
import { fixtures } from 'apollo-federation-integration-testsuite';
import { nockAfterEach, nockBeforeEach } from '../nockAssertions';
import { GraphQLSchemaModule } from '../../schema-helper';
+import resolvable, { Resolvable } from '@josephg/resolvable';
// Normalize specific fields that change often (eg timestamps) to static values,
// to make snapshot testing viable. (If these helpers are more generally
@@ -90,19 +91,16 @@ describe('reporting', () => {
let backendServers: ApolloServer[];
let gatewayServer: ApolloServer;
let gatewayUrl: string;
- let reportPromise: Promise;
+ let reportPromise: Resolvable;
beforeEach(async () => {
- let reportResolver: (report: any) => void;
- reportPromise = new Promise((resolve) => {
- reportResolver = resolve;
- });
+ reportPromise = resolvable();
nockBeforeEach();
nock('https://usage-reporting.api.apollographql.com')
.post('/api/ingress/traces')
.reply(200, (_: any, requestBody: string) => {
- reportResolver(requestBody);
+ reportPromise.resolve(requestBody);
return 'ok';
});
diff --git a/gateway-js/src/__tests__/gateway/supergraphSdl.test.ts b/gateway-js/src/__tests__/gateway/supergraphSdl.test.ts
new file mode 100644
index 000000000..b32681d6f
--- /dev/null
+++ b/gateway-js/src/__tests__/gateway/supergraphSdl.test.ts
@@ -0,0 +1,397 @@
+import {
+ ApolloGateway,
+ RemoteGraphQLDataSource,
+ SubgraphHealthCheckFunction,
+ SupergraphSdlUpdateFunction,
+} from '@apollo/gateway';
+import { fixturesWithUpdate } from 'apollo-federation-integration-testsuite';
+import { createHash } from '../../utilities/createHash';
+import { ApolloServer } from 'apollo-server';
+import { Logger } from 'apollo-server-types';
+import { fetch } from '../../__mocks__/make-fetch-happen-fetcher';
+import { getTestingSupergraphSdl } from '../execution-utils';
+import { mockAllServicesHealthCheckSuccess } from '../integration/nockMocks';
+import resolvable from '@josephg/resolvable';
+import { nockAfterEach, nockBeforeEach } from '../nockAssertions';
+
+async function getSupergraphSdlGatewayServer() {
+ const server = new ApolloServer({
+ gateway: new ApolloGateway({
+ supergraphSdl: getTestingSupergraphSdl(),
+ buildService({ url }) {
+ return new RemoteGraphQLDataSource({
+ url,
+ fetcher: fetch,
+ });
+ },
+ }),
+ });
+
+ await server.listen({ port: 0 });
+ return server;
+}
+
+let logger: Logger;
+let gateway: ApolloGateway | null;
+beforeEach(() => {
+ nockBeforeEach();
+
+ logger = {
+ debug: jest.fn(),
+ info: jest.fn(),
+ warn: jest.fn(),
+ error: jest.fn(),
+ };
+});
+
+afterEach(async () => {
+ nockAfterEach();
+
+ if (gateway) {
+ await gateway.stop();
+ gateway = null;
+ }
+});
+
+describe('Using supergraphSdl static configuration', () => {
+ it('successfully starts and serves requests to the proper services', async () => {
+ const server = await getSupergraphSdlGatewayServer();
+
+ fetch.mockJSONResponseOnce({
+ data: { me: { username: '@jbaxleyiii' } },
+ });
+
+ const result = await server.executeOperation({
+ query: '{ me { username } }',
+ });
+
+ expect(result.data).toMatchInlineSnapshot(`
+ Object {
+ "me": Object {
+ "username": "@jbaxleyiii",
+ },
+ }
+ `);
+
+ const [url, request] = fetch.mock.calls[0];
+ expect(url).toEqual('https://accounts.api.com.invalid');
+ expect(request?.body).toEqual(
+ JSON.stringify({ query: '{me{username}}', variables: {} }),
+ );
+ await server.stop();
+ });
+});
+
+describe('Using supergraphSdl dynamic configuration', () => {
+ it('calls the user provided function after `gateway.load()` is called', async () => {
+ const callbackSpy = jest.fn(async () => ({
+ supergraphSdl: getTestingSupergraphSdl(),
+ }));
+
+ gateway = new ApolloGateway({
+ supergraphSdl: callbackSpy,
+ });
+
+ expect(callbackSpy).not.toHaveBeenCalled();
+ await gateway.load();
+ expect(callbackSpy).toHaveBeenCalled();
+ });
+
+ it('starts and remains in `initialized` state until `supergraphSdl` Promise resolves', async () => {
+ const promiseGuaranteeingWeAreInTheCallback = resolvable();
+ const promiseGuaranteeingWeStayInTheCallback = resolvable();
+
+ gateway = new ApolloGateway({
+ async supergraphSdl() {
+ promiseGuaranteeingWeAreInTheCallback.resolve();
+ await promiseGuaranteeingWeStayInTheCallback;
+ return {
+ supergraphSdl: getTestingSupergraphSdl(),
+ };
+ },
+ });
+
+ expect(gateway.__testing().state.phase).toEqual('initialized');
+
+ const gatewayLoaded = gateway.load();
+ await promiseGuaranteeingWeAreInTheCallback;
+ expect(gateway.__testing().state.phase).toEqual('initialized');
+
+ promiseGuaranteeingWeStayInTheCallback.resolve();
+ await gatewayLoaded;
+ expect(gateway.__testing().state.phase).toEqual('loaded');
+ });
+
+ it('moves from `initialized` to `loaded` state after calling `load()` and after user Promise resolves', async () => {
+ const userPromise = resolvable<{ supergraphSdl: string }>();
+
+ gateway = new ApolloGateway({
+ async supergraphSdl() {
+ return userPromise;
+ },
+ });
+
+ const loadPromise = gateway.load();
+ expect(gateway.__testing().state.phase).toEqual('initialized');
+
+ const supergraphSdl = getTestingSupergraphSdl();
+ const expectedCompositionId = createHash('sha256')
+ .update(supergraphSdl)
+ .digest('hex');
+ userPromise.resolve({ supergraphSdl });
+
+ await loadPromise;
+ const { state, compositionId } = gateway.__testing();
+ expect(state.phase).toEqual('loaded');
+ expect(compositionId).toEqual(expectedCompositionId);
+ });
+
+ it('updates its supergraph after user calls update function', async () => {
+ const userPromise = resolvable<{ supergraphSdl: string }>();
+
+ let userUpdateFn: SupergraphSdlUpdateFunction;
+ gateway = new ApolloGateway({
+ async supergraphSdl({ update }) {
+ userUpdateFn = update;
+ return userPromise;
+ },
+ });
+
+ const supergraphSdl = getTestingSupergraphSdl();
+ const expectedId = createHash('sha256').update(supergraphSdl).digest('hex');
+ userPromise.resolve({ supergraphSdl: getTestingSupergraphSdl() });
+ await gateway.load();
+ expect(gateway.__testing().compositionId).toEqual(expectedId);
+
+ const updatedSupergraphSdl = getTestingSupergraphSdl(fixturesWithUpdate);
+ const expectedUpdatedId = createHash('sha256')
+ .update(updatedSupergraphSdl)
+ .digest('hex');
+
+ userUpdateFn!(updatedSupergraphSdl);
+ expect(gateway.__testing().compositionId).toEqual(expectedUpdatedId);
+ });
+
+ it('calls user-provided `cleanup` function when stopped', async () => {
+ const cleanup = jest.fn(() => Promise.resolve());
+ gateway = new ApolloGateway({
+ async supergraphSdl() {
+ return {
+ supergraphSdl: getTestingSupergraphSdl(),
+ cleanup,
+ };
+ },
+ });
+
+ await gateway.load();
+ const { state, compositionId } = gateway.__testing();
+ expect(state.phase).toEqual('loaded');
+ expect(compositionId).toEqual(
+ 'd20cfb7a9c51179aa494ed9e98153f0042892bd225437af064bf1c1aa68eab86',
+ );
+
+ await gateway.stop();
+ expect(cleanup).toHaveBeenCalledTimes(1);
+ });
+
+ it('performs a successful health check on subgraphs', async () => {
+ mockAllServicesHealthCheckSuccess();
+
+ let healthCheckCallback: SubgraphHealthCheckFunction;
+ const supergraphSdl = getTestingSupergraphSdl();
+ gateway = new ApolloGateway({
+ async supergraphSdl({ healthCheck }) {
+ healthCheckCallback = healthCheck;
+ return {
+ supergraphSdl,
+ };
+ },
+ });
+
+ await gateway.load();
+ const { state, compositionId } = gateway.__testing();
+ expect(state.phase).toEqual('loaded');
+ expect(compositionId).toEqual(
+ 'd20cfb7a9c51179aa494ed9e98153f0042892bd225437af064bf1c1aa68eab86',
+ );
+
+ await expect(healthCheckCallback!(supergraphSdl)).resolves.toBeUndefined();
+ });
+
+ it('calls `initialize` on an object provided to `supergraphSdl`', async () => {
+ const MockSdlUpdatingClass = {
+ initialize() {
+ return Promise.resolve({
+ supergraphSdl: getTestingSupergraphSdl(),
+ });
+ },
+ };
+ const initializeSpy = jest.spyOn(MockSdlUpdatingClass, 'initialize');
+
+ gateway = new ApolloGateway({
+ supergraphSdl: MockSdlUpdatingClass,
+ });
+
+ expect(initializeSpy).not.toHaveBeenCalled();
+ await gateway.load();
+ expect(initializeSpy).toHaveBeenCalled();
+ });
+
+ describe('errors', () => {
+ it('fails to load if `SupergraphManager` throws on initialization', async () => {
+ const failureMessage = 'Error from supergraphSdl function';
+ gateway = new ApolloGateway({
+ async supergraphSdl() {
+ throw new Error(failureMessage);
+ },
+ logger,
+ });
+
+ await expect(gateway.load()).rejects.toThrowError(failureMessage);
+
+ expect(gateway.__testing().state.phase).toEqual('failed to load');
+ // we don't want the `afterEach` to call `gateway.stop()` in this case
+ // since it would throw an error due to the gateway's failed to load state
+ gateway = null;
+ });
+
+ it('gracefully handles Promise rejections from user `cleanup` function', async () => {
+ const rejectionMessage = 'thrown from cleanup function';
+ const cleanup = jest.fn(() => Promise.reject(rejectionMessage));
+ gateway = new ApolloGateway({
+ async supergraphSdl() {
+ return {
+ supergraphSdl: getTestingSupergraphSdl(),
+ cleanup,
+ };
+ },
+ logger,
+ });
+
+ await gateway.load();
+ await expect(gateway.stop()).resolves.toBeUndefined();
+ expect(cleanup).toHaveBeenCalledTimes(1);
+ expect(logger.error).toHaveBeenCalledWith(
+ 'Error occured while calling user provided `cleanup` function: ' +
+ rejectionMessage,
+ );
+ });
+
+ it('throws an error when `healthCheck` rejects', async () => {
+ // no mocks, so nock will reject
+ let healthCheckCallback: SubgraphHealthCheckFunction;
+ const supergraphSdl = getTestingSupergraphSdl();
+ gateway = new ApolloGateway({
+ async supergraphSdl({ healthCheck }) {
+ healthCheckCallback = healthCheck;
+ return {
+ supergraphSdl,
+ };
+ },
+ });
+
+ await gateway.load();
+ const { state, compositionId } = gateway.__testing();
+ expect(state.phase).toEqual('loaded');
+ expect(compositionId).toEqual(
+ 'd20cfb7a9c51179aa494ed9e98153f0042892bd225437af064bf1c1aa68eab86',
+ );
+
+ await expect(healthCheckCallback!(supergraphSdl)).rejects.toThrowError(
+ /The gateway subgraphs health check failed\. Updating to the provided `supergraphSdl` will likely result in future request failures to subgraphs\. The following error occurred during the health check/,
+ );
+ });
+
+ it('throws an error when `update` is called after gateway fails to load', async () => {
+ let updateCallback: SupergraphSdlUpdateFunction;
+ const supergraphSdl = getTestingSupergraphSdl();
+ gateway = new ApolloGateway({
+ async supergraphSdl({ update }) {
+ updateCallback = update;
+ return {
+ supergraphSdl: 'invalid SDL',
+ };
+ },
+ });
+
+ try {
+ await gateway.load();
+ } catch {}
+
+ expect(() =>
+ updateCallback!(supergraphSdl),
+ ).toThrowErrorMatchingInlineSnapshot(
+ `"Can't call \`update\` callback after gateway failed to load."`,
+ );
+
+ // gateway failed to load, so we don't want the `afterEach` to call `gateway.stop()`
+ gateway = null;
+ });
+
+ it('throws an error when `update` is called while an update is in progress', async () => {
+ let updateCallback: SupergraphSdlUpdateFunction;
+ const supergraphSdl = getTestingSupergraphSdl();
+ gateway = new ApolloGateway({
+ async supergraphSdl({ update }) {
+ updateCallback = update;
+ return {
+ supergraphSdl,
+ };
+ },
+ experimental_didUpdateSupergraph() {
+ updateCallback(getTestingSupergraphSdl(fixturesWithUpdate));
+ },
+ });
+
+ await expect(gateway.load()).rejects.toThrowErrorMatchingInlineSnapshot(
+ `"Can't call \`update\` callback while supergraph update is in progress."`,
+ );
+
+ // gateway failed to load, so we don't want the `afterEach` to call `gateway.stop()`
+ gateway = null;
+ });
+
+ it('throws an error when `update` is called after gateway is stopped', async () => {
+ let updateCallback: SupergraphSdlUpdateFunction;
+ const supergraphSdl = getTestingSupergraphSdl();
+ gateway = new ApolloGateway({
+ async supergraphSdl({ update }) {
+ updateCallback = update;
+ return {
+ supergraphSdl,
+ };
+ },
+ });
+
+ await gateway.load();
+ await gateway.stop();
+
+ expect(() =>
+ updateCallback!(getTestingSupergraphSdl(fixturesWithUpdate)),
+ ).toThrowErrorMatchingInlineSnapshot(
+ `"Can't call \`update\` callback after gateway has been stopped."`,
+ );
+ });
+
+ it('throws an error when `update` is called with an invalid supergraph', async () => {
+ let updateCallback: SupergraphSdlUpdateFunction;
+ const supergraphSdl = getTestingSupergraphSdl();
+ gateway = new ApolloGateway({
+ async supergraphSdl({ update }) {
+ updateCallback = update;
+ return {
+ supergraphSdl,
+ };
+ },
+ });
+
+ await gateway.load();
+
+ expect(() =>
+ updateCallback!('invalid SDL'),
+ ).toThrowErrorMatchingInlineSnapshot(
+ `"Syntax Error: Unexpected Name \\"invalid\\"."`,
+ );
+ });
+ });
+});
diff --git a/gateway-js/src/__tests__/integration/aliases.test.ts b/gateway-js/src/__tests__/integration/aliases.test.ts
index 727b90c1f..956c527f1 100644
--- a/gateway-js/src/__tests__/integration/aliases.test.ts
+++ b/gateway-js/src/__tests__/integration/aliases.test.ts
@@ -141,12 +141,17 @@ it('supports aliases of nested fields on subservices', async () => {
// TODO after we remove GraphQLExtensions from ApolloServer, this can go away
it('supports aliases when using ApolloServer', async () => {
+ const localDataSources = Object.fromEntries(
+ fixtures.map((f) => [
+ f.name,
+ new LocalGraphQLDataSource(buildSubgraphSchema(f)),
+ ]),
+ );
+
const gateway = new ApolloGateway({
localServiceList: fixtures,
- buildService: service => {
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore
- return new LocalGraphQLDataSource(buildSubgraphSchema([service]));
+ buildService(service) {
+ return localDataSources[service.name];
},
});
diff --git a/gateway-js/src/__tests__/integration/configuration.test.ts b/gateway-js/src/__tests__/integration/configuration.test.ts
index e333acd05..6db58bfdd 100644
--- a/gateway-js/src/__tests__/integration/configuration.test.ts
+++ b/gateway-js/src/__tests__/integration/configuration.test.ts
@@ -12,11 +12,11 @@ import {
mockCloudConfigUrl3,
} from './nockMocks';
import { getTestingSupergraphSdl } from '../execution-utils';
-import { MockService } from './networkRequests.test';
+import { fixtures, Fixture } from 'apollo-federation-integration-testsuite';
let logger: Logger;
-const service: MockService = {
+const service: Fixture = {
name: 'accounts',
url: 'http://localhost:4001',
typeDefs: gql`
@@ -327,14 +327,17 @@ describe('gateway config / env behavior', () => {
APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT: 'env-config',
});
- gateway = new ApolloGateway({
+ const config = {
logger,
uplinkEndpoints: [mockCloudConfigUrl1, mockCloudConfigUrl2, mockCloudConfigUrl3],
- });
+ };
+ gateway = new ApolloGateway(config);
- expect(gateway['uplinkEndpoints']).toEqual(
- [mockCloudConfigUrl1, mockCloudConfigUrl2, mockCloudConfigUrl3],
- );
+ expect(gateway['getUplinkEndpoints'](config)).toEqual([
+ mockCloudConfigUrl1,
+ mockCloudConfigUrl2,
+ mockCloudConfigUrl3,
+ ]);
gateway = null;
});
@@ -346,16 +349,110 @@ describe('gateway config / env behavior', () => {
APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT: 'env-config',
});
- gateway = new ApolloGateway({
+ const config = {
logger,
schemaConfigDeliveryEndpoint: 'code-config',
- });
+ };
+ gateway = new ApolloGateway(config);
- expect(gateway['uplinkEndpoints']).toEqual(
- ['code-config'],
- );
+ expect(gateway['getUplinkEndpoints'](config)).toEqual(['code-config']);
gateway = null;
});
});
});
+
+describe('deprecation warnings', () => {
+ it('warns with `experimental_updateSupergraphSdl` option set', async () => {
+ const gateway = new ApolloGateway({
+ async experimental_updateSupergraphSdl() {
+ return {
+ id: 'supergraph',
+ supergraphSdl: getTestingSupergraphSdl(),
+ };
+ },
+ logger,
+ });
+
+ await gateway.load();
+
+ expect(logger.warn).toHaveBeenCalledWith(
+ 'The `experimental_updateSupergraphSdl` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the function form of the `supergraphSdl` configuration option.',
+ );
+
+ await gateway.stop();
+ });
+
+ it('warns with `experimental_updateServiceDefinitions` option set', async () => {
+ const gateway = new ApolloGateway({
+ async experimental_updateServiceDefinitions() {
+ return {
+ isNewSchema: false,
+ };
+ },
+ logger,
+ });
+
+ try {
+ await gateway.load();
+ // gateway will throw since we're not providing an actual service list, disregard
+ } catch {}
+
+ expect(logger.warn).toHaveBeenCalledWith(
+ 'The `experimental_updateServiceDefinitions` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the function form of the `supergraphSdl` configuration option.',
+ );
+ });
+
+ it('warns with `serviceList` option set', async () => {
+ const gateway = new ApolloGateway({
+ serviceList: [{ name: 'accounts', url: 'http://localhost:4001' }],
+ logger,
+ });
+
+ try {
+ await gateway.load();
+ // gateway will throw since we haven't mocked these requests, unimportant for this test
+ } catch {}
+
+ expect(logger.warn).toHaveBeenCalledWith(
+ 'The `serviceList` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to its replacement `IntrospectAndCompose`. More information on `IntrospectAndCompose` can be found in the documentation.',
+ );
+ });
+
+ it('warns with `localServiceList` option set', async () => {
+ const gateway = new ApolloGateway({
+ localServiceList: fixtures,
+ logger,
+ });
+
+ await gateway.load();
+
+ expect(logger.warn).toHaveBeenCalledWith(
+ 'The `localServiceList` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the `LocalCompose` supergraph manager exported by `@apollo/gateway`.',
+ );
+
+ await gateway.stop();
+ });
+
+ it('warns with `schemaConfigDeliveryEndpoint` option set', async () => {
+ new ApolloGateway({
+ schemaConfigDeliveryEndpoint: 'test',
+ logger,
+ });
+
+ expect(logger.warn).toHaveBeenCalledWith(
+ 'The `schemaConfigDeliveryEndpoint` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the equivalent (array form) `uplinkEndpoints` configuration option.',
+ );
+ });
+
+ it('warns with `experimental_pollInterval` option set', async () => {
+ new ApolloGateway({
+ experimental_pollInterval: 10000,
+ logger,
+ });
+
+ expect(logger.warn).toHaveBeenCalledWith(
+ 'The `experimental_pollInterval` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the equivalent `pollIntervalInMs` configuration option.',
+ );
+ });
+});
diff --git a/gateway-js/src/__tests__/integration/logger.test.ts b/gateway-js/src/__tests__/integration/logger.test.ts
index 6ec71a72f..5c4eb58b3 100644
--- a/gateway-js/src/__tests__/integration/logger.test.ts
+++ b/gateway-js/src/__tests__/integration/logger.test.ts
@@ -10,7 +10,7 @@ import * as log4js from "log4js";
const LOWEST_LOG_LEVEL = "debug";
-const KNOWN_DEBUG_MESSAGE = "Checking for composition updates...";
+const KNOWN_DEBUG_MESSAGE = "Gateway successfully initialized (but not yet loaded)";
async function triggerKnownDebugMessage(logger: Logger) {
// Trigger a known error.
diff --git a/gateway-js/src/__tests__/integration/networkRequests.test.ts b/gateway-js/src/__tests__/integration/networkRequests.test.ts
index c7a5db829..79e6ecd20 100644
--- a/gateway-js/src/__tests__/integration/networkRequests.test.ts
+++ b/gateway-js/src/__tests__/integration/networkRequests.test.ts
@@ -1,5 +1,5 @@
import gql from 'graphql-tag';
-import { DocumentNode, GraphQLObjectType, GraphQLSchema } from 'graphql';
+import { GraphQLObjectType, GraphQLSchema } from 'graphql';
import mockedEnv from 'mocked-env';
import { Logger } from 'apollo-server-types';
import { ApolloGateway } from '../..';
@@ -19,6 +19,7 @@ import {
accounts,
books,
documents,
+ Fixture,
fixturesWithUpdate,
inventory,
product,
@@ -26,15 +27,9 @@ import {
} from 'apollo-federation-integration-testsuite';
import { getTestingSupergraphSdl } from '../execution-utils';
import { nockAfterEach, nockBeforeEach } from '../nockAssertions';
+import resolvable from '@josephg/resolvable';
-type GenericFunction = (...args: unknown[]) => unknown;
-export interface MockService {
- name: string;
- url: string;
- typeDefs: DocumentNode;
-}
-
-const simpleService: MockService = {
+const simpleService: Fixture = {
name: 'accounts',
url: 'http://localhost:4001',
typeDefs: gql`
@@ -138,29 +133,39 @@ it('Updates Supergraph SDL from remote storage', async () => {
// This test is only interested in the second time the gateway notifies of an
// update, since the first happens on load.
- let secondUpdateResolve: GenericFunction;
- const secondUpdate = new Promise((res) => (secondUpdateResolve = res));
- const schemaChangeCallback = jest
- .fn()
- .mockImplementationOnce(() => undefined)
- .mockImplementationOnce(() => {
- secondUpdateResolve();
- });
+ const secondUpdate = resolvable();
gateway = new ApolloGateway({
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
});
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
- gateway.onSchemaLoadOrUpdate(schemaChangeCallback);
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
+
+ const schemas: GraphQLSchema[] = [];
+ gateway.onSchemaLoadOrUpdate(({ apiSchema }) => {
+ schemas.push(apiSchema);
+ });
+ gateway.onSchemaLoadOrUpdate(
+ jest
+ .fn()
+ .mockImplementationOnce(() => {})
+ .mockImplementationOnce(() => secondUpdate.resolve()),
+ );
await gateway.load(mockApolloConfig);
- expect(gateway['compositionId']).toMatchInlineSnapshot(`"originalId-1234"`);
await secondUpdate;
- expect(gateway['compositionId']).toMatchInlineSnapshot(`"updatedId-5678"`);
+
+ // First schema has no 'review' field on the 'Query' type
+ expect(
+ (schemas[0].getType('Query') as GraphQLObjectType).getFields()['review'],
+ ).toBeFalsy();
+
+ // Updated schema adds 'review' field on the 'Query' type
+ expect(
+ (schemas[1].getType('Query') as GraphQLObjectType).getFields()['review'],
+ ).toBeTruthy();
});
describe('Supergraph SDL update failures', () => {
@@ -170,7 +175,7 @@ describe('Supergraph SDL update failures', () => {
gateway = new ApolloGateway({
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
- uplinkMaxRetries: 0
+ uplinkMaxRetries: 0,
});
await expect(
@@ -192,25 +197,23 @@ describe('Supergraph SDL update failures', () => {
mockSupergraphSdlRequestIfAfter('originalId-1234').reply(500);
// Spy on logger.error so we can just await once it's been called
- let errorLogged: GenericFunction;
- const errorLoggedPromise = new Promise((r) => (errorLogged = r));
- logger.error = jest.fn(() => errorLogged());
+ const errorLoggedPromise = resolvable();
+ logger.error = jest.fn(() => errorLoggedPromise.resolve());
gateway = new ApolloGateway({
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
- uplinkMaxRetries: 0
+ uplinkMaxRetries: 0,
});
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
await gateway.load(mockApolloConfig);
await errorLoggedPromise;
expect(logger.error).toHaveBeenCalledWith(
- 'An error occurred while fetching your schema from Apollo: 500 Internal Server Error',
+ 'UplinkFetcher failed to update supergraph with the following error: An error occurred while fetching your schema from Apollo: 500 Internal Server Error',
);
});
@@ -227,26 +230,22 @@ describe('Supergraph SDL update failures', () => {
});
// Spy on logger.error so we can just await once it's been called
- let errorLogged: GenericFunction;
- const errorLoggedPromise = new Promise((r) => (errorLogged = r));
- logger.error = jest.fn(() => errorLogged());
+ const errorLoggedPromise = resolvable();
+ logger.error = jest.fn(() => errorLoggedPromise.resolve());
gateway = new ApolloGateway({
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
- uplinkMaxRetries: 0
+ uplinkMaxRetries: 0,
});
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
await gateway.load(mockApolloConfig);
await errorLoggedPromise;
expect(logger.error).toHaveBeenCalledWith(
- 'An error occurred while fetching your schema from Apollo: ' +
- '\n' +
- 'Cannot query field "fail" on type "Query".',
+ `UplinkFetcher failed to update supergraph with the following error: An error occurred while fetching your schema from Apollo: \nCannot query field "fail" on type "Query".`,
);
});
@@ -266,23 +265,21 @@ describe('Supergraph SDL update failures', () => {
);
// Spy on logger.error so we can just await once it's been called
- let errorLogged: GenericFunction;
- const errorLoggedPromise = new Promise((r) => (errorLogged = r));
- logger.error = jest.fn(() => errorLogged());
+ const errorLoggedPromise = resolvable();
+ logger.error = jest.fn(() => errorLoggedPromise.resolve());
gateway = new ApolloGateway({
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
});
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
await gateway.load(mockApolloConfig);
await errorLoggedPromise;
expect(logger.error).toHaveBeenCalledWith(
- 'Syntax Error: Unexpected Name "Syntax".',
+ 'UplinkFetcher failed to update supergraph with the following error: Syntax Error: Unexpected Name "Syntax".',
);
expect(gateway.schema).toBeTruthy();
});
@@ -305,9 +302,8 @@ describe('Supergraph SDL update failures', () => {
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
});
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
await expect(
gateway.load(mockApolloConfig),
@@ -333,26 +329,22 @@ it('Rollsback to a previous schema when triggered', async () => {
);
mockSupergraphSdlRequestSuccessIfAfter('updatedId-5678');
- let firstResolve: GenericFunction;
- let secondResolve: GenericFunction;
- let thirdResolve: GenericFunction;
- const firstSchemaChangeBlocker = new Promise((res) => (firstResolve = res));
- const secondSchemaChangeBlocker = new Promise((res) => (secondResolve = res));
- const thirdSchemaChangeBlocker = new Promise((res) => (thirdResolve = res));
+ const firstSchemaChangeBlocker = resolvable();
+ const secondSchemaChangeBlocker = resolvable();
+ const thirdSchemaChangeBlocker = resolvable();
const onChange = jest
.fn()
- .mockImplementationOnce(() => firstResolve())
- .mockImplementationOnce(() => secondResolve())
- .mockImplementationOnce(() => thirdResolve());
+ .mockImplementationOnce(() => firstSchemaChangeBlocker.resolve())
+ .mockImplementationOnce(() => secondSchemaChangeBlocker.resolve())
+ .mockImplementationOnce(() => thirdSchemaChangeBlocker.resolve());
gateway = new ApolloGateway({
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
});
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
gateway.onSchemaChange(onChange);
await gateway.load(mockApolloConfig);
@@ -410,9 +402,8 @@ describe('Downstream service health checks', () => {
err = e;
}
- // TODO: smell that we should be awaiting something else
expect(err.message).toMatchInlineSnapshot(`
- "The gateway did not update its schema due to failed service health checks. The gateway will continue to operate with the previous schema and reattempt updates. The following error occurred during the health check:
+ "The gateway subgraphs health check failed. Updating to the provided \`supergraphSdl\` will likely result in future request failures to subgraphs. The following error occurred during the health check:
[accounts]: 500: Internal Server Error"
`);
@@ -436,9 +427,8 @@ describe('Downstream service health checks', () => {
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
});
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
await gateway.load(mockApolloConfig);
await gateway.stop();
@@ -478,7 +468,7 @@ describe('Downstream service health checks', () => {
// TODO: smell that we should be awaiting something else
expect(err.message).toMatchInlineSnapshot(`
- "The gateway did not update its schema due to failed service health checks. The gateway will continue to operate with the previous schema and reattempt updates. The following error occurred during the health check:
+ "The gateway subgraphs health check failed. Updating to the provided \`supergraphSdl\` will likely result in future request failures to subgraphs. The following error occurred during the health check:
[accounts]: 500: Internal Server Error"
`);
@@ -507,23 +497,20 @@ describe('Downstream service health checks', () => {
);
mockAllServicesHealthCheckSuccess();
- let resolve1: GenericFunction;
- let resolve2: GenericFunction;
- const schemaChangeBlocker1 = new Promise((res) => (resolve1 = res));
- const schemaChangeBlocker2 = new Promise((res) => (resolve2 = res));
+ const schemaChangeBlocker1 = resolvable();
+ const schemaChangeBlocker2 = resolvable();
const onChange = jest
.fn()
- .mockImplementationOnce(() => resolve1())
- .mockImplementationOnce(() => resolve2());
+ .mockImplementationOnce(() => schemaChangeBlocker1.resolve())
+ .mockImplementationOnce(() => schemaChangeBlocker2.resolve());
gateway = new ApolloGateway({
serviceHealthCheck: true,
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
});
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
gateway.onSchemaChange(onChange);
await gateway.load(mockApolloConfig);
@@ -541,6 +528,10 @@ describe('Downstream service health checks', () => {
});
it('Preserves original schema when health check fails', async () => {
+ const errorLoggedPromise = resolvable();
+ const errorSpy = jest.fn(() => errorLoggedPromise.resolve());
+ logger.error = errorSpy;
+
mockSupergraphSdlRequestSuccess();
mockAllServicesHealthCheckSuccess();
@@ -557,61 +548,16 @@ describe('Downstream service health checks', () => {
mockServiceHealthCheckSuccess(reviews);
mockServiceHealthCheckSuccess(documents);
- let resolve: GenericFunction;
- const schemaChangeBlocker = new Promise((res) => (resolve = res));
-
gateway = new ApolloGateway({
serviceHealthCheck: true,
logger,
uplinkEndpoints: [mockCloudConfigUrl1],
});
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, a short pollInterval is ideal so we'll override here
- gateway.experimental_pollInterval = 100;
-
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, we'll call the original `updateSchema`
- // function from our mock. The first call should mimic original behavior,
- // but the second call needs to handle the PromiseRejection. Typically for tests
- // like these we would leverage the `gateway.onSchemaChange` callback to drive
- // the test, but in this case, that callback isn't triggered when the update
- // fails (as expected) so we get creative with the second mock as seen below.
- const original = gateway.updateSchema;
- const mockUpdateSchema = jest
- .fn()
- .mockImplementationOnce(async () => {
- await original.apply(gateway);
- })
- .mockImplementationOnce(async () => {
- // mock the first poll and handle the error which would otherwise be caught
- // and logged from within the `pollServices` class method
-
- // This is the ideal, but our version of Jest has a bug with printing error snapshots.
- // See: https://github.com/facebook/jest/pull/10217 (fixed in v26.2.0)
- // expect(original.apply(gateway)).rejects.toThrowErrorMatchingInlineSnapshot(`
- // The gateway did not update its schema due to failed service health checks. The gateway will continue to operate with the previous schema and reattempt updates. The following error occurred during the health check:
- // [accounts]: 500: Internal Server Error"
- // `);
- // Instead we'll just use the regular snapshot matcher...
- let err;
- try {
- await original.apply(gateway);
- } catch (e) {
- err = e;
- }
-
- expect(err.message).toMatchInlineSnapshot(`
- "The gateway did not update its schema due to failed service health checks. The gateway will continue to operate with the previous schema and reattempt updates. The following error occurred during the health check:
- [accounts]: 500: Internal Server Error"
- `);
- // finally resolve the promise which drives this test
- resolve();
- });
-
- // eslint-disable-next-line
- // @ts-ignore for testing purposes, replace the `updateSchema`
- // function on the gateway with our mock
- gateway.updateSchema = mockUpdateSchema;
+ // for testing purposes, a short pollInterval is ideal so we'll override here
+ gateway['pollIntervalInMs'] = 100;
+
+ const updateSpy = jest.fn();
+ gateway.onSchemaLoadOrUpdate(() => updateSpy());
// load the gateway as usual
await gateway.load(mockApolloConfig);
@@ -620,11 +566,15 @@ describe('Downstream service health checks', () => {
expect(getRootQueryFields(gateway.schema)).toContain('topReviews');
expect(getRootQueryFields(gateway.schema)).not.toContain('review');
- await schemaChangeBlocker;
+ await errorLoggedPromise;
+ expect(logger.error).toHaveBeenCalledWith(
+ `UplinkFetcher failed to update supergraph with the following error: The gateway subgraphs health check failed. Updating to the provided \`supergraphSdl\` will likely result in future request failures to subgraphs. The following error occurred during the health check:\n[accounts]: 500: Internal Server Error`,
+ );
// At this point, the mock update should have been called but the schema
// should still be the original.
- expect(mockUpdateSchema).toHaveBeenCalledTimes(2);
+ expect(updateSpy).toHaveBeenCalledTimes(1);
+
expect(getRootQueryFields(gateway.schema)).toContain('topReviews');
expect(getRootQueryFields(gateway.schema)).not.toContain('review');
});
diff --git a/gateway-js/src/__tests__/integration/nockMocks.ts b/gateway-js/src/__tests__/integration/nockMocks.ts
index 278982574..6c5c17dc0 100644
--- a/gateway-js/src/__tests__/integration/nockMocks.ts
+++ b/gateway-js/src/__tests__/integration/nockMocks.ts
@@ -1,10 +1,9 @@
import nock from 'nock';
-import { MockService } from './networkRequests.test';
import { HEALTH_CHECK_QUERY, SERVICE_DEFINITION_QUERY } from '../..';
-import { SUPERGRAPH_SDL_QUERY } from '../../loadSupergraphSdlFromStorage';
+import { SUPERGRAPH_SDL_QUERY } from '../../supergraphManagers/UplinkFetcher/loadSupergraphSdlFromStorage';
import { getTestingSupergraphSdl } from '../../__tests__/execution-utils';
import { print } from 'graphql';
-import { fixtures } from 'apollo-federation-integration-testsuite';
+import { Fixture, fixtures as testingFixtures } from 'apollo-federation-integration-testsuite';
export const graphRef = 'federated-service@current';
export const apiKey = 'service:federated-service:DD71EBbGmsuh-6suUVDwnA';
@@ -19,31 +18,39 @@ export const mockApolloConfig = {
};
// Service mocks
-function mockSdlQuery({ url }: MockService) {
+function mockSdlQuery({ url }: Fixture) {
return nock(url).post('/', {
query: SERVICE_DEFINITION_QUERY,
});
}
-export function mockSdlQuerySuccess(service: MockService) {
+export function mockSdlQuerySuccess(service: Fixture) {
return mockSdlQuery(service).reply(200, {
data: { _service: { sdl: print(service.typeDefs) } },
});
}
-export function mockServiceHealthCheck({ url }: MockService) {
+export function mockAllServicesSdlQuerySuccess(
+ fixtures: Fixture[] = testingFixtures,
+) {
+ return fixtures.map((fixture) => mockSdlQuerySuccess(fixture));
+}
+
+export function mockServiceHealthCheck({ url }: Fixture) {
return nock(url).post('/', {
query: HEALTH_CHECK_QUERY,
});
}
-export function mockServiceHealthCheckSuccess(service: MockService) {
+export function mockServiceHealthCheckSuccess(service: Fixture) {
return mockServiceHealthCheck(service).reply(200, {
data: { __typename: 'Query' },
});
}
-export function mockAllServicesHealthCheckSuccess() {
+export function mockAllServicesHealthCheckSuccess(
+ fixtures: Fixture[] = testingFixtures,
+) {
return fixtures.map((fixture) =>
mockServiceHealthCheck(fixture).reply(200, {
data: { __typename: 'Query' },
diff --git a/gateway-js/src/config.ts b/gateway-js/src/config.ts
index 0b3428169..9976d6db9 100644
--- a/gateway-js/src/config.ts
+++ b/gateway-js/src/config.ts
@@ -1,7 +1,10 @@
-import { GraphQLError, GraphQLSchema } from "graphql";
-import { HeadersInit } from "node-fetch";
+import { GraphQLError, GraphQLSchema } from 'graphql';
+import { HeadersInit } from 'node-fetch';
import { fetch } from 'apollo-server-env';
-import { GraphQLRequestContextExecutionDidStart, Logger } from "apollo-server-types";
+import {
+ GraphQLRequestContextExecutionDidStart,
+ Logger,
+} from 'apollo-server-types';
import { GraphQLDataSource } from './datasources/types';
import { QueryPlan } from '@apollo/query-planner';
import { OperationContext } from './operationContext';
@@ -62,7 +65,7 @@ export type CompositionInfo =
| ServiceDefinitionCompositionInfo
| SupergraphSdlCompositionInfo;
-export type Experimental_DidUpdateCompositionCallback = (
+export type Experimental_DidUpdateSupergraphCallback = (
currentConfig: CompositionInfo,
previousConfig?: CompositionInfo,
) => void;
@@ -80,7 +83,9 @@ export interface SupergraphSdlUpdate {
supergraphSdl: string;
}
-export function isSupergraphSdlUpdate(update: CompositionUpdate): update is SupergraphSdlUpdate {
+export function isSupergraphSdlUpdate(
+ update: CompositionUpdate,
+): update is SupergraphSdlUpdate {
return 'supergraphSdl' in update;
}
@@ -119,71 +124,181 @@ interface GatewayConfigBase {
// experimental observability callbacks
experimental_didResolveQueryPlan?: Experimental_DidResolveQueryPlanCallback;
- experimental_didFailComposition?: Experimental_DidFailCompositionCallback;
- experimental_didUpdateComposition?: Experimental_DidUpdateCompositionCallback;
+ experimental_didUpdateSupergraph?: Experimental_DidUpdateSupergraphCallback;
+ /**
+ * @deprecated use `pollIntervalInMs` instead
+ */
experimental_pollInterval?: number;
+ pollIntervalInMs?: number;
experimental_approximateQueryPlanStoreMiB?: number;
experimental_autoFragmentization?: boolean;
fetcher?: typeof fetch;
serviceHealthCheck?: boolean;
}
-export interface RemoteGatewayConfig extends GatewayConfigBase {
+// TODO(trevor:removeServiceList)
+export interface ServiceListGatewayConfig extends GatewayConfigBase {
+ /**
+ * @deprecated: use `supergraphSdl: new IntrospectAndCompose(...)` instead
+ */
serviceList: ServiceEndpointDefinition[];
+ /**
+ * @deprecated: use `supergraphSdl: new IntrospectAndCompose(...)` instead
+ */
introspectionHeaders?:
| HeadersInit
- | ((service: ServiceEndpointDefinition) => Promise | HeadersInit);
+ | ((
+ service: ServiceEndpointDefinition,
+ ) => Promise | HeadersInit);
}
export interface ManagedGatewayConfig extends GatewayConfigBase {
/**
* This configuration option shouldn't be used unless by recommendation from
* Apollo staff.
+ *
+ * @deprecated: use `uplinkEndpoints` instead
+ */
+ schemaConfigDeliveryEndpoint?: string;
+ /**
+ * This defaults to:
+ * ['https://uplink.api.apollographql.com/', 'https://aws.uplink.api.apollographql.com/']
+ * The first URL points to GCP, the second to AWS. This option should most likely
+ * be left to default unless you have a specific reason to change it.
*/
- schemaConfigDeliveryEndpoint?: string; // deprecated
uplinkEndpoints?: string[];
uplinkMaxRetries?: number;
}
+// TODO(trevor:removeServiceList): migrate users to `supergraphSdl` function option
interface ManuallyManagedServiceDefsGatewayConfig extends GatewayConfigBase {
+ /**
+ * @deprecated: use `supergraphSdl` instead (either as a `SupergraphSdlHook` or `SupergraphManager`)
+ */
experimental_updateServiceDefinitions: Experimental_UpdateServiceDefinitions;
}
-interface ManuallyManagedSupergraphSdlGatewayConfig extends GatewayConfigBase {
- experimental_updateSupergraphSdl: Experimental_UpdateSupergraphSdl
+// TODO(trevor:removeServiceList): migrate users to `supergraphSdl` function option
+interface ExperimentalManuallyManagedSupergraphSdlGatewayConfig
+ extends GatewayConfigBase {
+ /**
+ * @deprecated: use `supergraphSdl` instead (either as a `SupergraphSdlHook` or `SupergraphManager`)
+ */
+ experimental_updateSupergraphSdl: Experimental_UpdateSupergraphSdl;
+}
+
+export function isManuallyManagedSupergraphSdlGatewayConfig(
+ config: GatewayConfig,
+): config is ManuallyManagedSupergraphSdlGatewayConfig {
+ return isSupergraphSdlHookConfig(config) || isSupergraphManagerConfig(config);
+}
+
+export type SupergraphSdlUpdateFunction = (
+ updatedSupergraphSdl: string,
+) => void;
+
+export type SubgraphHealthCheckFunction = (
+ supergraphSdl: string,
+) => Promise;
+
+export type GetDataSourceFunction = ({
+ name,
+ url,
+}: ServiceEndpointDefinition) => GraphQLDataSource;
+
+export interface SupergraphSdlHookOptions {
+ update: SupergraphSdlUpdateFunction;
+ healthCheck: SubgraphHealthCheckFunction;
+ getDataSource: GetDataSourceFunction;
+}
+export interface SupergraphSdlHook {
+ (options: SupergraphSdlHookOptions): Promise<{
+ supergraphSdl: string;
+ cleanup?: () => Promise;
+ }>;
+}
+
+export interface SupergraphManager {
+ initialize: SupergraphSdlHook;
+}
+
+type ManuallyManagedSupergraphSdlGatewayConfig =
+ | SupergraphSdlHookGatewayConfig
+ | SupergraphManagerGatewayConfig;
+
+export interface SupergraphSdlHookGatewayConfig extends GatewayConfigBase {
+ supergraphSdl: SupergraphSdlHook;
+}
+
+export interface SupergraphManagerGatewayConfig extends GatewayConfigBase {
+ supergraphSdl: SupergraphManager;
}
type ManuallyManagedGatewayConfig =
| ManuallyManagedServiceDefsGatewayConfig
- | ManuallyManagedSupergraphSdlGatewayConfig;
+ | ExperimentalManuallyManagedSupergraphSdlGatewayConfig
+ | ManuallyManagedSupergraphSdlGatewayConfig
+ // TODO(trevor:removeServiceList
+ | ServiceListGatewayConfig;
+// TODO(trevor:removeServiceList)
interface LocalGatewayConfig extends GatewayConfigBase {
+ /**
+ * @deprecated: use `supergraphSdl: new LocalCompose(...)` instead
+ */
localServiceList: ServiceDefinition[];
}
-interface SupergraphSdlGatewayConfig extends GatewayConfigBase {
+interface StaticSupergraphSdlGatewayConfig extends GatewayConfigBase {
supergraphSdl: string;
}
-export type StaticGatewayConfig = LocalGatewayConfig | SupergraphSdlGatewayConfig;
+export type StaticGatewayConfig =
+ | LocalGatewayConfig
+ | StaticSupergraphSdlGatewayConfig;
-type DynamicGatewayConfig =
-| ManagedGatewayConfig
-| RemoteGatewayConfig
-| ManuallyManagedGatewayConfig;
+export type DynamicGatewayConfig =
+ | ManagedGatewayConfig
+ | ManuallyManagedGatewayConfig;
export type GatewayConfig = StaticGatewayConfig | DynamicGatewayConfig;
-export function isLocalConfig(config: GatewayConfig): config is LocalGatewayConfig {
+// TODO(trevor:removeServiceList)
+export function isLocalConfig(
+ config: GatewayConfig,
+): config is LocalGatewayConfig {
return 'localServiceList' in config;
}
-export function isRemoteConfig(config: GatewayConfig): config is RemoteGatewayConfig {
+// TODO(trevor:removeServiceList)
+export function isServiceListConfig(
+ config: GatewayConfig,
+): config is ServiceListGatewayConfig {
return 'serviceList' in config;
}
-export function isSupergraphSdlConfig(config: GatewayConfig): config is SupergraphSdlGatewayConfig {
- return 'supergraphSdl' in config;
+export function isStaticSupergraphSdlConfig(
+ config: GatewayConfig,
+): config is StaticSupergraphSdlGatewayConfig {
+ return 'supergraphSdl' in config && typeof config.supergraphSdl === 'string';
+}
+
+export function isSupergraphSdlHookConfig(
+ config: GatewayConfig,
+): config is SupergraphSdlHookGatewayConfig {
+ return (
+ 'supergraphSdl' in config && typeof config.supergraphSdl === 'function'
+ );
+}
+
+export function isSupergraphManagerConfig(
+ config: GatewayConfig,
+): config is SupergraphManagerGatewayConfig {
+ return (
+ 'supergraphSdl' in config &&
+ typeof config.supergraphSdl === 'object' &&
+ 'initialize' in config.supergraphSdl
+ );
}
// A manually managed config means the user has provided a function which
@@ -192,8 +307,11 @@ export function isManuallyManagedConfig(
config: GatewayConfig,
): config is ManuallyManagedGatewayConfig {
return (
+ isManuallyManagedSupergraphSdlGatewayConfig(config) ||
'experimental_updateServiceDefinitions' in config ||
- 'experimental_updateSupergraphSdl' in config
+ 'experimental_updateSupergraphSdl' in config ||
+ // TODO(trevor:removeServiceList)
+ isServiceListConfig(config)
);
}
@@ -203,25 +321,16 @@ export function isManagedConfig(
): config is ManagedGatewayConfig {
return (
'schemaConfigDeliveryEndpoint' in config ||
- (!isRemoteConfig(config) &&
- !isLocalConfig(config) &&
- !isSupergraphSdlConfig(config) &&
+ 'uplinkEndpoints' in config ||
+ (!isLocalConfig(config) &&
+ !isStaticSupergraphSdlConfig(config) &&
!isManuallyManagedConfig(config))
);
}
// A static config is one which loads synchronously on start and never updates
-export function isStaticConfig(config: GatewayConfig): config is StaticGatewayConfig {
- return isLocalConfig(config) || isSupergraphSdlConfig(config);
-}
-
-// A dynamic config is one which loads asynchronously and (can) update via polling
-export function isDynamicConfig(
+export function isStaticConfig(
config: GatewayConfig,
-): config is DynamicGatewayConfig {
- return (
- isRemoteConfig(config) ||
- isManagedConfig(config) ||
- isManuallyManagedConfig(config)
- );
+): config is StaticGatewayConfig {
+ return isLocalConfig(config) || isStaticSupergraphSdlConfig(config);
}
diff --git a/gateway-js/src/index.ts b/gateway-js/src/index.ts
index 5fc54c616..00795bb25 100644
--- a/gateway-js/src/index.ts
+++ b/gateway-js/src/index.ts
@@ -13,16 +13,16 @@ import {
VariableDefinitionNode,
} from 'graphql';
import loglevel from 'loglevel';
-
import { buildOperationContext, OperationContext } from './operationContext';
import {
executeQueryPlan,
ServiceMap,
defaultFieldResolverWithAliasSupport,
} from './executeQueryPlan';
-
-import { getServiceDefinitionsFromRemoteEndpoint } from './loadServicesFromRemoteEndpoint';
-import { GraphQLDataSource, GraphQLDataSourceRequestKind } from './datasources/types';
+import {
+ GraphQLDataSource,
+ GraphQLDataSourceRequestKind,
+} from './datasources/types';
import { RemoteGraphQLDataSource } from './datasources/RemoteGraphQLDataSource';
import { getVariableValues } from 'graphql/execution/values';
import fetcher from 'make-fetch-happen';
@@ -37,37 +37,30 @@ import {
ServiceEndpointDefinition,
Experimental_DidFailCompositionCallback,
Experimental_DidResolveQueryPlanCallback,
- Experimental_DidUpdateCompositionCallback,
+ Experimental_DidUpdateSupergraphCallback,
Experimental_UpdateComposition,
CompositionInfo,
GatewayConfig,
- StaticGatewayConfig,
- RemoteGatewayConfig,
- ManagedGatewayConfig,
isManuallyManagedConfig,
isLocalConfig,
- isRemoteConfig,
+ isServiceListConfig,
isManagedConfig,
- isDynamicConfig,
- isStaticConfig,
- CompositionMetadata,
- isSupergraphSdlUpdate,
- isServiceDefinitionUpdate,
- ServiceDefinitionUpdate,
SupergraphSdlUpdate,
- CompositionUpdate,
+ isManuallyManagedSupergraphSdlGatewayConfig,
+ ManagedGatewayConfig,
+ isStaticSupergraphSdlConfig,
+ SupergraphManager,
} from './config';
-import {loadSupergraphSdlFromUplinks} from './loadSupergraphSdlFromStorage';
import { SpanStatusCode } from '@opentelemetry/api';
import { OpenTelemetrySpanNames, tracer } from './utilities/opentelemetry';
-
+import { createHash } from './utilities/createHash';
import {
- buildSupergraphSchema,
- operationFromDocument,
- Schema,
- ServiceDefinition,
-} from '@apollo/federation-internals';
-import { composeServices } from '@apollo/composition'
+ IntrospectAndCompose,
+ UplinkFetcher,
+ LegacyFetcher,
+ LocalCompose,
+} from './supergraphManagers';
+import { buildSupergraphSchema, operationFromDocument, Schema, ServiceDefinition } from '@apollo/federation-internals';
type DataSourceMap = {
[serviceName: string]: { url?: string; dataSource: GraphQLDataSource };
@@ -82,8 +75,6 @@ type WarnedStates = {
remoteWithLocalConfig?: boolean;
};
-export { ServiceDefinition } from '@apollo/federation-internals';
-
export function getDefaultFetcher() {
const { name, version } = require('../package.json');
return fetcher.defaults({
@@ -119,12 +110,7 @@ type GatewayState =
| { phase: 'loaded' }
| { phase: 'stopping'; stoppingDonePromise: Promise }
| { phase: 'stopped' }
- | {
- phase: 'waiting to poll';
- pollWaitTimer: NodeJS.Timer;
- doneWaiting: () => void;
- }
- | { phase: 'polling'; pollingDonePromise: Promise };
+ | { phase: 'updating schema' };
// We want to be compatible with `load()` as called by both AS2 and AS3, so we
// define its argument types ourselves instead of relying on imports.
@@ -175,39 +161,23 @@ export class ApolloGateway implements GraphQLService {
coreSupergraphSdl: string;
}) => void
>();
- private serviceDefinitions: ServiceDefinition[] = [];
- private compositionMetadata?: CompositionMetadata;
- private serviceSdlCache = new Map();
private warnedStates: WarnedStates = Object.create(null);
private queryPlanner?: QueryPlanner;
private supergraphSdl?: string;
private fetcher: typeof fetch;
private compositionId?: string;
private state: GatewayState;
- private errorReportingEndpoint: string | undefined =
- process.env.APOLLO_OUT_OF_BAND_REPORTER_ENDPOINT ?? undefined;
// Observe query plan, service info, and operation info prior to execution.
// The information made available here will give insight into the resulting
// query plan and the inputs that generated it.
private experimental_didResolveQueryPlan?: Experimental_DidResolveQueryPlanCallback;
- // Observe composition failures and the ServiceList that caused them. This
- // enables reporting any issues that occur during composition. Implementors
- // will be interested in addressing these immediately.
- private experimental_didFailComposition?: Experimental_DidFailCompositionCallback;
- // Used to communicated composition changes, and what definitions caused
- // those updates
- private experimental_didUpdateComposition?: Experimental_DidUpdateCompositionCallback;
- // Used for overriding the default service list fetcher. This should return
- // an array of ServiceDefinition. *This function must be awaited.*
- private updateServiceDefinitions: Experimental_UpdateComposition;
- // how often service defs should be loaded/updated (in ms)
- private experimental_pollInterval?: number;
- // Configure the endpoints by which gateway will access its precomposed schema.
- // * An array of URLs means use these endpoints to obtain schema, if one is unavailable then try the next.
- // * `undefined` means the gateway is not using managed federation
- private uplinkEndpoints?: string[];
- private uplinkMaxRetries?: number;
+ // Used to communicate supergraph updates
+ private experimental_didUpdateSupergraph?: Experimental_DidUpdateSupergraphCallback;
+ // how often service defs should be loaded/updated
+ private pollIntervalInMs?: number;
+ // Functions to call during gateway cleanup (when stop() is called)
+ private toDispose: (() => Promise)[] = [];
constructor(config?: GatewayConfig) {
this.config = {
@@ -227,54 +197,15 @@ export class ApolloGateway implements GraphQLService {
// set up experimental observability callbacks and config settings
this.experimental_didResolveQueryPlan =
config?.experimental_didResolveQueryPlan;
- this.experimental_didFailComposition =
- config?.experimental_didFailComposition;
- this.experimental_didUpdateComposition =
- config?.experimental_didUpdateComposition;
-
- this.experimental_pollInterval = config?.experimental_pollInterval;
-
- // 1. If config is set to a `string`, use it
- // 2. If the env var is set, use that
- // 3. If config is `undefined`, use the default uplink URLs
- if (isManagedConfig(this.config)) {
- const rawEndpointsString = process.env.APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT;
- const envEndpoints = rawEndpointsString?.split(",") ?? null;
-
- if (this.config.schemaConfigDeliveryEndpoint && !this.config.uplinkEndpoints) {
- this.uplinkEndpoints = [this.config.schemaConfigDeliveryEndpoint];
- } else {
- this.uplinkEndpoints = this.config.uplinkEndpoints ??
- envEndpoints ?? [
- 'https://uplink.api.apollographql.com/',
- 'https://aws.uplink.api.apollographql.com/'
- ];
- }
+ this.experimental_didUpdateSupergraph =
+ config?.experimental_didUpdateSupergraph;
- this.uplinkMaxRetries = this.config.uplinkMaxRetries ?? this.uplinkEndpoints.length * 3;
- }
+ this.pollIntervalInMs =
+ config?.pollIntervalInMs ?? config?.experimental_pollInterval;
- if (isManuallyManagedConfig(this.config)) {
- // Use the provided updater function if provided by the user, else default
- if ('experimental_updateSupergraphSdl' in this.config) {
- this.updateServiceDefinitions =
- this.config.experimental_updateSupergraphSdl;
- } else if ('experimental_updateServiceDefinitions' in this.config) {
- this.updateServiceDefinitions =
- this.config.experimental_updateServiceDefinitions;
- } else {
- throw Error(
- 'Programming error: unexpected manual configuration provided',
- );
- }
- } else {
- this.updateServiceDefinitions = this.loadServiceDefinitions;
- }
-
- if (isDynamicConfig(this.config)) {
- this.issueDynamicWarningsIfApplicable();
- }
+ this.issueConfigurationWarningsIfApplicable();
+ this.logger.debug('Gateway successfully initialized (but not yet loaded)');
this.state = { phase: 'initialized' };
}
@@ -309,25 +240,26 @@ export class ApolloGateway implements GraphQLService {
});
}
- private issueDynamicWarningsIfApplicable() {
+ private issueConfigurationWarningsIfApplicable() {
// Warn against a pollInterval of < 10s in managed mode and reset it to 10s
if (
isManagedConfig(this.config) &&
- this.config.experimental_pollInterval &&
- this.config.experimental_pollInterval < 10000
+ this.pollIntervalInMs &&
+ this.pollIntervalInMs < 10000
) {
- this.experimental_pollInterval = 10000;
+ this.pollIntervalInMs = 10000;
this.logger.warn(
'Polling Apollo services at a frequency of less than once per 10 ' +
'seconds (10000) is disallowed. Instead, the minimum allowed ' +
'pollInterval of 10000 will be used. Please reconfigure your ' +
- 'experimental_pollInterval accordingly. If this is problematic for ' +
+ '`pollIntervalInMs` accordingly. If this is problematic for ' +
'your team, please contact support.',
);
}
// Warn against using the pollInterval and a serviceList simultaneously
- if (this.config.experimental_pollInterval && isRemoteConfig(this.config)) {
+ // TODO(trevor:removeServiceList)
+ if (this.pollIntervalInMs && isServiceListConfig(this.config)) {
this.logger.warn(
'Polling running services is dangerous and not recommended in production. ' +
'Polling should only be used against a registry. ' +
@@ -347,12 +279,26 @@ export class ApolloGateway implements GraphQLService {
'are provided.',
);
}
+
+ if ('schemaConfigDeliveryEndpoint' in this.config) {
+ this.logger.warn(
+ 'The `schemaConfigDeliveryEndpoint` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the equivalent (array form) `uplinkEndpoints` configuration option.',
+ );
+ }
+
+ if ('experimental_pollInterval' in this.config) {
+ this.logger.warn(
+ 'The `experimental_pollInterval` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the equivalent `pollIntervalInMs` configuration option.',
+ );
+ }
}
public async load(options?: {
apollo?: ApolloConfigFromAS2Or3;
engine?: GraphQLServiceEngineConfig;
}) {
+ this.logger.debug('Loading gateway...');
+
if (this.state.phase !== 'initialized') {
throw Error(
`ApolloGateway.load called in surprising state ${this.state.phase}`,
@@ -378,40 +324,92 @@ export class ApolloGateway implements GraphQLService {
};
}
- // Before @apollo/gateway v0.23, ApolloGateway didn't expect stop() to be
- // called after it started. The only thing that stop() did at that point was
- // cancel the poll timer, and so to prevent that timer from keeping an
- // otherwise-finished Node process alive, ApolloGateway unconditionally
- // called unref() on that timeout. As part of making the ApolloGateway
- // lifecycle more predictable and concrete (and to allow for a future where
- // there are other reasons to make sure to explicitly stop your gateway),
- // v0.23 tries to avoid calling unref().
- //
- // Apollo Server v2.20 and newer calls gateway.stop() from its stop()
- // method, so as long as you're using v2.20, ApolloGateway won't keep
- // running after you stop your server, and your Node process can shut down.
- // To make this change a bit less backwards-incompatible, we detect if it
- // looks like you're using an older version of Apollo Server; if so, we
- // still call unref(). Specifically: Apollo Server has always passed an
- // options object to load(), and before v2.18 it did not pass the `apollo`
- // key on it. So if we detect that particular pattern, we assume we're with
- // pre-v2.18 Apollo Server and we still call unref(). So this will be a
- // behavior change only for:
- // - non-Apollo-Server uses of ApolloGateway (where you can add your own
- // call to gateway.stop())
- // - Apollo Server v2.18 and v2.19 (where you can either do the small
- // compatible upgrade or add your own call to gateway.stop())
- // - if you don't call stop() on your ApolloServer (but in that case other
- // things like usage reporting will also stop shutdown, so you should fix
- // that)
- const unrefTimer = !!options && !options.apollo;
-
this.maybeWarnOnConflictingConfig();
// Handles initial assignment of `this.schema`, `this.queryPlanner`
- isStaticConfig(this.config)
- ? this.loadStatic(this.config)
- : await this.loadDynamic(unrefTimer);
+ if (isStaticSupergraphSdlConfig(this.config)) {
+ const supergraphSdl = this.config.supergraphSdl;
+ await this.initializeSupergraphManager({
+ initialize: async () => {
+ return {
+ supergraphSdl,
+ };
+ },
+ });
+ } else if (isLocalConfig(this.config)) {
+ // TODO(trevor:removeServiceList)
+ await this.initializeSupergraphManager(
+ new LocalCompose({
+ localServiceList: this.config.localServiceList,
+ logger: this.logger,
+ }),
+ );
+ } else if (isManuallyManagedSupergraphSdlGatewayConfig(this.config)) {
+ const supergraphManager =
+ typeof this.config.supergraphSdl === 'object'
+ ? this.config.supergraphSdl
+ : { initialize: this.config.supergraphSdl };
+ await this.initializeSupergraphManager(supergraphManager);
+ } else if (
+ 'experimental_updateServiceDefinitions' in this.config ||
+ 'experimental_updateSupergraphSdl' in this.config
+ ) {
+ const updateServiceDefinitions =
+ 'experimental_updateServiceDefinitions' in this.config
+ ? this.config.experimental_updateServiceDefinitions
+ : this.config.experimental_updateSupergraphSdl;
+
+ await this.initializeSupergraphManager(
+ new LegacyFetcher({
+ logger: this.logger,
+ gatewayConfig: this.config,
+ updateServiceDefinitions,
+ pollIntervalInMs: this.pollIntervalInMs,
+ subgraphHealthCheck: this.config.serviceHealthCheck,
+ }),
+ );
+ } else if (isServiceListConfig(this.config)) {
+ // TODO(trevor:removeServiceList)
+ this.logger.warn(
+ 'The `serviceList` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to its replacement `IntrospectAndCompose`. More information on `IntrospectAndCompose` can be found in the documentation.',
+ );
+ await this.initializeSupergraphManager(
+ new IntrospectAndCompose({
+ subgraphs: this.config.serviceList,
+ pollIntervalInMs: this.pollIntervalInMs,
+ logger: this.logger,
+ subgraphHealthCheck: this.config.serviceHealthCheck,
+ introspectionHeaders: this.config.introspectionHeaders,
+ }),
+ );
+ } else {
+ // isManagedConfig(this.config)
+ const canUseManagedConfig =
+ this.apolloConfig?.graphRef && this.apolloConfig?.keyHash;
+ if (!canUseManagedConfig) {
+ throw new Error(
+ 'When a manual configuration is not provided, gateway requires an Apollo ' +
+ 'configuration. See https://www.apollographql.com/docs/apollo-server/federation/managed-federation/ ' +
+ 'for more information. Manual configuration options include: ' +
+ '`serviceList`, `supergraphSdl`, and `experimental_updateServiceDefinitions`.',
+ );
+ }
+ const uplinkEndpoints = this.getUplinkEndpoints(this.config);
+
+ await this.initializeSupergraphManager(
+ new UplinkFetcher({
+ graphRef: this.apolloConfig!.graphRef!,
+ apiKey: this.apolloConfig!.key!,
+ uplinkEndpoints,
+ maxRetries:
+ this.config.uplinkMaxRetries ?? uplinkEndpoints.length * 3,
+ subgraphHealthCheck: this.config.serviceHealthCheck,
+ fetcher: this.fetcher,
+ logger: this.logger,
+ pollIntervalInMs: this.pollIntervalInMs ?? 10000,
+ }),
+ );
+ }
const mode = isManagedConfig(this.config) ? 'managed' : 'unmanaged';
this.logger.info(
@@ -428,122 +426,148 @@ export class ApolloGateway implements GraphQLService {
};
}
- // Synchronously load a statically configured schema, update class instance's
- // schema and query planner.
- private loadStatic(config: StaticGatewayConfig) {
- let schema: Schema;
- let supergraphSdl: string;
- try {
- ({ schema, supergraphSdl } = isLocalConfig(config)
- ? this.createSchemaFromServiceList(config.localServiceList)
- : this.createSchemaFromSupergraphSdl(config.supergraphSdl));
- this.supergraphSdl = supergraphSdl;
- this.updateWithSchemaAndNotify(schema, supergraphSdl, true);
- } catch (e) {
- this.state = { phase: 'failed to load' };
- throw e;
- }
- this.state = { phase: 'loaded' };
+ private getUplinkEndpoints(config: ManagedGatewayConfig) {
+ /**
+ * Configuration priority order:
+ * 1. `uplinkEndpoints` configuration option
+ * 2. (deprecated) `schemaConfigDeliveryEndpoint` configuration option
+ * 3. APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT environment variable
+ * 4. default (GCP and AWS)
+ */
+ const rawEndpointsString =
+ process.env.APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT;
+ const envEndpoints = rawEndpointsString?.split(',') ?? null;
+ return (
+ config.uplinkEndpoints ??
+ (config.schemaConfigDeliveryEndpoint
+ ? [config.schemaConfigDeliveryEndpoint]
+ : null) ??
+ envEndpoints ?? [
+ 'https://uplink.api.apollographql.com/',
+ 'https://aws.uplink.api.apollographql.com/',
+ ]
+ );
}
- // Asynchronously load a dynamically configured schema. `this.updateSchema`
- // is responsible for updating the class instance's schema and query planner.
- private async loadDynamic(unrefTimer: boolean) {
+ private getIdForSupergraphSdl(supergraphSdl: string) {
+ return createHash('sha256').update(supergraphSdl).digest('hex');
+ }
+
+ private async initializeSupergraphManager(
+ supergraphManager: T,
+ ) {
try {
- await this.updateSchema();
+ const result = await supergraphManager.initialize({
+ update: this.externalSupergraphUpdateCallback.bind(this),
+ healthCheck: this.externalSubgraphHealthCheckCallback.bind(this),
+ getDataSource: this.externalGetDataSourceCallback.bind(this),
+ });
+ if (!result?.supergraphSdl) {
+ throw new Error(
+ 'Provided `supergraphSdl` function did not return an object containing a `supergraphSdl` property',
+ );
+ }
+ if (result?.cleanup) {
+ if (typeof result.cleanup === 'function') {
+ this.toDispose.push(result.cleanup);
+ } else {
+ this.logger.error(
+ 'Provided `supergraphSdl` function returned an invalid `cleanup` property (must be a function)',
+ );
+ }
+ }
+
+ this.externalSupergraphUpdateCallback(result.supergraphSdl);
} catch (e) {
this.state = { phase: 'failed to load' };
+ await this.performCleanupAndLogErrors();
throw e;
}
this.state = { phase: 'loaded' };
- if (this.shouldBeginPolling()) {
- this.pollServices(unrefTimer);
- }
}
- private shouldBeginPolling() {
- return isManagedConfig(this.config) || this.experimental_pollInterval;
- }
+ /**
+ * @throws Error
+ * when called from a state other than `loaded` or `intialized`
+ *
+ * @throws Error
+ * when the provided supergraphSdl is invalid
+ */
+ private externalSupergraphUpdateCallback(supergraphSdl: string) {
+ switch (this.state.phase) {
+ case 'failed to load':
+ throw new Error(
+ "Can't call `update` callback after gateway failed to load.",
+ );
+ case 'updating schema':
+ throw new Error(
+ "Can't call `update` callback while supergraph update is in progress.",
+ );
+ case 'stopped':
+ throw new Error(
+ "Can't call `update` callback after gateway has been stopped.",
+ );
+ case 'stopping':
+ throw new Error(
+ "Can't call `update` callback while gateway is stopping.",
+ );
+ case 'loaded':
+ case 'initialized':
+ // typical case
+ break;
+ default:
+ throw new UnreachableCaseError(this.state);
+ }
- private async updateSchema(): Promise {
- this.logger.debug('Checking for composition updates...');
+ this.state = { phase: 'updating schema' };
+ try {
+ this.updateWithSupergraphSdl({
+ supergraphSdl,
+ id: this.getIdForSupergraphSdl(supergraphSdl),
+ });
+ } finally {
+ // if update fails, we still want to go back to `loaded` state
+ this.state = { phase: 'loaded' };
+ }
+ }
- // This may throw, but an error here is caught and logged upstream
- const result = await this.updateServiceDefinitions(this.config);
+ /**
+ * @throws Error
+ * when any subgraph fails the health check
+ */
+ private async externalSubgraphHealthCheckCallback(supergraphSdl: string) {
+ const serviceList = this.serviceListFromSupergraphSdl(supergraphSdl);
+ // Here we need to construct new datasources based on the new schema info
+ // so we can check the health of the services we're _updating to_.
+ const serviceMap = serviceList.reduce((serviceMap, serviceDef) => {
+ serviceMap[serviceDef.name] = {
+ url: serviceDef.url,
+ dataSource: this.createDataSource(serviceDef),
+ };
+ return serviceMap;
+ }, Object.create(null) as DataSourceMap);
- if (isSupergraphSdlUpdate(result)) {
- await this.updateWithSupergraphSdl(result);
- } else if (isServiceDefinitionUpdate(result)) {
- await this.updateByComposition(result);
- } else {
+ try {
+ await this.serviceHealthCheck(serviceMap);
+ } catch (e) {
throw new Error(
- 'Programming error: unexpected result type from `updateServiceDefinitions`',
+ 'The gateway subgraphs health check failed. Updating to the provided ' +
+ '`supergraphSdl` will likely result in future request failures to ' +
+ 'subgraphs. The following error occurred during the health check:\n' +
+ e.message,
);
}
}
- private async updateByComposition(
- result: ServiceDefinitionUpdate,
- ): Promise {
- if (
- !result.serviceDefinitions ||
- JSON.stringify(this.serviceDefinitions) ===
- JSON.stringify(result.serviceDefinitions)
- ) {
- this.logger.debug('No change in service definitions since last check.');
- return;
- }
-
- const previousSchema = this.schema;
- const previousServiceDefinitions = this.serviceDefinitions;
- const previousCompositionMetadata = this.compositionMetadata;
-
- if (previousSchema) {
- this.logger.info('New service definitions were found.');
- }
-
- await this.maybePerformServiceHealthCheck(result);
-
- this.compositionMetadata = result.compositionMetadata;
- this.serviceDefinitions = result.serviceDefinitions;
-
- const { schema, supergraphSdl } = this.createSchemaFromServiceList(
- result.serviceDefinitions,
- );
-
- if (!supergraphSdl) {
- this.logger.error(
- "A valid schema couldn't be composed. Falling back to previous schema.",
- );
- } else {
- this.updateWithSchemaAndNotify(schema, supergraphSdl);
-
- if (this.experimental_didUpdateComposition) {
- this.experimental_didUpdateComposition(
- {
- serviceDefinitions: result.serviceDefinitions,
- schema: schema.toGraphQLJSSchema(),
- ...(this.compositionMetadata && {
- compositionMetadata: this.compositionMetadata,
- }),
- },
- previousServiceDefinitions &&
- previousSchema && {
- serviceDefinitions: previousServiceDefinitions,
- schema: previousSchema,
- ...(previousCompositionMetadata && {
- compositionMetadata: previousCompositionMetadata,
- }),
- },
- );
- }
- }
+ private externalGetDataSourceCallback({
+ name,
+ url,
+ }: ServiceEndpointDefinition) {
+ return this.getOrCreateDataSource({ name, url });
}
- private async updateWithSupergraphSdl(
- result: SupergraphSdlUpdate,
- ): Promise {
+ private updateWithSupergraphSdl(result: SupergraphSdlUpdate) {
if (result.id === this.compositionId) {
this.logger.debug('No change in composition since last check.');
return;
@@ -553,7 +577,9 @@ export class ApolloGateway implements GraphQLService {
// In the case that it throws, the gateway will:
// * on initial load, throw the error
// * on update, log the error and don't update
- const { schema, supergraphSdl } = this.createSchemaFromSupergraphSdl(result.supergraphSdl);
+ const { schema, supergraphSdl } = this.createSchemaFromSupergraphSdl(
+ result.supergraphSdl,
+ );
const previousSchema = this.schema;
const previousSupergraphSdl = this.supergraphSdl;
@@ -563,12 +589,9 @@ export class ApolloGateway implements GraphQLService {
this.logger.info('Updated Supergraph SDL was found.');
}
- await this.maybePerformServiceHealthCheck(result);
-
this.compositionId = result.id;
this.supergraphSdl = result.supergraphSdl;
-
if (!supergraphSdl) {
this.logger.error(
"A valid schema couldn't be composed. Falling back to previous schema.",
@@ -576,8 +599,8 @@ export class ApolloGateway implements GraphQLService {
} else {
this.updateWithSchemaAndNotify(schema, supergraphSdl);
- if (this.experimental_didUpdateComposition) {
- this.experimental_didUpdateComposition(
+ if (this.experimental_didUpdateSupergraph) {
+ this.experimental_didUpdateSupergraph(
{
compositionId: result.id,
supergraphSdl: result.supergraphSdl,
@@ -606,7 +629,9 @@ export class ApolloGateway implements GraphQLService {
): void {
if (this.queryPlanStore) this.queryPlanStore.flush();
this.apiSchema = coreSchema.toAPISchema();
- this.schema = wrapSchemaWithAliasResolver(this.apiSchema.toGraphQLJSSchema());
+ this.schema = wrapSchemaWithAliasResolver(
+ this.apiSchema.toGraphQLJSSchema(),
+ );
this.queryPlanner = new QueryPlanner(coreSchema);
// Notify onSchemaChange listeners of the updated schema
@@ -641,39 +666,6 @@ export class ApolloGateway implements GraphQLService {
});
}
- private async maybePerformServiceHealthCheck(update: CompositionUpdate) {
- // Run service health checks before we commit and update the new schema.
- // This is the last chance to bail out of a schema update.
- if (this.config.serviceHealthCheck) {
- const serviceList = isSupergraphSdlUpdate(update)
- ? // Parsing of the supergraph SDL could technically fail and throw here, but parseability has
- // already been confirmed slightly earlier in the code path
- this.serviceListFromSupergraphSdl(update.supergraphSdl)
- : // Existence of this is determined in advance with an early return otherwise
- update.serviceDefinitions!;
- // Here we need to construct new datasources based on the new schema info
- // so we can check the health of the services we're _updating to_.
- const serviceMap = serviceList.reduce((serviceMap, serviceDef) => {
- serviceMap[serviceDef.name] = {
- url: serviceDef.url,
- dataSource: this.createDataSource(serviceDef),
- };
- return serviceMap;
- }, Object.create(null) as DataSourceMap);
-
- try {
- await this.serviceHealthCheck(serviceMap);
- } catch (e) {
- throw new Error(
- 'The gateway did not update its schema due to failed service health checks. ' +
- 'The gateway will continue to operate with the previous schema and reattempt updates. ' +
- 'The following error occurred during the health check:\n' +
- e.message,
- );
- }
- }
- }
-
/**
* This can be used without an argument in order to perform an ad-hoc health check
* of the downstream services like so:
@@ -706,40 +698,9 @@ export class ApolloGateway implements GraphQLService {
);
}
- private createSchemaFromServiceList(serviceList: ServiceDefinition[]) {
- this.logger.debug(
- `Composing schema from service list: \n${serviceList
- .map(({ name, url }) => ` ${url || 'local'}: ${name}`)
- .join('\n')}`,
- );
-
- const compositionResult = composeServices(serviceList);
- const errors = compositionResult.errors;
- if (errors) {
- if (this.experimental_didFailComposition) {
- this.experimental_didFailComposition({
- errors,
- serviceList,
- ...(this.compositionMetadata && {
- compositionMetadata: this.compositionMetadata,
- }),
- });
- }
- throw Error(
- "A valid schema couldn't be composed. The following composition errors were found:\n" +
- errors.map((e) => '\t' + e.message).join('\n'),
- );
- } else {
- this.createServices(serviceList);
- this.logger.debug('Schema loaded and ready for execution');
- return {
- schema: compositionResult.schema,
- supergraphSdl: compositionResult.supergraphSdl,
- };
- }
- }
-
- private serviceListFromSupergraphSdl(supergraphSdl: string): Omit[] {
+ private serviceListFromSupergraphSdl(
+ supergraphSdl: string,
+ ): Omit[] {
return buildSupergraphSchema(supergraphSdl)[1];
}
@@ -779,93 +740,16 @@ export class ApolloGateway implements GraphQLService {
};
}
- // This function waits an appropriate amount, updates composition, and calls itself
- // again. Note that it is an async function whose Promise is not actually awaited;
- // it should never throw itself other than due to a bug in its state machine.
- private async pollServices(unrefTimer: boolean) {
- switch (this.state.phase) {
- case 'stopping':
- case 'stopped':
- case 'failed to load':
- return;
- case 'initialized':
- throw Error('pollServices should not be called before load!');
- case 'polling':
- throw Error(
- 'pollServices should not be called while in the middle of polling!',
- );
- case 'waiting to poll':
- throw Error(
- 'pollServices should not be called while already waiting to poll!',
- );
- case 'loaded':
- // This is the normal case.
- break;
- default:
- throw new UnreachableCaseError(this.state);
- }
-
- // Transition into 'waiting to poll' and set a timer. The timer resolves the
- // Promise we're awaiting here; note that calling stop() also can resolve
- // that Promise.
- await new Promise((doneWaiting) => {
- this.state = {
- phase: 'waiting to poll',
- doneWaiting,
- pollWaitTimer: setTimeout(() => {
- // Note that we might be in 'stopped', in which case we just do
- // nothing.
- if (this.state.phase == 'waiting to poll') {
- this.state.doneWaiting();
- }
- }, this.experimental_pollInterval || 10000),
- };
- if (unrefTimer) {
- this.state.pollWaitTimer.unref();
- }
- });
-
- // If we've been stopped, then we're done. The cast here is because TS
- // doesn't understand that this.state can change during the await
- // (https://github.com/microsoft/TypeScript/issues/9998).
- if ((this.state as GatewayState).phase !== 'waiting to poll') {
- return;
- }
-
- let pollingDone: () => void;
- this.state = {
- phase: 'polling',
- pollingDonePromise: new Promise((res) => {
- pollingDone = res;
- }),
- };
-
- try {
- await this.updateSchema();
- } catch (err) {
- this.logger.error((err && err.message) || err);
- }
-
- if (this.state.phase === 'polling') {
- // If we weren't stopped, we should transition back to the initial 'loading' state and trigger
- // another call to itself. (Do that in a setImmediate to avoid unbounded stack sizes.)
- this.state = { phase: 'loaded' };
- setImmediate(() => this.pollServices(unrefTimer));
- }
-
- // Whether we were stopped or not, let any concurrent stop() call finish.
- pollingDone!();
- }
-
- private createAndCacheDataSource(
+ private getOrCreateDataSource(
serviceDef: ServiceEndpointDefinition,
): GraphQLDataSource {
// If the DataSource has already been created, early return
if (
this.serviceMap[serviceDef.name] &&
serviceDef.url === this.serviceMap[serviceDef.name].url
- )
+ ) {
return this.serviceMap[serviceDef.name].dataSource;
+ }
const dataSource = this.createDataSource(serviceDef);
@@ -893,57 +777,8 @@ export class ApolloGateway implements GraphQLService {
private createServices(services: ServiceEndpointDefinition[]) {
for (const serviceDef of services) {
- this.createAndCacheDataSource(serviceDef);
- }
- }
-
- protected async loadServiceDefinitions(
- config: RemoteGatewayConfig | ManagedGatewayConfig,
- ): Promise {
- if (isRemoteConfig(config)) {
- const serviceList = config.serviceList.map((serviceDefinition) => ({
- ...serviceDefinition,
- dataSource: this.createAndCacheDataSource(serviceDefinition),
- }));
-
- return getServiceDefinitionsFromRemoteEndpoint({
- serviceList,
- async getServiceIntrospectionHeaders(service) {
- return typeof config.introspectionHeaders === 'function'
- ? await config.introspectionHeaders(service)
- : config.introspectionHeaders;
- },
- serviceSdlCache: this.serviceSdlCache,
- });
- }
-
- const canUseManagedConfig =
- this.apolloConfig?.graphRef && this.apolloConfig?.keyHash;
- if (!canUseManagedConfig) {
- throw new Error(
- 'When a manual configuration is not provided, gateway requires an Apollo ' +
- 'configuration. See https://www.apollographql.com/docs/apollo-server/federation/managed-federation/ ' +
- 'for more information. Manual configuration options include: ' +
- '`serviceList`, `supergraphSdl`, and `experimental_updateServiceDefinitions`.',
- );
+ this.getOrCreateDataSource(serviceDef);
}
-
- const result = await loadSupergraphSdlFromUplinks({
- graphRef: this.apolloConfig!.graphRef!,
- apiKey: this.apolloConfig!.key!,
- endpoints: this.uplinkEndpoints!,
- errorReportingEndpoint: this.errorReportingEndpoint,
- fetcher: this.fetcher,
- compositionId: this.compositionId ?? null,
- maxRetries: this.uplinkMaxRetries!,
- });
-
- return (
- result ?? {
- id: this.compositionId!,
- supergraphSdl: this.supergraphSdl!,
- }
- );
}
private maybeWarnOnConflictingConfig() {
@@ -1018,7 +853,11 @@ export class ApolloGateway implements GraphQLService {
OpenTelemetrySpanNames.PLAN,
(span) => {
try {
- const operation = operationFromDocument(this.apiSchema!, document, request.operationName);
+ const operation = operationFromDocument(
+ this.apiSchema!,
+ document,
+ request.operationName,
+ );
// TODO(#631): Can we be sure the query planner has been initialized here?
return this.queryPlanner!.buildQueryPlan(operation);
} catch (err) {
@@ -1158,9 +997,24 @@ export class ApolloGateway implements GraphQLService {
});
}
- // Stops all processes involved with the gateway (for now, just background
- // schema polling). Can be called multiple times safely. Once it (async)
- // returns, all gateway background activity will be finished.
+ private async performCleanupAndLogErrors() {
+ if (this.toDispose.length === 0) return;
+
+ await Promise.all(
+ this.toDispose.map((p) =>
+ p().catch((e) => {
+ this.logger.error(
+ 'Error occured while calling user provided `cleanup` function: ' +
+ (e.message ?? e),
+ );
+ }),
+ ),
+ );
+ this.toDispose = [];
+ }
+
+ // Stops all processes involved with the gateway. Can be called multiple times
+ // safely. Once it (async) returns, all gateway background activity will be finished.
public async stop() {
switch (this.state.phase) {
case 'initialized':
@@ -1183,40 +1037,31 @@ export class ApolloGateway implements GraphQLService {
}
return;
case 'loaded':
- this.state = { phase: 'stopped' }; // nothing to do (we're not polling)
- return;
- case 'waiting to poll': {
- // If we're waiting to poll, we can synchronously transition to fully stopped.
- // We will terminate the current pollServices call and it will succeed quickly.
- const doneWaiting = this.state.doneWaiting;
- clearTimeout(this.state.pollWaitTimer);
- this.state = { phase: 'stopped' };
- doneWaiting();
- return;
- }
- case 'polling': {
- // We're in the middle of running updateSchema. We need to go into 'stopping'
- // mode and let this run complete. First we set things up so that any concurrent
- // calls to stop() will wait until we let them finish. (Those concurrent calls shouldn't
- // just wait on pollingDonePromise themselves because we want to make sure we fully
- // transition to state='stopped' before the other call returns.)
- const pollingDonePromise = this.state.pollingDonePromise;
- let stoppingDone: () => void;
+ const stoppingDonePromise = this.performCleanupAndLogErrors();
this.state = {
phase: 'stopping',
- stoppingDonePromise: new Promise((res) => {
- stoppingDone = res;
- }),
+ stoppingDonePromise,
};
- await pollingDonePromise;
+ await stoppingDonePromise;
this.state = { phase: 'stopped' };
- stoppingDone!();
return;
+ case 'updating schema': {
+ throw Error(
+ "`ApolloGateway.stop` shouldn't be called from inside a schema change listener",
+ );
}
default:
throw new UnreachableCaseError(this.state);
}
}
+
+ public __testing() {
+ return {
+ state: this.state,
+ compositionId: this.compositionId,
+ supergraphSdl: this.supergraphSdl,
+ };
+ }
}
ApolloGateway.prototype.onSchemaChange = deprecate(
@@ -1263,11 +1108,22 @@ export {
ServiceMap,
Experimental_DidFailCompositionCallback,
Experimental_DidResolveQueryPlanCallback,
- Experimental_DidUpdateCompositionCallback,
+ Experimental_DidUpdateSupergraphCallback,
Experimental_UpdateComposition,
GatewayConfig,
ServiceEndpointDefinition,
+ ServiceDefinition,
CompositionInfo,
+ IntrospectAndCompose,
+ LocalCompose,
};
export * from './datasources';
+
+export {
+ SupergraphSdlUpdateFunction,
+ SubgraphHealthCheckFunction,
+ GetDataSourceFunction,
+ SupergraphSdlHook,
+ SupergraphManager
+} from './config';
diff --git a/gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/IntrospectAndCompose.test.ts b/gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/IntrospectAndCompose.test.ts
new file mode 100644
index 000000000..e135c660f
--- /dev/null
+++ b/gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/IntrospectAndCompose.test.ts
@@ -0,0 +1,370 @@
+import nock from 'nock';
+import {
+ fixtures,
+ fixturesWithUpdate,
+} from 'apollo-federation-integration-testsuite';
+import { nockBeforeEach, nockAfterEach } from '../../../__tests__/nockAssertions';
+import { RemoteGraphQLDataSource, ServiceEndpointDefinition } from '../../..';
+import { IntrospectAndCompose } from '..';
+import { mockAllServicesSdlQuerySuccess } from '../../../__tests__/integration/nockMocks';
+import { getTestingSupergraphSdl, wait } from '../../../__tests__/execution-utils';
+import resolvable from '@josephg/resolvable';
+import { Logger } from 'apollo-server-types';
+
+describe('IntrospectAndCompose', () => {
+ beforeEach(nockBeforeEach);
+ afterEach(nockAfterEach);
+
+ it('constructs', () => {
+ expect(
+ () =>
+ new IntrospectAndCompose({
+ subgraphs: fixtures,
+ }),
+ ).not.toThrow();
+ });
+
+ it('has an `initialize` property which is callable (simulating the gateway calling it)', async () => {
+ mockAllServicesSdlQuerySuccess();
+ const instance = new IntrospectAndCompose({ subgraphs: fixtures });
+ await expect(
+ instance.initialize({
+ update() {},
+ async healthCheck() {},
+ getDataSource({ url }) {
+ return new RemoteGraphQLDataSource({ url });
+ },
+ }),
+ ).resolves.toBeTruthy();
+ });
+
+ it('uses `GraphQLDataSource`s provided by the `buildService` function', async () => {
+ mockAllServicesSdlQuerySuccess();
+
+ const processSpies: jest.SpyInstance[] = [];
+ function getDataSourceSpy(definition: ServiceEndpointDefinition) {
+ const datasource = new RemoteGraphQLDataSource({
+ url: definition.url,
+ });
+ const processSpy = jest.spyOn(datasource, 'process');
+ processSpies.push(processSpy);
+ return datasource;
+ }
+
+ const instance = new IntrospectAndCompose({
+ subgraphs: fixtures,
+ });
+
+ await instance.initialize({
+ update() {},
+ async healthCheck() {},
+ getDataSource: getDataSourceSpy,
+ });
+
+ expect(processSpies.length).toBe(fixtures.length);
+ for (const processSpy of processSpies) {
+ expect(processSpy).toHaveBeenCalledTimes(1);
+ }
+ });
+
+ it('polls services when a `pollInterval` is set and stops when `cleanup` is called', async () => {
+ // This is mocked 4 times to include the initial load (followed by 3 polls)
+ // We need to alternate schemas, else the update will be ignored
+ mockAllServicesSdlQuerySuccess();
+ mockAllServicesSdlQuerySuccess(fixturesWithUpdate);
+ mockAllServicesSdlQuerySuccess();
+ mockAllServicesSdlQuerySuccess(fixturesWithUpdate);
+
+ const p1 = resolvable();
+ const p2 = resolvable();
+ const p3 = resolvable();
+
+ // `update` (below) is called each time we poll (and there's an update to
+ // the supergraph), so this is a reasonable hook into "when" the poll
+ // happens and drives this test cleanly with `Promise`s.
+ const updateSpy = jest
+ .fn()
+ .mockImplementationOnce(() => p1.resolve())
+ .mockImplementationOnce(() => p2.resolve())
+ .mockImplementationOnce(() => p3.resolve());
+
+ const instance = new IntrospectAndCompose({
+ subgraphs: fixtures,
+ pollIntervalInMs: 10,
+ });
+
+ const { cleanup } = await instance.initialize({
+ update(supergraphSdl) {
+ updateSpy(supergraphSdl);
+ },
+ async healthCheck() {},
+ getDataSource({ url }) {
+ return new RemoteGraphQLDataSource({ url });
+ },
+ });
+
+ await Promise.all([p1, p2, p3]);
+
+ expect(updateSpy).toHaveBeenCalledTimes(3);
+
+ // stop polling
+ await cleanup!();
+
+ expect(updateSpy).toHaveBeenCalledTimes(3);
+
+ // ensure we cancelled the timer
+ // @ts-ignore
+ expect(instance.timerRef).toBe(null);
+ });
+
+ // TODO: useFakeTimers (though I'm struggling to get this to work as expected)
+ it("doesn't call `update` when there's no change to the supergraph", async () => {
+ const fetcher =
+ jest.requireActual(
+ 'apollo-server-env',
+ ).fetch;
+
+ // mock for initial load and a few polls against an unchanging schema
+ mockAllServicesSdlQuerySuccess();
+ mockAllServicesSdlQuerySuccess();
+ mockAllServicesSdlQuerySuccess();
+ mockAllServicesSdlQuerySuccess();
+
+ const instance = new IntrospectAndCompose({
+ subgraphs: fixtures,
+ pollIntervalInMs: 100,
+ });
+
+ const updateSpy = jest.fn();
+ const { cleanup } = await instance.initialize({
+ update(supergraphSdl) {
+ updateSpy(supergraphSdl);
+ },
+ async healthCheck() {},
+ getDataSource({ url }) {
+ return new RemoteGraphQLDataSource({
+ url,
+ fetcher,
+ });
+ },
+ });
+
+ // let the instance poll through all the active mocks
+ // wouldn't need to do this if I could get fakeTimers working as expected
+ while (nock.activeMocks().length > 0) {
+ await wait(0);
+ }
+
+ await cleanup!();
+
+ expect(updateSpy).not.toHaveBeenCalled();
+ });
+
+ it('issues subgraph health checks when enabled (and polling)', async () => {
+ mockAllServicesSdlQuerySuccess();
+ mockAllServicesSdlQuerySuccess(fixturesWithUpdate);
+
+ const healthCheckPromiseOnLoad = resolvable();
+ const healthCheckPromiseOnUpdate = resolvable();
+
+ const healthCheckSpy = jest
+ .fn()
+ .mockImplementationOnce(() => healthCheckPromiseOnLoad.resolve())
+ .mockImplementationOnce(() => healthCheckPromiseOnUpdate.resolve());
+
+ const instance = new IntrospectAndCompose({
+ subgraphs: fixtures,
+ pollIntervalInMs: 10,
+ subgraphHealthCheck: true,
+ });
+
+ const { cleanup } = await instance.initialize({
+ update() {},
+ async healthCheck(supergraphSdl) {
+ healthCheckSpy(supergraphSdl);
+ },
+ getDataSource({ url }) {
+ return new RemoteGraphQLDataSource({ url });
+ },
+ });
+
+ await Promise.all([
+ healthCheckPromiseOnLoad,
+ healthCheckPromiseOnUpdate,
+ ]);
+
+ expect(healthCheckSpy).toHaveBeenNthCalledWith(
+ 1,
+ getTestingSupergraphSdl(fixtures),
+ );
+ expect(healthCheckSpy).toHaveBeenNthCalledWith(
+ 2,
+ getTestingSupergraphSdl(fixturesWithUpdate),
+ );
+
+ // stop polling
+ await cleanup!();
+ });
+
+ describe('errors', () => {
+ it('logs an error when `update` function throws', async () => {
+ const errorLoggedPromise = resolvable();
+
+ const errorSpy = jest.fn(() => {
+ errorLoggedPromise.resolve();
+ });
+ const logger: Logger = {
+ error: errorSpy,
+ debug() {},
+ info() {},
+ warn() {},
+ };
+
+ // mock successful initial load
+ mockAllServicesSdlQuerySuccess();
+
+ // mock first update
+ mockAllServicesSdlQuerySuccess(fixturesWithUpdate);
+
+ const instance = new IntrospectAndCompose({
+ subgraphs: fixtures,
+ pollIntervalInMs: 1000,
+ logger,
+ });
+
+ const thrownErrorMessage = 'invalid supergraph';
+ // simulate gateway throwing an error when `update` is called
+ const updateSpy = jest.fn().mockImplementationOnce(() => {
+ throw new Error(thrownErrorMessage);
+ });
+
+ const { cleanup } = await instance.initialize({
+ update: updateSpy,
+ async healthCheck() {},
+ getDataSource({ url }) {
+ return new RemoteGraphQLDataSource({ url });
+ },
+ });
+
+ await errorLoggedPromise;
+ // stop polling
+ await cleanup!();
+
+ expect(updateSpy).toHaveBeenCalledTimes(1);
+ expect(logger.error).toHaveBeenCalledTimes(1);
+ expect(logger.error).toHaveBeenCalledWith(
+ `IntrospectAndCompose failed to update supergraph with the following error: ${thrownErrorMessage}`,
+ );
+ });
+
+ it('fails to load when `healthCheck` function throws on startup', async () => {
+ mockAllServicesSdlQuerySuccess();
+
+ const expectedErrorMsg = 'error reaching subgraph';
+ const errorLoggedPromise = resolvable();
+ const errorSpy = jest.fn(() => {
+ errorLoggedPromise.resolve();
+ });
+ const logger: Logger = {
+ error: errorSpy,
+ debug() {},
+ info() {},
+ warn() {},
+ };
+
+ const updateSpy = jest.fn();
+
+ const instance = new IntrospectAndCompose({
+ subgraphs: fixtures,
+ pollIntervalInMs: 10,
+ subgraphHealthCheck: true,
+ logger,
+ });
+
+ await expect(
+ instance.initialize({
+ update() {
+ updateSpy();
+ },
+ async healthCheck() {
+ throw new Error(expectedErrorMsg);
+ },
+ getDataSource({ url }) {
+ return new RemoteGraphQLDataSource({ url });
+ },
+ }),
+ ).rejects.toThrowErrorMatchingInlineSnapshot(`"error reaching subgraph"`);
+
+ await errorLoggedPromise;
+
+ expect(errorSpy).toHaveBeenCalledWith(
+ `IntrospectAndCompose failed to update supergraph with the following error: ${expectedErrorMsg}`,
+ );
+ expect(updateSpy).not.toHaveBeenCalled();
+ });
+
+ it('does not attempt to update when `healthCheck` function throws', async () => {
+ mockAllServicesSdlQuerySuccess();
+ mockAllServicesSdlQuerySuccess(fixturesWithUpdate);
+
+ const expectedErrorMsg = 'error reaching subgraph';
+ const errorLoggedPromise = resolvable();
+ const errorSpy = jest.fn(() => {
+ errorLoggedPromise.resolve();
+ });
+ const logger: Logger = {
+ error: errorSpy,
+ debug() {},
+ info() {},
+ warn() {},
+ };
+
+ const healthCheckPromiseOnLoad = resolvable();
+ const healthCheckPromiseOnUpdate = resolvable();
+ const healthCheckSpyWhichEventuallyThrows = jest
+ .fn()
+ .mockImplementationOnce(() => healthCheckPromiseOnLoad.resolve())
+ .mockImplementationOnce(() => {
+ healthCheckPromiseOnUpdate.resolve();
+ throw new Error(expectedErrorMsg);
+ });
+
+ const updateSpy = jest.fn();
+
+ const instance = new IntrospectAndCompose({
+ subgraphs: fixtures,
+ pollIntervalInMs: 10,
+ subgraphHealthCheck: true,
+ logger,
+ });
+
+ const { cleanup } = await instance.initialize({
+ update() {
+ updateSpy();
+ },
+ async healthCheck(supergraphSdl) {
+ healthCheckSpyWhichEventuallyThrows(supergraphSdl);
+ },
+ getDataSource({ url }) {
+ return new RemoteGraphQLDataSource({ url });
+ },
+ });
+
+ await Promise.all([
+ healthCheckPromiseOnLoad,
+ healthCheckPromiseOnUpdate,
+ errorLoggedPromise,
+ ]);
+
+ expect(errorSpy).toHaveBeenCalledWith(
+ `IntrospectAndCompose failed to update supergraph with the following error: ${expectedErrorMsg}`,
+ );
+ expect(healthCheckSpyWhichEventuallyThrows).toHaveBeenCalledTimes(2);
+ // update isn't called on load so this shouldn't be called even once
+ expect(updateSpy).not.toHaveBeenCalled();
+
+ // stop polling
+ await cleanup!();
+ });
+ });
+});
diff --git a/gateway-js/src/__tests__/loadServicesFromRemoteEndpoint.test.ts b/gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/loadServicesFromRemoteEndpoint.test.ts
similarity index 82%
rename from gateway-js/src/__tests__/loadServicesFromRemoteEndpoint.test.ts
rename to gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/loadServicesFromRemoteEndpoint.test.ts
index f0059edd2..c13a5d131 100644
--- a/gateway-js/src/__tests__/loadServicesFromRemoteEndpoint.test.ts
+++ b/gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/loadServicesFromRemoteEndpoint.test.ts
@@ -1,13 +1,13 @@
-import { getServiceDefinitionsFromRemoteEndpoint } from '../loadServicesFromRemoteEndpoint';
-import { RemoteGraphQLDataSource } from '../datasources';
+import { loadServicesFromRemoteEndpoint } from '../loadServicesFromRemoteEndpoint';
+import { RemoteGraphQLDataSource } from '../../../datasources';
-describe('getServiceDefinitionsFromRemoteEndpoint', () => {
+describe('loadServicesFromRemoteEndpoint', () => {
it('errors when no URL was specified', async () => {
const serviceSdlCache = new Map();
const dataSource = new RemoteGraphQLDataSource({ url: '' });
const serviceList = [{ name: 'test', dataSource }];
await expect(
- getServiceDefinitionsFromRemoteEndpoint({
+ loadServicesFromRemoteEndpoint({
serviceList,
serviceSdlCache,
getServiceIntrospectionHeaders: async () => ({})
@@ -28,7 +28,7 @@ describe('getServiceDefinitionsFromRemoteEndpoint', () => {
// of `EAI_AGAIN` or `ENOTFOUND`. This `toThrowError` uses a Regex
// to match either case.
await expect(
- getServiceDefinitionsFromRemoteEndpoint({
+ loadServicesFromRemoteEndpoint({
serviceList,
serviceSdlCache,
getServiceIntrospectionHeaders: async () => ({}),
diff --git a/gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/tsconfig.json b/gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/tsconfig.json
new file mode 100644
index 000000000..12ae429d6
--- /dev/null
+++ b/gateway-js/src/supergraphManagers/IntrospectAndCompose/__tests__/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../../../tsconfig.test",
+ "include": ["**/*"],
+ "references": [
+ { "path": "../../../../" },
+ { "path": "../../../../../federation-integration-testsuite-js" },
+ ]
+}
diff --git a/gateway-js/src/supergraphManagers/IntrospectAndCompose/index.ts b/gateway-js/src/supergraphManagers/IntrospectAndCompose/index.ts
new file mode 100644
index 000000000..82228bed4
--- /dev/null
+++ b/gateway-js/src/supergraphManagers/IntrospectAndCompose/index.ts
@@ -0,0 +1,160 @@
+import { Logger } from 'apollo-server-types';
+import { HeadersInit } from 'node-fetch';
+import resolvable from '@josephg/resolvable';
+import {
+ ServiceEndpointDefinition,
+ SupergraphSdlUpdateFunction,
+ SubgraphHealthCheckFunction,
+} from '../..';
+import {
+ loadServicesFromRemoteEndpoint,
+ Service,
+} from './loadServicesFromRemoteEndpoint';
+import { SupergraphManager, SupergraphSdlHookOptions } from '../../config';
+import { composeServices } from '@apollo/composition';
+import { ServiceDefinition } from '@apollo/federation-internals';
+
+export interface IntrospectAndComposeOptions {
+ subgraphs: ServiceEndpointDefinition[];
+ introspectionHeaders?:
+ | HeadersInit
+ | ((
+ service: ServiceEndpointDefinition,
+ ) => Promise | HeadersInit);
+ pollIntervalInMs?: number;
+ logger?: Logger;
+ subgraphHealthCheck?: boolean;
+}
+
+type State =
+ | { phase: 'initialized' }
+ | { phase: 'polling'; pollingPromise?: Promise }
+ | { phase: 'stopped' };
+
+export class IntrospectAndCompose implements SupergraphManager {
+ private config: IntrospectAndComposeOptions;
+ private update?: SupergraphSdlUpdateFunction;
+ private healthCheck?: SubgraphHealthCheckFunction;
+ private subgraphs?: Service[];
+ private serviceSdlCache: Map = new Map();
+ private timerRef: NodeJS.Timeout | null = null;
+ private state: State;
+
+ constructor(options: IntrospectAndComposeOptions) {
+ this.config = options;
+ this.state = { phase: 'initialized' };
+ }
+
+ public async initialize({ update, getDataSource, healthCheck }: SupergraphSdlHookOptions) {
+ this.update = update;
+
+ if (this.config.subgraphHealthCheck) {
+ this.healthCheck = healthCheck;
+ }
+
+ this.subgraphs = this.config.subgraphs.map((subgraph) => ({
+ ...subgraph,
+ dataSource: getDataSource(subgraph),
+ }));
+
+ let initialSupergraphSdl: string | null = null;
+ try {
+ initialSupergraphSdl = await this.updateSupergraphSdl();
+ } catch (e) {
+ this.logUpdateFailure(e);
+ throw e;
+ }
+
+ // Start polling after we resolve the first supergraph
+ if (this.config.pollIntervalInMs) {
+ this.beginPolling();
+ }
+
+ return {
+ // on init, this supergraphSdl should never actually be `null`.
+ // `this.updateSupergraphSdl()` will only return null if the schema hasn't
+ // changed over the course of an _update_.
+ supergraphSdl: initialSupergraphSdl!,
+ cleanup: async () => {
+ if (this.state.phase === 'polling') {
+ await this.state.pollingPromise;
+ }
+ this.state = { phase: 'stopped' };
+ if (this.timerRef) {
+ clearTimeout(this.timerRef);
+ this.timerRef = null;
+ }
+ },
+ };
+ }
+
+ private async updateSupergraphSdl() {
+ const result = await loadServicesFromRemoteEndpoint({
+ serviceList: this.subgraphs!,
+ getServiceIntrospectionHeaders: async (service) => {
+ return typeof this.config.introspectionHeaders === 'function'
+ ? await this.config.introspectionHeaders(service)
+ : this.config.introspectionHeaders;
+ },
+ serviceSdlCache: this.serviceSdlCache,
+ });
+
+ if (!result.isNewSchema) {
+ return null;
+ }
+
+ const supergraphSdl = this.createSupergraphFromSubgraphList(result.serviceDefinitions!);
+ // the healthCheck fn is only assigned if it's enabled in the config
+ await this.healthCheck?.(supergraphSdl);
+
+ return supergraphSdl;
+ }
+
+ private createSupergraphFromSubgraphList(subgraphs: ServiceDefinition[]) {
+ const compositionResult = composeServices(subgraphs);
+
+ if (compositionResult.errors) {
+ const { errors } = compositionResult;
+ throw Error(
+ "A valid schema couldn't be composed. The following composition errors were found:\n" +
+ errors.map((e) => '\t' + e.message).join('\n'),
+ );
+ } else {
+ const { supergraphSdl } = compositionResult;
+ return supergraphSdl;
+ }
+ }
+
+ private beginPolling() {
+ this.state = { phase: 'polling' };
+ this.poll();
+ }
+
+ private poll() {
+ this.timerRef = setTimeout(async () => {
+ if (this.state.phase === 'polling') {
+ const pollingPromise = resolvable();
+
+ this.state.pollingPromise = pollingPromise;
+ try {
+ const maybeNewSupergraphSdl = await this.updateSupergraphSdl();
+ if (maybeNewSupergraphSdl) {
+ this.update?.(maybeNewSupergraphSdl);
+ }
+ } catch (e) {
+ this.logUpdateFailure(e);
+ }
+ pollingPromise.resolve();
+ }
+
+ this.poll();
+ }, this.config.pollIntervalInMs!);
+ }
+
+ private logUpdateFailure(e: any) {
+ this.config.logger?.error(
+ 'IntrospectAndCompose failed to update supergraph with the following error: ' +
+ (e.message ?? e),
+ );
+ }
+}
diff --git a/gateway-js/src/loadServicesFromRemoteEndpoint.ts b/gateway-js/src/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.ts
similarity index 88%
rename from gateway-js/src/loadServicesFromRemoteEndpoint.ts
rename to gateway-js/src/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.ts
index 19e7ce5d1..b357c83a7 100644
--- a/gateway-js/src/loadServicesFromRemoteEndpoint.ts
+++ b/gateway-js/src/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.ts
@@ -1,16 +1,16 @@
import { GraphQLRequest } from 'apollo-server-types';
import { parse } from 'graphql';
import { Headers, HeadersInit } from 'node-fetch';
-import { GraphQLDataSource, GraphQLDataSourceRequestKind } from './datasources/types';
-import { SERVICE_DEFINITION_QUERY } from './';
-import { CompositionUpdate, ServiceEndpointDefinition } from './config';
import { ServiceDefinition } from '@apollo/federation-internals';
+import { GraphQLDataSource, GraphQLDataSourceRequestKind } from '../../datasources/types';
+import { SERVICE_DEFINITION_QUERY } from '../..';
+import { ServiceDefinitionUpdate, ServiceEndpointDefinition } from '../../config';
-type Service = ServiceEndpointDefinition & {
+export type Service = ServiceEndpointDefinition & {
dataSource: GraphQLDataSource;
};
-export async function getServiceDefinitionsFromRemoteEndpoint({
+export async function loadServicesFromRemoteEndpoint({
serviceList,
getServiceIntrospectionHeaders,
serviceSdlCache,
@@ -20,7 +20,7 @@ export async function getServiceDefinitionsFromRemoteEndpoint({
service: ServiceEndpointDefinition,
) => Promise;
serviceSdlCache: Map;
-}): Promise {
+}): Promise {
if (!serviceList || !serviceList.length) {
throw new Error(
'Tried to load services from remote endpoints but none provided',
diff --git a/gateway-js/src/supergraphManagers/LegacyFetcher/index.ts b/gateway-js/src/supergraphManagers/LegacyFetcher/index.ts
new file mode 100644
index 000000000..76e836642
--- /dev/null
+++ b/gateway-js/src/supergraphManagers/LegacyFetcher/index.ts
@@ -0,0 +1,226 @@
+/**
+ * Similar in concept to `IntrospectAndCompose`, but this handles
+ * the `experimental_updateComposition` and `experimental_updateSupergraphSdl`
+ * configuration options of the gateway and will be removed in a future release
+ * along with those options.
+ */
+import { Logger } from 'apollo-server-types';
+import resolvable from '@josephg/resolvable';
+import {
+ SupergraphManager,
+ SupergraphSdlHookOptions,
+ DynamicGatewayConfig,
+ isSupergraphSdlUpdate,
+ isServiceDefinitionUpdate,
+ ServiceDefinitionUpdate,
+ GetDataSourceFunction,
+} from '../../config';
+import {
+ Experimental_UpdateComposition,
+ SubgraphHealthCheckFunction,
+ SupergraphSdlUpdateFunction,
+} from '../..';
+import { composeServices } from '@apollo/composition';
+import { ServiceDefinition } from '@apollo/federation-internals';
+
+export interface LegacyFetcherOptions {
+ pollIntervalInMs?: number;
+ logger?: Logger;
+ subgraphHealthCheck?: boolean;
+ updateServiceDefinitions: Experimental_UpdateComposition;
+ gatewayConfig: DynamicGatewayConfig;
+}
+
+type State =
+ | { phase: 'initialized' }
+ | { phase: 'polling'; pollingPromise?: Promise }
+ | { phase: 'stopped' };
+
+export class LegacyFetcher implements SupergraphManager {
+ private config: LegacyFetcherOptions;
+ private update?: SupergraphSdlUpdateFunction;
+ private healthCheck?: SubgraphHealthCheckFunction;
+ private getDataSource?: GetDataSourceFunction;
+ private timerRef: NodeJS.Timeout | null = null;
+ private state: State;
+ private compositionId?: string;
+ private serviceDefinitions?: ServiceDefinition[];
+
+ constructor(options: LegacyFetcherOptions) {
+ this.config = options;
+ this.state = { phase: 'initialized' };
+ this.issueDeprecationWarnings();
+ }
+
+ private issueDeprecationWarnings() {
+ if ('experimental_updateSupergraphSdl' in this.config.gatewayConfig) {
+ this.config.logger?.warn(
+ 'The `experimental_updateSupergraphSdl` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the function form of the `supergraphSdl` configuration option.',
+ );
+ }
+
+ if ('experimental_updateServiceDefinitions' in this.config.gatewayConfig) {
+ this.config.logger?.warn(
+ 'The `experimental_updateServiceDefinitions` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the function form of the `supergraphSdl` configuration option.',
+ );
+ }
+ }
+
+ public async initialize({
+ update,
+ healthCheck,
+ getDataSource,
+ }: SupergraphSdlHookOptions) {
+ this.update = update;
+ this.getDataSource = getDataSource;
+
+ if (this.config.subgraphHealthCheck) {
+ this.healthCheck = healthCheck;
+ }
+
+ let initialSupergraphSdl: string | null = null;
+ try {
+ initialSupergraphSdl = await this.updateSupergraphSdl();
+ } catch (e) {
+ this.logUpdateFailure(e);
+ throw e;
+ }
+
+ // Start polling after we resolve the first supergraph
+ if (this.config.pollIntervalInMs) {
+ this.beginPolling();
+ }
+
+ return {
+ // on init, this supergraphSdl should never actually be `null`.
+ // `this.updateSupergraphSdl()` will only return null if the schema hasn't
+ // changed over the course of an _update_.
+ supergraphSdl: initialSupergraphSdl!,
+ cleanup: async () => {
+ if (this.state.phase === 'polling') {
+ await this.state.pollingPromise;
+ }
+ this.state = { phase: 'stopped' };
+ if (this.timerRef) {
+ clearTimeout(this.timerRef);
+ this.timerRef = null;
+ }
+ },
+ };
+ }
+
+ private async updateSupergraphSdl() {
+ const result = await this.config.updateServiceDefinitions(
+ this.config.gatewayConfig,
+ );
+
+ if (isSupergraphSdlUpdate(result)) {
+ // no change
+ if (this.compositionId === result.id) return null;
+
+ await this.healthCheck?.(result.supergraphSdl);
+ this.compositionId = result.id;
+ return result.supergraphSdl;
+ } else if (isServiceDefinitionUpdate(result)) {
+ const supergraphSdl = this.updateByComposition(result);
+ if (!supergraphSdl) return null;
+ await this.healthCheck?.(supergraphSdl);
+ return supergraphSdl;
+ } else {
+ throw new Error(
+ 'Programming error: unexpected result type from `updateServiceDefinitions`',
+ );
+ }
+ }
+
+ private updateByComposition(result: ServiceDefinitionUpdate) {
+ if (
+ !result.serviceDefinitions ||
+ JSON.stringify(this.serviceDefinitions) ===
+ JSON.stringify(result.serviceDefinitions)
+ ) {
+ this.config.logger?.debug(
+ 'No change in service definitions since last check.',
+ );
+ return null;
+ }
+
+ if (this.serviceDefinitions) {
+ this.config.logger?.info('New service definitions were found.');
+ }
+
+ this.serviceDefinitions = result.serviceDefinitions;
+
+ const supergraphSdl = this.createSupergraphFromServiceList(
+ result.serviceDefinitions,
+ );
+
+ if (!supergraphSdl) {
+ throw new Error(
+ "A valid schema couldn't be composed. Falling back to previous schema.",
+ );
+ } else {
+ return supergraphSdl;
+ }
+ }
+
+ private createSupergraphFromServiceList(serviceList: ServiceDefinition[]) {
+ this.config.logger?.debug(
+ `Composing schema from service list: \n${serviceList
+ .map(({ name, url }) => ` ${url || 'local'}: ${name}`)
+ .join('\n')}`,
+ );
+
+ const compositionResult = composeServices(serviceList);
+
+ if (compositionResult.errors) {
+ const { errors } = compositionResult;
+ throw Error(
+ "A valid schema couldn't be composed. The following composition errors were found:\n" +
+ errors.map((e) => '\t' + e.message).join('\n'),
+ );
+ } else {
+ const { supergraphSdl } = compositionResult;
+ for (const service of serviceList) {
+ this.getDataSource?.(service);
+ }
+
+ this.config.logger?.debug('Schema loaded and ready for execution');
+
+ return supergraphSdl;
+ }
+ }
+
+ private beginPolling() {
+ this.state = { phase: 'polling' };
+ this.poll();
+ }
+
+ private poll() {
+ this.timerRef = setTimeout(async () => {
+ if (this.state.phase === 'polling') {
+ const pollingPromise = resolvable();
+
+ this.state.pollingPromise = pollingPromise;
+ try {
+ const maybeNewSupergraphSdl = await this.updateSupergraphSdl();
+ if (maybeNewSupergraphSdl) {
+ this.update?.(maybeNewSupergraphSdl);
+ }
+ } catch (e) {
+ this.logUpdateFailure(e);
+ }
+ pollingPromise.resolve();
+ }
+
+ this.poll();
+ }, this.config.pollIntervalInMs!);
+ }
+
+ private logUpdateFailure(e: any) {
+ this.config.logger?.error(
+ 'UplinkFetcher failed to update supergraph with the following error: ' +
+ (e.message ?? e),
+ );
+ }
+}
diff --git a/gateway-js/src/supergraphManagers/LocalCompose/index.ts b/gateway-js/src/supergraphManagers/LocalCompose/index.ts
new file mode 100644
index 000000000..75342df7e
--- /dev/null
+++ b/gateway-js/src/supergraphManagers/LocalCompose/index.ts
@@ -0,0 +1,79 @@
+// TODO(trevor:removeServiceList) the whole file goes away
+import { Logger } from 'apollo-server-types';
+import { composeServices } from '@apollo/composition';
+import {
+ GetDataSourceFunction,
+ SupergraphSdlHookOptions,
+ SupergraphManager,
+} from '../../config';
+import { ServiceDefinition } from '@apollo/federation-internals';
+
+export interface LocalComposeOptions {
+ logger?: Logger;
+ localServiceList: ServiceDefinition[];
+}
+
+export class LocalCompose implements SupergraphManager {
+ private config: LocalComposeOptions;
+ private getDataSource?: GetDataSourceFunction;
+
+ constructor(options: LocalComposeOptions) {
+ this.config = options;
+ this.issueDeprecationWarnings();
+ }
+
+ private issueDeprecationWarnings() {
+ this.config.logger?.warn(
+ 'The `localServiceList` option is deprecated and will be removed in a future version of `@apollo/gateway`. Please migrate to the `LocalCompose` supergraph manager exported by `@apollo/gateway`.',
+ );
+ }
+
+ public async initialize({ getDataSource }: SupergraphSdlHookOptions) {
+ this.getDataSource = getDataSource;
+ let supergraphSdl: string | null = null;
+ try {
+ supergraphSdl = this.createSupergraphFromServiceList(
+ this.config.localServiceList,
+ );
+ } catch (e) {
+ this.logUpdateFailure(e);
+ throw e;
+ }
+ return {
+ supergraphSdl,
+ };
+ }
+
+ private createSupergraphFromServiceList(serviceList: ServiceDefinition[]) {
+ this.config.logger?.debug(
+ `Composing schema from service list: \n${serviceList
+ .map(({ name, url }) => ` ${url || 'local'}: ${name}`)
+ .join('\n')}`,
+ );
+
+ const compositionResult = composeServices(serviceList);
+ const errors = compositionResult.errors;
+ if (errors) {
+ throw Error(
+ "A valid schema couldn't be composed. The following composition errors were found:\n" +
+ errors.map((e) => '\t' + e.message).join('\n'),
+ );
+ } else {
+ const { supergraphSdl } = compositionResult;
+ for (const service of serviceList) {
+ this.getDataSource?.(service);
+ }
+
+ this.config.logger?.debug('Schema loaded and ready for execution');
+
+ return supergraphSdl;
+ }
+ }
+
+ private logUpdateFailure(e: any) {
+ this.config.logger?.error(
+ 'UplinkFetcher failed to update supergraph with the following error: ' +
+ (e.message ?? e),
+ );
+ }
+}
diff --git a/gateway-js/src/__tests__/loadSupergraphSdlFromStorage.test.ts b/gateway-js/src/supergraphManagers/UplinkFetcher/__tests__/loadSupergraphSdlFromStorage.test.ts
similarity index 97%
rename from gateway-js/src/__tests__/loadSupergraphSdlFromStorage.test.ts
rename to gateway-js/src/supergraphManagers/UplinkFetcher/__tests__/loadSupergraphSdlFromStorage.test.ts
index efd3140e6..77d4e27a2 100644
--- a/gateway-js/src/__tests__/loadSupergraphSdlFromStorage.test.ts
+++ b/gateway-js/src/supergraphManagers/UplinkFetcher/__tests__/loadSupergraphSdlFromStorage.test.ts
@@ -2,7 +2,7 @@ import {
loadSupergraphSdlFromStorage,
loadSupergraphSdlFromUplinks
} from '../loadSupergraphSdlFromStorage';
-import { getDefaultFetcher } from '../..';
+import { getDefaultFetcher } from '../../..';
import {
graphRef,
apiKey,
@@ -14,9 +14,9 @@ import {
mockSupergraphSdlRequestSuccess,
mockSupergraphSdlRequestIfAfterUnchanged,
mockSupergraphSdlRequestIfAfter
-} from './integration/nockMocks';
-import { getTestingSupergraphSdl } from "./execution-utils";
-import { nockAfterEach, nockBeforeEach } from './nockAssertions';
+} from '../../../__tests__/integration/nockMocks';
+import { getTestingSupergraphSdl } from "../../../__tests__/execution-utils";
+import { nockAfterEach, nockBeforeEach } from '../../../__tests__/nockAssertions';
describe('loadSupergraphSdlFromStorage', () => {
beforeEach(nockBeforeEach);
diff --git a/gateway-js/src/supergraphManagers/UplinkFetcher/__tests__/tsconfig.json b/gateway-js/src/supergraphManagers/UplinkFetcher/__tests__/tsconfig.json
new file mode 100644
index 000000000..12ae429d6
--- /dev/null
+++ b/gateway-js/src/supergraphManagers/UplinkFetcher/__tests__/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../../../tsconfig.test",
+ "include": ["**/*"],
+ "references": [
+ { "path": "../../../../" },
+ { "path": "../../../../../federation-integration-testsuite-js" },
+ ]
+}
diff --git a/gateway-js/src/supergraphManagers/UplinkFetcher/index.ts b/gateway-js/src/supergraphManagers/UplinkFetcher/index.ts
new file mode 100644
index 000000000..cd079e58c
--- /dev/null
+++ b/gateway-js/src/supergraphManagers/UplinkFetcher/index.ts
@@ -0,0 +1,128 @@
+import { fetch } from 'apollo-server-env';
+import { Logger } from 'apollo-server-types';
+import resolvable from '@josephg/resolvable';
+import { SupergraphManager, SupergraphSdlHookOptions } from '../../config';
+import { SubgraphHealthCheckFunction, SupergraphSdlUpdateFunction } from '../..';
+import { loadSupergraphSdlFromUplinks } from './loadSupergraphSdlFromStorage';
+
+export interface UplinkFetcherOptions {
+ pollIntervalInMs: number;
+ subgraphHealthCheck?: boolean;
+ graphRef: string;
+ apiKey: string;
+ fetcher: typeof fetch;
+ maxRetries: number;
+ uplinkEndpoints: string[];
+ logger?: Logger;
+}
+
+type State =
+ | { phase: 'initialized' }
+ | { phase: 'polling'; pollingPromise?: Promise }
+ | { phase: 'stopped' };
+
+export class UplinkFetcher implements SupergraphManager {
+ private config: UplinkFetcherOptions;
+ private update?: SupergraphSdlUpdateFunction;
+ private healthCheck?: SubgraphHealthCheckFunction;
+ private timerRef: NodeJS.Timeout | null = null;
+ private state: State;
+ private errorReportingEndpoint: string | undefined =
+ process.env.APOLLO_OUT_OF_BAND_REPORTER_ENDPOINT ?? undefined;
+ private compositionId?: string;
+
+ constructor(options: UplinkFetcherOptions) {
+ this.config = options;
+ this.state = { phase: 'initialized' };
+ }
+
+ public async initialize({ update, healthCheck }: SupergraphSdlHookOptions) {
+ this.update = update;
+
+ if (this.config.subgraphHealthCheck) {
+ this.healthCheck = healthCheck;
+ }
+
+ let initialSupergraphSdl: string | null = null;
+ try {
+ initialSupergraphSdl = await this.updateSupergraphSdl();
+ } catch (e) {
+ this.logUpdateFailure(e);
+ throw e;
+ }
+
+ // Start polling after we resolve the first supergraph
+ this.beginPolling();
+
+ return {
+ // on init, this supergraphSdl should never actually be `null`.
+ // `this.updateSupergraphSdl()` will only return null if the schema hasn't
+ // changed over the course of an _update_.
+ supergraphSdl: initialSupergraphSdl!,
+ cleanup: async () => {
+ if (this.state.phase === 'polling') {
+ await this.state.pollingPromise;
+ }
+ this.state = { phase: 'stopped' };
+ if (this.timerRef) {
+ clearTimeout(this.timerRef);
+ this.timerRef = null;
+ }
+ },
+ };
+ }
+
+ private async updateSupergraphSdl() {
+ const result = await loadSupergraphSdlFromUplinks({
+ graphRef: this.config.graphRef,
+ apiKey: this.config.apiKey,
+ endpoints: this.config.uplinkEndpoints,
+ errorReportingEndpoint: this.errorReportingEndpoint,
+ fetcher: this.config.fetcher,
+ compositionId: this.compositionId ?? null,
+ maxRetries: this.config.maxRetries,
+ });
+
+ if (!result) {
+ return null;
+ } else {
+ this.compositionId = result.id;
+ // the healthCheck fn is only assigned if it's enabled in the config
+ await this.healthCheck?.(result.supergraphSdl);
+ return result.supergraphSdl;
+ }
+ }
+
+ private beginPolling() {
+ this.state = { phase: 'polling' };
+ this.poll();
+ }
+
+ private poll() {
+ this.timerRef = setTimeout(async () => {
+ if (this.state.phase === 'polling') {
+ const pollingPromise = resolvable();
+
+ this.state.pollingPromise = pollingPromise;
+ try {
+ const maybeNewSupergraphSdl = await this.updateSupergraphSdl();
+ if (maybeNewSupergraphSdl) {
+ this.update?.(maybeNewSupergraphSdl);
+ }
+ } catch (e) {
+ this.logUpdateFailure(e);
+ }
+ pollingPromise.resolve();
+ }
+
+ this.poll();
+ }, this.config.pollIntervalInMs);
+ }
+
+ private logUpdateFailure(e: any) {
+ this.config.logger?.error(
+ 'UplinkFetcher failed to update supergraph with the following error: ' +
+ (e.message ?? e),
+ );
+ }
+}
diff --git a/gateway-js/src/loadSupergraphSdlFromStorage.ts b/gateway-js/src/supergraphManagers/UplinkFetcher/loadSupergraphSdlFromStorage.ts
similarity index 96%
rename from gateway-js/src/loadSupergraphSdlFromStorage.ts
rename to gateway-js/src/supergraphManagers/UplinkFetcher/loadSupergraphSdlFromStorage.ts
index 9bac8a2f6..e12352ea7 100644
--- a/gateway-js/src/loadSupergraphSdlFromStorage.ts
+++ b/gateway-js/src/supergraphManagers/UplinkFetcher/loadSupergraphSdlFromStorage.ts
@@ -1,8 +1,8 @@
import { fetch, Response, Request } from 'apollo-server-env';
import { GraphQLError } from 'graphql';
-import { SupergraphSdlUpdate } from './config';
+import { SupergraphSdlUpdate } from '../../config';
import { submitOutOfBandReportIfConfigured } from './outOfBandReporter';
-import { SupergraphSdlQuery } from './__generated__/graphqlTypes';
+import { SupergraphSdlQuery } from '../../__generated__/graphqlTypes';
// Magic /* GraphQL */ comment below is for codegen, do not remove
export const SUPERGRAPH_SDL_QUERY = /* GraphQL */`#graphql
@@ -35,7 +35,7 @@ interface SupergraphSdlQueryFailure {
errors: GraphQLError[];
}
-const { name, version } = require('../package.json');
+const { name, version } = require('../../../package.json');
const fetchErrorMsg = "An error occurred while fetching your schema from Apollo: ";
diff --git a/gateway-js/src/outOfBandReporter.ts b/gateway-js/src/supergraphManagers/UplinkFetcher/outOfBandReporter.ts
similarity index 96%
rename from gateway-js/src/outOfBandReporter.ts
rename to gateway-js/src/supergraphManagers/UplinkFetcher/outOfBandReporter.ts
index a9dd28ffe..b75196464 100644
--- a/gateway-js/src/outOfBandReporter.ts
+++ b/gateway-js/src/supergraphManagers/UplinkFetcher/outOfBandReporter.ts
@@ -4,7 +4,7 @@ import {
ErrorCode,
OobReportMutation,
OobReportMutationVariables,
-} from './__generated__/graphqlTypes';
+} from '../../__generated__/graphqlTypes';
// Magic /* GraphQL */ comment below is for codegen, do not remove
export const OUT_OF_BAND_REPORTER_QUERY = /* GraphQL */`#graphql
@@ -13,7 +13,7 @@ export const OUT_OF_BAND_REPORTER_QUERY = /* GraphQL */`#graphql
}
`;
-const { name, version } = require('../package.json');
+const { name, version } = require('../../../package.json');
type OobReportMutationResult =
| OobReportMutationSuccess
diff --git a/gateway-js/src/supergraphManagers/index.ts b/gateway-js/src/supergraphManagers/index.ts
new file mode 100644
index 000000000..da7ee9c16
--- /dev/null
+++ b/gateway-js/src/supergraphManagers/index.ts
@@ -0,0 +1,4 @@
+export { LocalCompose } from './LocalCompose';
+export { LegacyFetcher } from './LegacyFetcher';
+export { IntrospectAndCompose } from './IntrospectAndCompose';
+export { UplinkFetcher } from './UplinkFetcher';
diff --git a/gateway-js/src/utilities/createHash.ts b/gateway-js/src/utilities/createHash.ts
new file mode 100644
index 000000000..a7cf0ab82
--- /dev/null
+++ b/gateway-js/src/utilities/createHash.ts
@@ -0,0 +1,10 @@
+import isNodeLike from './isNodeLike';
+
+export function createHash (kind: string): import('crypto').Hash {
+ if (isNodeLike) {
+ // Use module.require instead of just require to avoid bundling whatever
+ // crypto polyfills a non-Node bundler might fall back to.
+ return module.require('crypto').createHash(kind);
+ }
+ return require('sha.js')(kind);
+}
diff --git a/gateway-js/src/utilities/isNodeLike.ts b/gateway-js/src/utilities/isNodeLike.ts
new file mode 100644
index 000000000..e5fa3a222
--- /dev/null
+++ b/gateway-js/src/utilities/isNodeLike.ts
@@ -0,0 +1,11 @@
+export default typeof process === 'object' &&
+ process &&
+ // We used to check `process.release.name === "node"`, however that doesn't
+ // account for certain forks of Node.js which are otherwise identical to
+ // Node.js. For example, NodeSource's N|Solid reports itself as "nsolid",
+ // though it's mostly the same build of Node.js with an extra addon.
+ process.release &&
+ process.versions &&
+ // The one thing which is present on both Node.js and N|Solid (a fork of
+ // Node.js), is `process.versions.node` being defined.
+ typeof process.versions.node === 'string';
diff --git a/package-lock.json b/package-lock.json
index c30cf8e7f..68f1f1cc5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,6 +24,7 @@
"@graphql-codegen/typescript": "2.4.2",
"@graphql-codegen/typescript-operations": "2.2.2",
"@iarna/toml": "2.2.5",
+ "@josephg/resolvable": "^1.0.1",
"@opentelemetry/node": "0.24.0",
"@rollup/plugin-commonjs": "21.0.1",
"@rollup/plugin-json": "4.1.0",
@@ -101,6 +102,7 @@
"@apollo/composition": "file:../composition-js",
"@apollo/core-schema": "^0.2.0",
"@apollo/query-planner": "file:../query-planner-js",
+ "@josephg/resolvable": "^1.0.1",
"@opentelemetry/api": "^1.0.1",
"@types/node-fetch": "2.5.12",
"apollo-reporting-protobuf": "^0.8.0 || ^3.0.0",
@@ -112,7 +114,8 @@
"apollo-utilities": "^1.3.0",
"loglevel": "^1.6.1",
"make-fetch-happen": "^8.0.0",
- "pretty-format": "^27.0.0"
+ "pretty-format": "^27.0.0",
+ "sha.js": "^2.4.11"
},
"engines": {
"node": ">=12.13.0 <17.0"
@@ -137,6 +140,26 @@
"graphql": "^15.7.0"
}
},
+ "harmonizer/node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "harmonizer/node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"internals-js": {
"name": "@apollo/federation-internals",
"version": "2.0.0-alpha.3",
@@ -198,61 +221,19 @@
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@apollo/client/node_modules/@wry/equality": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.2.tgz",
- "integrity": "sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==",
- "dev": true,
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@apollo/client/node_modules/symbol-observable": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
- "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/@apollo/client/node_modules/ts-invariant": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.4.tgz",
- "integrity": "sha512-63jtX/ZSwnUNi/WhXjnK8kz4cHHpYS60AnmA6ixz17l7E12a5puCWFlNpkne5Rl0J8TBPVHpGjsj4fxs8ObVLQ==",
- "dev": true,
- "dependencies": {
- "tslib": "^2.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@apollo/client/node_modules/zen-observable-ts": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.3.tgz",
- "integrity": "sha512-hc/TGiPkAWpByykMwDcem3SdUgA4We+0Qb36bItSuJC9xD0XVBZoFHYoadAomDSNf64CG8Ydj0Qb8Od8BUWz5g==",
- "dev": true,
- "dependencies": {
- "zen-observable": "0.8.15"
- }
- },
"node_modules/@apollo/composition": {
"resolved": "composition-js",
"link": true
},
"node_modules/@apollo/core-schema": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@apollo/core-schema/-/core-schema-0.2.0.tgz",
- "integrity": "sha512-bhzZMIyzP3rynXwtUuEt2ENJIgKd9P/iR98VsuA3tOyYdWPjD5BfsrdWO0oIJXW/pjbbr0oHX5gqutFRKYuwAA==",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@apollo/core-schema/-/core-schema-0.2.1.tgz",
+ "integrity": "sha512-0pyui77dJu3LLju0dUVyZEJBWUiBmf/YLadl9sRR9zj8ZY3M9ky7St6e7O7Ja+UAP43jLGSpBeJ9Cf80prCZwQ==",
"engines": {
"node": ">=12.13.0 <17.0"
},
"peerDependencies": {
- "graphql": "^15.7.2"
+ "graphql": "^15.7.2 || ^16.0.0"
}
},
"node_modules/@apollo/federation-internals": {
@@ -331,41 +312,41 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
- "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
"dev": true,
"dependencies": {
- "@babel/highlight": "^7.16.0"
+ "@babel/highlight": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
- "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz",
+ "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz",
- "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helpers": "^7.16.0",
- "@babel/parser": "^7.16.0",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz",
+ "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.16.7",
+ "@babel/helper-compilation-targets": "^7.16.7",
+ "@babel/helper-module-transforms": "^7.16.7",
+ "@babel/helpers": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -400,12 +381,12 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz",
- "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
+ "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0",
+ "@babel/types": "^7.16.8",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -423,25 +404,25 @@
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz",
- "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz",
- "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
+ "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-validator-option": "^7.14.5",
+ "@babel/compat-data": "^7.16.4",
+ "@babel/helper-validator-option": "^7.16.7",
"browserslist": "^4.17.5",
"semver": "^6.3.0"
},
@@ -462,17 +443,18 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz",
- "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz",
+ "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-member-expression-to-functions": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0"
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-member-expression-to-functions": "^7.16.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -481,130 +463,143 @@
"@babel/core": "^7.0.0"
}
},
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
+ "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz",
- "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
+ "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
"dev": true,
"dependencies": {
- "@babel/helper-get-function-arity": "^7.16.0",
- "@babel/template": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/helper-get-function-arity": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-get-function-arity": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz",
- "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
+ "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz",
- "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
+ "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz",
- "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz",
+ "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz",
- "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
+ "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz",
- "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz",
+ "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==",
"dev": true,
"dependencies": {
- "@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-simple-access": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-simple-access": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz",
- "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
+ "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
+ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz",
- "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
+ "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
"dev": true,
"dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-member-expression-to-functions": "^7.16.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz",
- "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
+ "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -623,56 +618,56 @@
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz",
- "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
+ "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
+ "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz",
- "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz",
+ "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.3",
- "@babel/types": "^7.16.0"
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
- "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
+ "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -752,9 +747,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
- "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
+ "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -764,13 +759,13 @@
}
},
"node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz",
- "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
+ "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==",
"dev": true,
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -780,16 +775,16 @@
}
},
"node_modules/@babel/plugin-proposal-object-rest-spread": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz",
- "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz",
+ "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/compat-data": "^7.16.4",
+ "@babel/helper-compilation-targets": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.16.0"
+ "@babel/plugin-transform-parameters": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -835,12 +830,12 @@
}
},
"node_modules/@babel/plugin-syntax-flow": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz",
- "integrity": "sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz",
+ "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -874,12 +869,12 @@
}
},
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz",
- "integrity": "sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz",
+ "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -976,12 +971,12 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz",
- "integrity": "sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
+ "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -991,12 +986,12 @@
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz",
- "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz",
+ "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1006,12 +1001,12 @@
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz",
- "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz",
+ "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1021,12 +1016,12 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz",
- "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
+ "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1036,17 +1031,18 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz",
- "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz",
+ "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
"globals": "^11.1.0"
},
"engines": {
@@ -1066,12 +1062,12 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz",
- "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz",
+ "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1081,12 +1077,12 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz",
- "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz",
+ "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1096,13 +1092,13 @@
}
},
"node_modules/@babel/plugin-transform-flow-strip-types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.0.tgz",
- "integrity": "sha512-vs/F5roOaO/+WxKfp9PkvLsAyj0G+Q0zbFimHm9X2KDgabN2XmNFoAafmeGEYspUlIF9+MvVmyek9UyHiqeG/w==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz",
+ "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-flow": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/plugin-syntax-flow": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1112,12 +1108,12 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz",
- "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz",
+ "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1127,13 +1123,14 @@
}
},
"node_modules/@babel/plugin-transform-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz",
- "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz",
+ "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==",
"dev": true,
"dependencies": {
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-compilation-targets": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1143,12 +1140,12 @@
}
},
"node_modules/@babel/plugin-transform-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz",
- "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz",
+ "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1158,12 +1155,12 @@
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz",
- "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz",
+ "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1173,14 +1170,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz",
- "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz",
+ "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.16.0",
+ "@babel/helper-module-transforms": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-simple-access": "^7.16.7",
"babel-plugin-dynamic-import-node": "^2.3.3"
},
"engines": {
@@ -1191,13 +1188,13 @@
}
},
"node_modules/@babel/plugin-transform-object-super": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz",
- "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz",
+ "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1207,12 +1204,12 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz",
- "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz",
+ "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1222,12 +1219,12 @@
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz",
- "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz",
+ "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1237,12 +1234,12 @@
}
},
"node_modules/@babel/plugin-transform-react-display-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz",
- "integrity": "sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz",
+ "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1252,16 +1249,16 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz",
- "integrity": "sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz",
+ "integrity": "sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-jsx": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/plugin-syntax-jsx": "^7.16.7",
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1271,12 +1268,12 @@
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz",
- "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz",
+ "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1286,12 +1283,12 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz",
- "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz",
+ "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
},
"engines": {
@@ -1302,12 +1299,12 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz",
- "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz",
+ "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1317,9 +1314,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz",
- "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz",
+ "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==",
"dev": true,
"dependencies": {
"regenerator-runtime": "^0.13.4"
@@ -1329,32 +1326,33 @@
}
},
"node_modules/@babel/template": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz",
- "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
+ "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.16.0",
- "@babel/parser": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/code-frame": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz",
- "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-hoist-variables": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/parser": "^7.16.3",
- "@babel/types": "^7.16.0",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
+ "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.16.8",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-hoist-variables": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/parser": "^7.16.8",
+ "@babel/types": "^7.16.8",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -1372,12 +1370,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
- "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
+ "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -1435,42 +1433,16 @@
"cosmiconfig": ">=6"
}
},
- "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader/node_modules/ts-node": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
- "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
- "dev": true,
- "dependencies": {
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.17",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "typescript": ">=2.7"
- }
- },
"node_modules/@eslint/eslintrc": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz",
- "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz",
+ "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==",
"dev": true,
"peer": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.0.0",
+ "espree": "^9.2.0",
"globals": "^13.9.0",
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
@@ -1553,79 +1525,59 @@
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-codegen/cli/node_modules/inquirer": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz",
- "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==",
+ "node_modules/@graphql-codegen/cli/node_modules/@babel/parser": {
+ "version": "7.16.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
+ "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
"dev": true,
- "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.2.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
+ "bin": {
+ "parser": "bin/babel-parser.js"
},
"engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/@graphql-codegen/cli/node_modules/rxjs": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.1.tgz",
- "integrity": "sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ==",
- "dev": true,
- "dependencies": {
- "tslib": "^2.1.0"
+ "node": ">=6.0.0"
}
},
- "node_modules/@graphql-codegen/core": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-2.4.0.tgz",
- "integrity": "sha512-5RiYE1+07jayp/3w/bkyaCXtfKNeKmRabpPP4aRi369WeH2cH37l2K8NbhkIU+zhpnhoqMID61TO56x2fKldZQ==",
+ "node_modules/@graphql-codegen/cli/node_modules/@babel/traverse": {
+ "version": "7.16.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz",
+ "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==",
"dev": true,
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-tools/schema": "^8.1.2",
- "@graphql-tools/utils": "^8.1.1",
- "tslib": "~2.3.0"
+ "@babel/code-frame": "^7.16.0",
+ "@babel/generator": "^7.16.0",
+ "@babel/helper-function-name": "^7.16.0",
+ "@babel/helper-hoist-variables": "^7.16.0",
+ "@babel/helper-split-export-declaration": "^7.16.0",
+ "@babel/parser": "^7.16.3",
+ "@babel/types": "^7.16.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
},
- "peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@graphql-codegen/plugin-helpers": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz",
- "integrity": "sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==",
+ "node_modules/@graphql-codegen/cli/node_modules/@babel/types": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
+ "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
"dev": true,
"dependencies": {
- "@graphql-tools/utils": "^8.5.2",
- "change-case-all": "1.0.14",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.3.0"
+ "@babel/helper-validator-identifier": "^7.15.7",
+ "to-fast-properties": "^2.0.0"
},
- "peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@graphql-codegen/schema-ast": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-2.4.1.tgz",
- "integrity": "sha512-bIWlKk/ShoVJfghA4Rt1OWnd34/dQmZM/vAe6fu6QKyOh44aAdqPtYQ2dbTyFXoknmu504etKJGEDllYNUJRfg==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-codegen/core": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-2.4.0.tgz",
+ "integrity": "sha512-5RiYE1+07jayp/3w/bkyaCXtfKNeKmRabpPP4aRi369WeH2cH37l2K8NbhkIU+zhpnhoqMID61TO56x2fKldZQ==",
"dev": true,
"dependencies": {
"@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-tools/schema": "^8.1.2",
"@graphql-tools/utils": "^8.1.1",
"tslib": "~2.3.0"
},
@@ -1633,60 +1585,52 @@
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-codegen/typescript": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-2.4.2.tgz",
- "integrity": "sha512-8ajWidiFqF1KNAywtb/692SjwTyjzrDHo1sf2Q7Z+rh9qDEIrh83VHB8naT/1CefOvxj3MS6GbcsvJMizaE/AQ==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-codegen/core/node_modules/@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
"dev": true,
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-codegen/schema-ast": "^2.4.1",
- "@graphql-codegen/visitor-plugin-common": "2.5.2",
- "auto-bind": "~4.0.0",
- "tslib": "~2.3.0"
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
},
"peerDependencies": {
- "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-codegen/typescript-operations": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-2.2.2.tgz",
- "integrity": "sha512-J50AuTA37RYv67hP2oHbfr3iGxexTCoadQsbr5pEUGucrIupCA0hLEJH2W+9/h6YNh0UlZT3kRTJp81ARoAjOA==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-codegen/core/node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
"dev": true,
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-codegen/typescript": "^2.4.2",
- "@graphql-codegen/visitor-plugin-common": "2.5.2",
- "auto-bind": "~4.0.0",
+ "@graphql-tools/utils": "^8.5.1",
"tslib": "~2.3.0"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-codegen/visitor-plugin-common": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.5.2.tgz",
- "integrity": "sha512-qDMraPmumG+vEGAz42/asRkdgIRmQWH5HTc320UX+I6CY6eE/Ey85cgzoqeQGLV8gu4sj3UkNx/3/r79eX4u+Q==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-codegen/plugin-helpers": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz",
+ "integrity": "sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==",
"dev": true,
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-tools/optimize": "^1.0.1",
- "@graphql-tools/relay-operation-optimizer": "^6.3.7",
- "@graphql-tools/utils": "^8.3.0",
- "auto-bind": "~4.0.0",
+ "@graphql-tools/utils": "^8.5.2",
"change-case-all": "1.0.14",
- "dependency-graph": "^0.11.0",
- "graphql-tag": "^2.11.0",
- "parse-filepath": "^1.0.2",
+ "common-tags": "1.8.2",
+ "import-from": "4.0.0",
+ "lodash": "~4.17.0",
"tslib": "~2.3.0"
},
"peerDependencies": {
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/apollo-engine-loader": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/apollo-engine-loader": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.2.1.tgz",
"integrity": "sha512-Fj/A8+9SXPTXkpKqhcSq7O9WZuMdy5zynGrnMyewbCuw1kSfzgC4pJB76ILSPa5ajOcC5bBmmvXm+yVFVRgVMg==",
@@ -1701,10 +1645,10 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/code-file-loader": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-7.2.2.tgz",
- "integrity": "sha512-AADyxqipGWLBl4N59CGPgv3i35UF1fQpJvbC5a6TXmcppnghD2olDLewOh1pIQrwxGAAh1S75XVIi28PTKYZhg==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/code-file-loader": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-7.2.3.tgz",
+ "integrity": "sha512-aNVG3/VG5cUpS389rpCum+z7RY98qvPwOzd+J4LVr+f5hWQbDREnSFM+5RVTDfULujrsi7edKaGxGKp68pGmAA==",
"dev": true,
"dependencies": {
"@graphql-tools/graphql-tag-pluck": "^7.1.3",
@@ -1717,60 +1661,15 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/code-file-loader/node_modules/@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@graphql-tools/code-file-loader/node_modules/@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@graphql-tools/code-file-loader/node_modules/@babel/types": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
- "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/code-file-loader/node_modules/@graphql-tools/graphql-tag-pluck": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.4.tgz",
+ "integrity": "sha512-0V2AY68ip3YmJ9rnIwQGxXsokCeGD9FTQOeSLzpwG74U0VY6bphfaCp5KVGW+W5sGJchTj3HvnmvdmWZnEZWZA==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@graphql-tools/code-file-loader/node_modules/@graphql-tools/graphql-tag-pluck": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.3.tgz",
- "integrity": "sha512-zxVYLiAnNxFg6bnDZdNpLJNfjf6GHYLQsVHDcbYyQcWJzIaeWPylX/Q1gyvw8MFO4ICYExNPqgBA/is2kZBlHw==",
- "dev": true,
- "dependencies": {
- "@babel/parser": "7.15.8",
- "@babel/traverse": "7.15.4",
- "@babel/types": "7.15.6",
+ "@babel/parser": "7.16.4",
+ "@babel/traverse": "7.16.3",
+ "@babel/types": "7.16.0",
"@graphql-tools/utils": "^8.5.1",
"tslib": "~2.3.0"
},
@@ -1778,16 +1677,7 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/code-file-loader/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@graphql-tools/git-loader": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/git-loader": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-7.1.2.tgz",
"integrity": "sha512-vIMrISQPKQgHS893b8K/pEE1InPV+7etzFhHoyQRhYkVHXP2RBkfI64Wq9bNPezF8Ss/dwIjI/keLaPp9EQDmA==",
@@ -1804,60 +1694,15 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/git-loader/node_modules/@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@graphql-tools/git-loader/node_modules/@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@graphql-tools/git-loader/node_modules/@babel/types": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
- "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@graphql-tools/git-loader/node_modules/@graphql-tools/graphql-tag-pluck": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.3.tgz",
- "integrity": "sha512-zxVYLiAnNxFg6bnDZdNpLJNfjf6GHYLQsVHDcbYyQcWJzIaeWPylX/Q1gyvw8MFO4ICYExNPqgBA/is2kZBlHw==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/git-loader/node_modules/@graphql-tools/graphql-tag-pluck": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.4.tgz",
+ "integrity": "sha512-0V2AY68ip3YmJ9rnIwQGxXsokCeGD9FTQOeSLzpwG74U0VY6bphfaCp5KVGW+W5sGJchTj3HvnmvdmWZnEZWZA==",
"dev": true,
"dependencies": {
- "@babel/parser": "7.15.8",
- "@babel/traverse": "7.15.4",
- "@babel/types": "7.15.6",
+ "@babel/parser": "7.16.4",
+ "@babel/traverse": "7.16.3",
+ "@babel/types": "7.16.0",
"@graphql-tools/utils": "^8.5.1",
"tslib": "~2.3.0"
},
@@ -1865,16 +1710,7 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/git-loader/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@graphql-tools/github-loader": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/github-loader": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-7.2.1.tgz",
"integrity": "sha512-vqwh2H11ZkAATDam/JqiP0CSqQRPUbjgCDxPdUu/xvST2QKyA4+uVXLBcpBRJc5kJCQjELijeRWVHSk9oN1q6g==",
@@ -1890,60 +1726,15 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/github-loader/node_modules/@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@graphql-tools/github-loader/node_modules/@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@graphql-tools/github-loader/node_modules/@babel/types": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
- "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/github-loader/node_modules/@graphql-tools/graphql-tag-pluck": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.4.tgz",
+ "integrity": "sha512-0V2AY68ip3YmJ9rnIwQGxXsokCeGD9FTQOeSLzpwG74U0VY6bphfaCp5KVGW+W5sGJchTj3HvnmvdmWZnEZWZA==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@graphql-tools/github-loader/node_modules/@graphql-tools/graphql-tag-pluck": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.3.tgz",
- "integrity": "sha512-zxVYLiAnNxFg6bnDZdNpLJNfjf6GHYLQsVHDcbYyQcWJzIaeWPylX/Q1gyvw8MFO4ICYExNPqgBA/is2kZBlHw==",
- "dev": true,
- "dependencies": {
- "@babel/parser": "7.15.8",
- "@babel/traverse": "7.15.4",
- "@babel/types": "7.15.6",
+ "@babel/parser": "7.16.4",
+ "@babel/traverse": "7.16.3",
+ "@babel/types": "7.16.0",
"@graphql-tools/utils": "^8.5.1",
"tslib": "~2.3.0"
},
@@ -1951,16 +1742,7 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/github-loader/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@graphql-tools/graphql-file-loader": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/graphql-file-loader": {
"version": "7.3.3",
"resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.3.tgz",
"integrity": "sha512-6kUJZiNpYKVhum9E5wfl5PyLLupEDYdH7c8l6oMrk6c7EPEVs6iSUyB7yQoWrtJccJLULBW2CRQ5IHp5JYK0mA==",
@@ -1976,13 +1758,13 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/graphql-file-loader/node_modules/@graphql-tools/import": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.1.tgz",
- "integrity": "sha512-i9WA6k+erJMci822o9w9DoX+uncVBK60LGGYW8mdbhX0l7wEubUpA000thJ1aarCusYh0u+ZT9qX0HyVPXu25Q==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/graphql-file-loader/node_modules/@graphql-tools/import": {
+ "version": "6.6.5",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.5.tgz",
+ "integrity": "sha512-w0/cYuhrr2apn+iGoTToCqt65x2NN2iHQyqRNk/Zw1NJ+e8/C3eKVw0jmW4pYQvSocuPxL4UCSI56SdKO7m3+Q==",
"dev": true,
"dependencies": {
- "@graphql-tools/utils": "8.5.3",
+ "@graphql-tools/utils": "8.6.1",
"resolve-from": "5.0.0",
"tslib": "~2.3.0"
},
@@ -1990,16 +1772,7 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/graphql-file-loader/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@graphql-tools/json-file-loader": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/json-file-loader": {
"version": "7.3.3",
"resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.3.tgz",
"integrity": "sha512-CN2Qk9rt+Gepa3rb3X/mpxYA5MIYLwZBPj2Njw6lbZ6AaxG+O1ArDCL5ACoiWiBimn1FCOM778uhRM9znd0b3Q==",
@@ -2014,14 +1787,14 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/load": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-7.4.1.tgz",
- "integrity": "sha512-UvBodW5hRHpgBUBVz5K5VIhJDOTFIbRRAGD6sQ2l9J5FDKBEs3u/6JjZDzbdL96br94D5cEd2Tk6auaHpTn7mQ==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/load": {
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.1.tgz",
+ "integrity": "sha512-j9XcLYZPZdl/TzzqA83qveJmwcCxgGizt5L1+C1/Z68brTEmQHLdQCOR3Ma3ewESJt6DU05kSTu2raKaunkjRg==",
"dev": true,
"dependencies": {
"@graphql-tools/schema": "8.3.1",
- "@graphql-tools/utils": "^8.5.1",
+ "@graphql-tools/utils": "^8.6.0",
"p-limit": "3.1.0",
"tslib": "~2.3.0"
},
@@ -2029,19 +1802,35 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/optimize": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.1.1.tgz",
- "integrity": "sha512-y0TEfPyGmJaQjnsTRs/UP7/ZHaB3i68VAsXW4H2doUFKY6rIOUz+ruME/uWsfy/VeTWBNqGX8/m/X7YFEi5OJQ==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/load/node_modules/@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
"dev": true,
"dependencies": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/load/node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.1",
"tslib": "~2.3.0"
},
"peerDependencies": {
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/prisma-loader": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/prisma-loader": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-7.1.1.tgz",
"integrity": "sha512-9hVpG3BNsXAYMLPlZhSHubk6qBmiHLo/UlU0ldL100sMpqI46iBaHNhTNXZCSdd81hT+4HNqaDXNFqyKJ22OGQ==",
@@ -2072,85 +1861,71 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/relay-operation-optimizer": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.1.tgz",
- "integrity": "sha512-2b9D5L+31sIBnvmcmIW5tfvNUV+nJFtbHpUyarTRDmFT6EZ2cXo4WZMm9XJcHQD/Z5qvMXfPHxzQ3/JUs4xI+w==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/prisma-loader/node_modules/extract-files": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz",
+ "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==",
"dev": true,
- "dependencies": {
- "@graphql-tools/utils": "^8.5.1",
- "relay-compiler": "12.0.0",
- "tslib": "~2.3.0"
- },
- "peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/@graphql-tools/schema": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
- "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
- "dependencies": {
- "@graphql-tools/merge": "^8.2.1",
- "@graphql-tools/utils": "^8.5.1",
- "tslib": "~2.3.0",
- "value-or-promise": "1.0.11"
+ "engines": {
+ "node": "^10.17.0 || ^12.0.0 || >= 13.7.0"
},
- "peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/jaydenseric"
}
},
- "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
- "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/prisma-loader/node_modules/graphql-request": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.7.0.tgz",
+ "integrity": "sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ==",
+ "dev": true,
"dependencies": {
- "@graphql-tools/utils": "^8.5.1",
- "tslib": "~2.3.0"
+ "cross-fetch": "^3.0.6",
+ "extract-files": "^9.0.0",
+ "form-data": "^3.0.0"
},
"peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ "graphql": "14 - 16"
}
},
- "node_modules/@graphql-tools/url-loader": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.5.2.tgz",
- "integrity": "sha512-EilHqbhUY/qg55SSEdklDhPXgSz9+9a63SX3mcD8J2qwZHJD/wOLcyKs8m6BXfuGwUiuB0j3fmDSEVmva2onBg==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.7.0.tgz",
+ "integrity": "sha512-mBBb+aJqI4E0MVEzyfi76Pi/G6lGxGTVt/tP1YtKJly7UnonNoWOtDusdL3zIVAGhGgLsNrLbGhLDbwSd6TV6A==",
"dev": true,
"dependencies": {
"@graphql-tools/delegate": "^8.4.1",
"@graphql-tools/utils": "^8.5.1",
"@graphql-tools/wrap": "^8.3.1",
- "@n1ru4l/graphql-live-query": "0.9.0",
- "@types/websocket": "1.0.4",
+ "@n1ru4l/graphql-live-query": "^0.9.0",
+ "@types/websocket": "^1.0.4",
"@types/ws": "^8.0.0",
- "cross-undici-fetch": "^0.0.20",
+ "cross-undici-fetch": "^0.1.4",
"dset": "^3.1.0",
- "extract-files": "11.0.0",
+ "extract-files": "^11.0.0",
"graphql-sse": "^1.0.1",
"graphql-ws": "^5.4.1",
- "isomorphic-ws": "4.0.1",
- "meros": "1.1.4",
+ "isomorphic-ws": "^4.0.1",
+ "meros": "^1.1.4",
"subscriptions-transport-ws": "^0.11.0",
- "sync-fetch": "0.3.1",
- "tslib": "~2.3.0",
- "valid-url": "1.0.9",
- "value-or-promise": "1.0.11",
- "ws": "8.2.3"
+ "sync-fetch": "^0.3.1",
+ "tslib": "^2.3.0",
+ "valid-url": "^1.0.9",
+ "value-or-promise": "^1.0.11",
+ "ws": "^8.3.0"
},
"peerDependencies": {
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/delegate": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.4.2.tgz",
- "integrity": "sha512-CjggOhiL4WtyG2I3kux+1/p8lQxSFHBj0gwa0NxnQ6Vsnpw7Ig5VP1ovPnitFuBv2k4QdC37Nj2xv2n7DRn8fw==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/delegate": {
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.4.3.tgz",
+ "integrity": "sha512-hKTJdJXJnKL0+2vpU+Kt7OHQTIXZ9mBmNBwHsYiG5WNArz/vNI7910r6TC2XMf/e7zhyyK+mXxMDBmDQkkJagA==",
"dev": true,
"dependencies": {
"@graphql-tools/batch-execute": "^8.3.1",
"@graphql-tools/schema": "^8.3.1",
- "@graphql-tools/utils": "^8.5.3",
+ "@graphql-tools/utils": "^8.5.4",
"dataloader": "2.0.0",
"tslib": "~2.3.0",
"value-or-promise": "1.0.11"
@@ -2159,7 +1934,7 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/delegate/node_modules/@graphql-tools/batch-execute": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/delegate/node_modules/@graphql-tools/batch-execute": {
"version": "8.3.1",
"resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.3.1.tgz",
"integrity": "sha512-63kHY8ZdoO5FoeDXYHnAak1R3ysMViMPwWC2XUblFckuVLMUPmB2ONje8rjr2CvzWBHAW8c1Zsex+U3xhKtGIA==",
@@ -2174,10 +1949,38 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/wrap": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.3.2.tgz",
- "integrity": "sha512-7DcOBFB+Dd84x9dxSm7qS4iJONMyfLnCJb8A19vGPffpu4SMJ3sFcgwibKFu5l6mMUiigKgXna2RRgWI+02bKQ==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/delegate/node_modules/@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/delegate/node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/wrap": {
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.3.3.tgz",
+ "integrity": "sha512-TpXN1S4Cv+oMA1Zsg9Nu4N9yrFxLuJkX+CTtSRrrdfETGHIxqfyDkm5slPDCckxP+RILA00g8ny2jzsYyNvX1w==",
"dev": true,
"dependencies": {
"@graphql-tools/delegate": "^8.4.2",
@@ -2190,7 +1993,35 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/url-loader/node_modules/@n1ru4l/graphql-live-query": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/wrap/node_modules/@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/wrap/node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/@n1ru4l/graphql-live-query": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@n1ru4l/graphql-live-query/-/graphql-live-query-0.9.0.tgz",
"integrity": "sha512-BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg==",
@@ -2199,13 +2030,21 @@
"graphql": "^15.4.0 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/url-loader/node_modules/eventemitter3": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
- "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
- "dev": true
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/cross-undici-fetch": {
+ "version": "0.1.14",
+ "resolved": "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.1.14.tgz",
+ "integrity": "sha512-DDR6F34whCOwwBnZoqqIPZwpYzz418BPNXdDMdz0NFjTxNT+kMNLINTjZA3TxU469JbXSVTzfNpdTxUQN6MjhQ==",
+ "dev": true,
+ "dependencies": {
+ "abort-controller": "^3.0.0",
+ "form-data-encoder": "^1.7.1",
+ "formdata-node": "^4.3.1",
+ "node-fetch": "^2.6.5",
+ "undici": "^4.9.3",
+ "web-streams-polyfill": "^3.2.0"
+ }
},
- "node_modules/@graphql-tools/url-loader/node_modules/graphql-sse": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/graphql-sse": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/graphql-sse/-/graphql-sse-1.0.6.tgz",
"integrity": "sha512-y2mVBN2KwNrzxX2KBncQ6kzc6JWvecxuBernrl0j65hsr6MAS3+Yn8PTFSOgRmtolxugepxveyZVQEuaNEbw3w==",
@@ -2217,7 +2056,7 @@
"graphql": ">=0.11 <=16"
}
},
- "node_modules/@graphql-tools/url-loader/node_modules/graphql-ws": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/graphql-ws": {
"version": "5.5.5",
"resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.5.5.tgz",
"integrity": "sha512-hvyIS71vs4Tu/yUYHPvGXsTgo0t3arU820+lT5VjZS2go0ewp2LqyCgxEN56CzOG7Iys52eRhHBiD1gGRdiQtw==",
@@ -2229,24 +2068,7 @@
"graphql": ">=0.11 <=16"
}
},
- "node_modules/@graphql-tools/url-loader/node_modules/meros": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/meros/-/meros-1.1.4.tgz",
- "integrity": "sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "@types/node": ">=12"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@graphql-tools/url-loader/node_modules/subscriptions-transport-ws": {
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/subscriptions-transport-ws": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz",
"integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==",
@@ -2262,10 +2084,10 @@
"graphql": "^15.7.2 || ^16.0.0"
}
},
- "node_modules/@graphql-tools/url-loader/node_modules/subscriptions-transport-ws/node_modules/ws": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
- "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/subscriptions-transport-ws/node_modules/ws": {
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
+ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
"dev": true,
"engines": {
"node": ">=8.3.0"
@@ -2283,10 +2105,392 @@
}
}
},
- "node_modules/@graphql-tools/utils": {
- "version": "8.5.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.5.3.tgz",
- "integrity": "sha512-HDNGWFVa8QQkoQB0H1lftvaO1X5xUaUDk1zr1qDe0xN1NL0E/CrQdJ5UKLqOvH4hkqVUPxQsyOoAZFkaH6rLHg==",
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/url-loader/node_modules/ws": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz",
+ "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/@tootallnate/once": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/eventemitter3": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
+ "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
+ "dev": true
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/graphql-config": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-4.1.0.tgz",
+ "integrity": "sha512-Myqay6pmdcmX3KqoH+bMbeKZ1cTODpHS2CxF1ZzNnfTE+YUpGTcp01bOw6LpzamRb0T/WTYtGFbZeXGo9Hab2Q==",
+ "dev": true,
+ "dependencies": {
+ "@endemolshinegroup/cosmiconfig-typescript-loader": "3.0.2",
+ "@graphql-tools/graphql-file-loader": "^7.3.2",
+ "@graphql-tools/json-file-loader": "^7.3.2",
+ "@graphql-tools/load": "^7.4.1",
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/url-loader": "^7.4.2",
+ "@graphql-tools/utils": "^8.5.1",
+ "cosmiconfig": "7.0.1",
+ "cosmiconfig-toml-loader": "1.0.0",
+ "minimatch": "3.0.4",
+ "string-env-interpolation": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/graphql-config/node_modules/@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "dependencies": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/meros": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/meros/-/meros-1.1.4.tgz",
+ "integrity": "sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "@types/node": ">=12"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@graphql-codegen/cli/node_modules/symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-2.4.2.tgz",
+ "integrity": "sha512-8ajWidiFqF1KNAywtb/692SjwTyjzrDHo1sf2Q7Z+rh9qDEIrh83VHB8naT/1CefOvxj3MS6GbcsvJMizaE/AQ==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-codegen/schema-ast": "^2.4.1",
+ "@graphql-codegen/visitor-plugin-common": "2.5.2",
+ "auto-bind": "~4.0.0",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-2.2.2.tgz",
+ "integrity": "sha512-J50AuTA37RYv67hP2oHbfr3iGxexTCoadQsbr5pEUGucrIupCA0hLEJH2W+9/h6YNh0UlZT3kRTJp81ARoAjOA==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-codegen/typescript": "^2.4.2",
+ "@graphql-codegen/visitor-plugin-common": "2.5.2",
+ "auto-bind": "~4.0.0",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/plugin-helpers": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz",
+ "integrity": "sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.2",
+ "change-case-all": "1.0.14",
+ "common-tags": "1.8.2",
+ "import-from": "4.0.0",
+ "lodash": "~4.17.0",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/plugin-helpers/node_modules/@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/visitor-plugin-common": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.5.2.tgz",
+ "integrity": "sha512-qDMraPmumG+vEGAz42/asRkdgIRmQWH5HTc320UX+I6CY6eE/Ey85cgzoqeQGLV8gu4sj3UkNx/3/r79eX4u+Q==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-tools/optimize": "^1.0.1",
+ "@graphql-tools/relay-operation-optimizer": "^6.3.7",
+ "@graphql-tools/utils": "^8.3.0",
+ "auto-bind": "~4.0.0",
+ "change-case-all": "1.0.14",
+ "dependency-graph": "^0.11.0",
+ "graphql-tag": "^2.11.0",
+ "parse-filepath": "^1.0.2",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/visitor-plugin-common/node_modules/@graphql-tools/optimize": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.1.1.tgz",
+ "integrity": "sha512-y0TEfPyGmJaQjnsTRs/UP7/ZHaB3i68VAsXW4H2doUFKY6rIOUz+ruME/uWsfy/VeTWBNqGX8/m/X7YFEi5OJQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/visitor-plugin-common/node_modules/@graphql-tools/relay-operation-optimizer": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.1.tgz",
+ "integrity": "sha512-2b9D5L+31sIBnvmcmIW5tfvNUV+nJFtbHpUyarTRDmFT6EZ2cXo4WZMm9XJcHQD/Z5qvMXfPHxzQ3/JUs4xI+w==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.1",
+ "relay-compiler": "12.0.0",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/visitor-plugin-common/node_modules/@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/plugin-helpers": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz",
+ "integrity": "sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.2",
+ "change-case-all": "1.0.14",
+ "common-tags": "1.8.2",
+ "import-from": "4.0.0",
+ "lodash": "~4.17.0",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/plugin-helpers/node_modules/@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/schema-ast": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-2.4.1.tgz",
+ "integrity": "sha512-bIWlKk/ShoVJfghA4Rt1OWnd34/dQmZM/vAe6fu6QKyOh44aAdqPtYQ2dbTyFXoknmu504etKJGEDllYNUJRfg==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-tools/utils": "^8.1.1",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/schema-ast/node_modules/@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/visitor-plugin-common": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.5.2.tgz",
+ "integrity": "sha512-qDMraPmumG+vEGAz42/asRkdgIRmQWH5HTc320UX+I6CY6eE/Ey85cgzoqeQGLV8gu4sj3UkNx/3/r79eX4u+Q==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-tools/optimize": "^1.0.1",
+ "@graphql-tools/relay-operation-optimizer": "^6.3.7",
+ "@graphql-tools/utils": "^8.3.0",
+ "auto-bind": "~4.0.0",
+ "change-case-all": "1.0.14",
+ "dependency-graph": "^0.11.0",
+ "graphql-tag": "^2.11.0",
+ "parse-filepath": "^1.0.2",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/visitor-plugin-common/node_modules/@graphql-tools/optimize": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.1.1.tgz",
+ "integrity": "sha512-y0TEfPyGmJaQjnsTRs/UP7/ZHaB3i68VAsXW4H2doUFKY6rIOUz+ruME/uWsfy/VeTWBNqGX8/m/X7YFEi5OJQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/visitor-plugin-common/node_modules/@graphql-tools/relay-operation-optimizer": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.1.tgz",
+ "integrity": "sha512-2b9D5L+31sIBnvmcmIW5tfvNUV+nJFtbHpUyarTRDmFT6EZ2cXo4WZMm9XJcHQD/Z5qvMXfPHxzQ3/JUs4xI+w==",
+ "dev": true,
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.1",
+ "relay-compiler": "12.0.0",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/visitor-plugin-common/node_modules/@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
"dependencies": {
"tslib": "~2.3.0"
},
@@ -2295,13 +2499,13 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
- "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==",
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz",
+ "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==",
"dev": true,
"peer": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
+ "@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
"minimatch": "^3.0.4"
},
@@ -2388,15 +2592,15 @@
}
},
"node_modules/@jest/console": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.2.tgz",
- "integrity": "sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz",
+ "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^27.4.2",
+ "jest-message-util": "^27.4.6",
"jest-util": "^27.4.2",
"slash": "^3.0.0"
},
@@ -2405,15 +2609,15 @@
}
},
"node_modules/@jest/core": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.5.tgz",
- "integrity": "sha512-3tm/Pevmi8bDsgvo73nX8p/WPng6KWlCyScW10FPEoN1HU4pwI83tJ3TsFvi1FfzsjwUlMNEPowgb/rPau/LTQ==",
+ "version": "27.4.7",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz",
+ "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==",
"dev": true,
"dependencies": {
- "@jest/console": "^27.4.2",
- "@jest/reporters": "^27.4.5",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
+ "@jest/console": "^27.4.6",
+ "@jest/reporters": "^27.4.6",
+ "@jest/test-result": "^27.4.6",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
@@ -2422,18 +2626,18 @@
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"jest-changed-files": "^27.4.2",
- "jest-config": "^27.4.5",
- "jest-haste-map": "^27.4.5",
- "jest-message-util": "^27.4.2",
+ "jest-config": "^27.4.7",
+ "jest-haste-map": "^27.4.6",
+ "jest-message-util": "^27.4.6",
"jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-resolve-dependencies": "^27.4.5",
- "jest-runner": "^27.4.5",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
+ "jest-resolve": "^27.4.6",
+ "jest-resolve-dependencies": "^27.4.6",
+ "jest-runner": "^27.4.6",
+ "jest-runtime": "^27.4.6",
+ "jest-snapshot": "^27.4.6",
"jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
- "jest-watcher": "^27.4.2",
+ "jest-validate": "^27.4.6",
+ "jest-watcher": "^27.4.6",
"micromatch": "^4.0.4",
"rimraf": "^3.0.0",
"slash": "^3.0.0",
@@ -2451,32 +2655,73 @@
}
}
},
+ "node_modules/@jest/core/node_modules/jest-config": {
+ "version": "27.4.7",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz",
+ "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.8.0",
+ "@jest/test-sequencer": "^27.4.6",
+ "@jest/types": "^27.4.2",
+ "babel-jest": "^27.4.6",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-circus": "^27.4.6",
+ "jest-environment-jsdom": "^27.4.6",
+ "jest-environment-node": "^27.4.6",
+ "jest-get-type": "^27.4.0",
+ "jest-jasmine2": "^27.4.6",
+ "jest-regex-util": "^27.4.0",
+ "jest-resolve": "^27.4.6",
+ "jest-runner": "^27.4.6",
+ "jest-util": "^27.4.2",
+ "jest-validate": "^27.4.6",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.4.6",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@jest/environment": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.4.tgz",
- "integrity": "sha512-q+niMx7cJgt/t/b6dzLOh4W8Ef/8VyKG7hxASK39jakijJzbFBGpptx3RXz13FFV7OishQ9lTbv+dQ5K3EhfDQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz",
+ "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==",
"dev": true,
"dependencies": {
- "@jest/fake-timers": "^27.4.2",
+ "@jest/fake-timers": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
- "jest-mock": "^27.4.2"
+ "jest-mock": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/@jest/fake-timers": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.2.tgz",
- "integrity": "sha512-f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz",
+ "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
"@sinonjs/fake-timers": "^8.0.1",
"@types/node": "*",
- "jest-message-util": "^27.4.2",
- "jest-mock": "^27.4.2",
+ "jest-message-util": "^27.4.6",
+ "jest-mock": "^27.4.6",
"jest-util": "^27.4.2"
},
"engines": {
@@ -2484,29 +2729,29 @@
}
},
"node_modules/@jest/globals": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.4.tgz",
- "integrity": "sha512-bqpqQhW30BOreXM8bA8t8JbOQzsq/WnPTnBl+It3UxAD9J8yxEAaBEylHx1dtBapAr/UBk8GidXbzmqnee8tYQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz",
+ "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.4",
+ "@jest/environment": "^27.4.6",
"@jest/types": "^27.4.2",
- "expect": "^27.4.2"
+ "expect": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/@jest/reporters": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.5.tgz",
- "integrity": "sha512-3orsG4vi8zXuBqEoy2LbnC1kuvkg1KQUgqNxmxpQgIOQEPeV0onvZu+qDQnEoX8qTQErtqn/xzcnbpeTuOLSiA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz",
+ "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==",
"dev": true,
"dependencies": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.4.2",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
+ "@jest/console": "^27.4.6",
+ "@jest/test-result": "^27.4.6",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
@@ -2515,14 +2760,14 @@
"glob": "^7.1.2",
"graceful-fs": "^4.2.4",
"istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-instrument": "^5.1.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.4.5",
- "jest-resolve": "^27.4.5",
+ "istanbul-reports": "^3.1.3",
+ "jest-haste-map": "^27.4.6",
+ "jest-resolve": "^27.4.6",
"jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "jest-worker": "^27.4.6",
"slash": "^3.0.0",
"source-map": "^0.6.0",
"string-length": "^4.0.1",
@@ -2556,12 +2801,12 @@
}
},
"node_modules/@jest/test-result": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.2.tgz",
- "integrity": "sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz",
+ "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==",
"dev": true,
"dependencies": {
- "@jest/console": "^27.4.2",
+ "@jest/console": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
@@ -2571,38 +2816,38 @@
}
},
"node_modules/@jest/test-sequencer": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.5.tgz",
- "integrity": "sha512-n5woIn/1v+FT+9hniymHPARA9upYUmfi5Pw9ewVwXCDlK4F5/Gkees9v8vdjGdAIJ2MPHLHodiajLpZZanWzEQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz",
+ "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==",
"dev": true,
"dependencies": {
- "@jest/test-result": "^27.4.2",
+ "@jest/test-result": "^27.4.6",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
- "jest-runtime": "^27.4.5"
+ "jest-haste-map": "^27.4.6",
+ "jest-runtime": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/@jest/transform": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.5.tgz",
- "integrity": "sha512-PuMet2UlZtlGzwc6L+aZmR3I7CEBpqadO03pU40l2RNY2fFJ191b9/ITB44LNOhVtsyykx0OZvj0PCyuLm7Eew==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz",
+ "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==",
"dev": true,
"dependencies": {
"@babel/core": "^7.1.0",
"@jest/types": "^27.4.2",
- "babel-plugin-istanbul": "^6.0.0",
+ "babel-plugin-istanbul": "^6.1.1",
"chalk": "^4.0.0",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
+ "jest-haste-map": "^27.4.6",
"jest-regex-util": "^27.4.0",
"jest-util": "^27.4.2",
"micromatch": "^4.0.4",
- "pirates": "^4.0.1",
+ "pirates": "^4.0.4",
"slash": "^3.0.0",
"source-map": "^0.6.1",
"write-file-atomic": "^3.0.0"
@@ -2615,6 +2860,7 @@
"version": "27.4.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz",
"integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==",
+ "dev": true,
"dependencies": {
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
@@ -2831,24 +3077,6 @@
"node": ">= 10.18.0"
}
},
- "node_modules/@lerna/command/node_modules/ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
- "node_modules/@lerna/command/node_modules/is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
- "dev": true,
- "dependencies": {
- "ci-info": "^2.0.0"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
"node_modules/@lerna/conventional-commits": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz",
@@ -2914,32 +3142,6 @@
"node": ">= 10.18.0"
}
},
- "node_modules/@lerna/create/node_modules/tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@lerna/create/node_modules/whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@lerna/describe-ref": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz",
@@ -3071,32 +3273,6 @@
"node": ">= 10.18.0"
}
},
- "node_modules/@lerna/gitlab-client/node_modules/tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@lerna/gitlab-client/node_modules/whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@lerna/global-options": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz",
@@ -3450,6 +3626,48 @@
"node": ">= 10.18.0"
}
},
+ "node_modules/@lerna/prompt/node_modules/inquirer": {
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
+ "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.19",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.4.0",
+ "rxjs": "^6.6.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@lerna/prompt/node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
+ "node_modules/@lerna/prompt/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
"node_modules/@lerna/publish": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz",
@@ -3734,12 +3952,15 @@
"dev": true
},
"node_modules/@npmcli/fs": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz",
- "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.0.tgz",
+ "integrity": "sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA==",
"dependencies": {
"@gar/promisify": "^1.0.1",
"semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
}
},
"node_modules/@npmcli/git": {
@@ -3991,9 +4212,9 @@
}
},
"node_modules/@opentelemetry/api": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.3.tgz",
- "integrity": "sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz",
+ "integrity": "sha512-BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog==",
"engines": {
"node": ">=8.0.0"
}
@@ -4196,6 +4417,35 @@
"rollup": "^2.38.3"
}
},
+ "node_modules/@rollup/plugin-commonjs/node_modules/@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/@rollup/plugin-commonjs/node_modules/@rollup/pluginutils/node_modules/estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ },
+ "node_modules/@rollup/plugin-commonjs/node_modules/@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
"node_modules/@rollup/plugin-json": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz",
@@ -4208,6 +4458,35 @@
"rollup": "^1.20.0 || ^2.0.0"
}
},
+ "node_modules/@rollup/plugin-json/node_modules/@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/@rollup/plugin-json/node_modules/@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "node_modules/@rollup/plugin-json/node_modules/estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ },
"node_modules/@rollup/plugin-node-resolve": {
"version": "13.1.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.1.tgz",
@@ -4228,7 +4507,7 @@
"rollup": "^2.42.0"
}
},
- "node_modules/@rollup/pluginutils": {
+ "node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
"integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
@@ -4245,13 +4524,13 @@
"rollup": "^1.20.0||^2.0.0"
}
},
- "node_modules/@rollup/pluginutils/node_modules/@types/estree": {
+ "node_modules/@rollup/plugin-node-resolve/node_modules/@types/estree": {
"version": "0.0.39",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
"integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
"dev": true
},
- "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
+ "node_modules/@rollup/plugin-node-resolve/node_modules/estree-walker": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
"integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
@@ -4317,12 +4596,11 @@
}
},
"node_modules/@tootallnate/once": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
- "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
- "dev": true,
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"engines": {
- "node": ">= 10"
+ "node": ">= 6"
}
},
"node_modules/@types/accepts": {
@@ -4335,9 +4613,9 @@
}
},
"node_modules/@types/babel__core": {
- "version": "7.1.16",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz",
- "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==",
+ "version": "7.1.18",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz",
+ "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.1.0",
@@ -4348,9 +4626,9 @@
}
},
"node_modules/@types/babel__generator": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz",
- "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==",
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
+ "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
"dev": true,
"dependencies": {
"@babel/types": "^7.0.0"
@@ -4376,9 +4654,9 @@
}
},
"node_modules/@types/body-parser": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz",
- "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==",
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
"dev": true,
"dependencies": {
"@types/connect": "*",
@@ -4440,9 +4718,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.17.24",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz",
- "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==",
+ "version": "4.17.27",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.27.tgz",
+ "integrity": "sha512-e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA==",
"dev": true,
"dependencies": {
"@types/node": "*",
@@ -4470,14 +4748,16 @@
}
},
"node_modules/@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
- "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw=="
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
+ "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
+ "dev": true
},
"node_modules/@types/istanbul-lib-report": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
"integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dev": true,
"dependencies": {
"@types/istanbul-lib-coverage": "*"
}
@@ -4486,6 +4766,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
"integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
+ "dev": true,
"dependencies": {
"@types/istanbul-lib-report": "*"
}
@@ -4534,9 +4815,9 @@
}
},
"node_modules/@types/lodash": {
- "version": "4.14.177",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.177.tgz",
- "integrity": "sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw==",
+ "version": "4.14.178",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz",
+ "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==",
"dev": true
},
"node_modules/@types/lodash.xorby": {
@@ -4687,9 +4968,9 @@
}
},
"node_modules/@types/ws": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
- "integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz",
+ "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==",
"dev": true,
"dependencies": {
"@types/node": "*"
@@ -4699,6 +4980,7 @@
"version": "16.0.4",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
"integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
+ "dev": true,
"dependencies": {
"@types/yargs-parser": "*"
}
@@ -4706,7 +4988,8 @@
"node_modules/@types/yargs-parser": {
"version": "20.2.1",
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
- "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
+ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
+ "dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "5.8.1",
@@ -4740,14 +5023,18 @@
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
+ "node_modules/@typescript-eslint/experimental-utils": {
"version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
- "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.1.tgz",
+ "integrity": "sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww==",
"dev": true,
"dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "@typescript-eslint/scope-manager": "5.8.1",
"@typescript-eslint/types": "5.8.1",
- "@typescript-eslint/visitor-keys": "5.8.1"
+ "@typescript-eslint/typescript-estree": "5.8.1",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^3.0.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4755,50 +5042,22 @@
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
- "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
- "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.8.1",
- "eslint-visitor-keys": "^3.0.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/@typescript-eslint/experimental-utils": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.1.tgz",
- "integrity": "sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww==",
+ "node_modules/@typescript-eslint/parser": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.9.1.tgz",
+ "integrity": "sha512-PLYO0AmwD6s6n0ZQB5kqPgfvh73p0+VqopQQLuNfi7Lm0EpfKyDalchpVwkE+81k5HeiRrTV/9w1aNHzjD7C4g==",
"dev": true,
+ "peer": true,
"dependencies": {
- "@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.8.1",
- "@typescript-eslint/types": "5.8.1",
- "@typescript-eslint/typescript-estree": "5.8.1",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^3.0.0"
+ "@typescript-eslint/scope-manager": "5.9.1",
+ "@typescript-eslint/types": "5.9.1",
+ "@typescript-eslint/typescript-estree": "5.9.1",
+ "debug": "^4.3.2"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4809,16 +5068,22 @@
},
"peerDependencies": {
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
- "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
+ "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz",
+ "integrity": "sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ==",
"dev": true,
+ "peer": true,
"dependencies": {
- "@typescript-eslint/types": "5.8.1",
- "@typescript-eslint/visitor-keys": "5.8.1"
+ "@typescript-eslint/types": "5.9.1",
+ "@typescript-eslint/visitor-keys": "5.9.1"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4828,11 +5093,12 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
- "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
+ "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.9.1.tgz",
+ "integrity": "sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ==",
"dev": true,
+ "peer": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -4841,14 +5107,15 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz",
- "integrity": "sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==",
+ "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz",
+ "integrity": "sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A==",
"dev": true,
+ "peer": true,
"dependencies": {
- "@typescript-eslint/types": "5.8.1",
- "@typescript-eslint/visitor-keys": "5.8.1",
+ "@typescript-eslint/types": "5.9.1",
+ "@typescript-eslint/visitor-keys": "5.9.1",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@@ -4868,34 +5135,15 @@
}
}
},
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
- "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.8.1",
- "eslint-visitor-keys": "^3.0.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.4.0.tgz",
- "integrity": "sha512-JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw==",
+ "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz",
+ "integrity": "sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg==",
"dev": true,
"peer": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.4.0",
- "@typescript-eslint/types": "5.4.0",
- "@typescript-eslint/typescript-estree": "5.4.0",
- "debug": "^4.3.2"
+ "@typescript-eslint/types": "5.9.1",
+ "eslint-visitor-keys": "^3.0.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4903,25 +5151,16 @@
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz",
- "integrity": "sha512-pRxFjYwoi8R+n+sibjgF9iUiAELU9ihPBtHzocyW8v8D8G8KeQvXTsW7+CBYIyTYsmhtNk50QPGLE3vrvhM5KA==",
+ "version": "5.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
+ "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
"dev": true,
- "peer": true,
"dependencies": {
- "@typescript-eslint/types": "5.4.0",
- "@typescript-eslint/visitor-keys": "5.4.0"
+ "@typescript-eslint/types": "5.8.1",
+ "@typescript-eslint/visitor-keys": "5.8.1"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4932,11 +5171,10 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.4.0.tgz",
- "integrity": "sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA==",
+ "version": "5.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
+ "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
"dev": true,
- "peer": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -4946,14 +5184,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz",
- "integrity": "sha512-nhlNoBdhKuwiLMx6GrybPT3SFILm5Gij2YBdPEPFlYNFAXUJWX6QRgvi/lwVoadaQEFsizohs6aFRMqsXI2ewA==",
+ "version": "5.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz",
+ "integrity": "sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==",
"dev": true,
- "peer": true,
"dependencies": {
- "@typescript-eslint/types": "5.4.0",
- "@typescript-eslint/visitor-keys": "5.4.0",
+ "@typescript-eslint/types": "5.8.1",
+ "@typescript-eslint/visitor-keys": "5.8.1",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@@ -4974,13 +5211,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz",
- "integrity": "sha512-PVbax7MeE7tdLfW5SA0fs8NGVVr+buMPrcj+CWYWPXsZCH8qZ1THufDzbXm1xrZ2b2PA1iENJ0sRq5fuUtvsJg==",
+ "version": "5.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
+ "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
"dev": true,
- "peer": true,
"dependencies": {
- "@typescript-eslint/types": "5.4.0",
+ "@typescript-eslint/types": "5.8.1",
"eslint-visitor-keys": "^3.0.0"
},
"engines": {
@@ -5004,18 +5240,17 @@
}
},
"node_modules/@wry/equality": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz",
- "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==",
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.2.tgz",
+ "integrity": "sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==",
+ "dev": true,
"dependencies": {
- "tslib": "^1.9.3"
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/@wry/equality/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
"node_modules/@wry/trie": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.1.tgz",
@@ -5066,9 +5301,9 @@
}
},
"node_modules/acorn": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
- "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -5136,9 +5371,9 @@
}
},
"node_modules/agentkeepalive": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz",
- "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz",
+ "integrity": "sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==",
"dependencies": {
"debug": "^4.1.0",
"depd": "^1.1.2",
@@ -5590,26 +5825,10 @@
"resolved": "federation-integration-testsuite-js",
"link": true
},
- "node_modules/apollo-graphql": {
- "version": "0.9.5",
- "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.9.5.tgz",
- "integrity": "sha512-RGt5k2JeBqrmnwRM0VOgWFiGKlGJMfmiif/4JvdaEqhMJ+xqe/9cfDYzXfn33ke2eWixsAbjEbRfy8XbaN9nTw==",
- "dependencies": {
- "core-js-pure": "^3.10.2",
- "lodash.sortby": "^4.7.0",
- "sha.js": "^2.4.11"
- },
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "graphql": "^14.2.1 || ^15.0.0"
- }
- },
"node_modules/apollo-reporting-protobuf": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.2.0.tgz",
- "integrity": "sha512-2v/5IRJeTGakCJo8kS2LeKUcLsgqxO/HpEyu1EaW79F0CsvrIk10tOIGxouoOgtVl5e1wfGePJ849CUWWczx2A==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.3.0.tgz",
+ "integrity": "sha512-51Jwrg0NvHJfKz7TIGU8+Os3rUAqWtXeKRsRtKYtTeMSBPNhzz8UoGjAB3XyVmUXRE3IRmLtDPDRFL7qbxMI/w==",
"dependencies": {
"@apollo/protobufjs": "1.2.2"
}
@@ -5640,9 +5859,9 @@
}
},
"node_modules/apollo-server-core": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.5.0.tgz",
- "integrity": "sha512-c3wEnPSnzvWvYvRJq1B+yIpa+vBvm0kq0tvD4j/IOw/F1s3sadu43Xr4FiLw++UfeLyh3aS5Wk68hjvrW1ceiQ==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.6.1.tgz",
+ "integrity": "sha512-V2Us5x7d+w8dVdyFLxEygMgaQ3KZ6Z59HpaQBNHQ7C5wVZhjUXIsgbehBtfzQbMpyMx0z5/8Z8eIrC4zNoGJDw==",
"dependencies": {
"@apollographql/apollo-tools": "^0.5.1",
"@apollographql/graphql-playground-html": "1.6.29",
@@ -5651,16 +5870,16 @@
"@graphql-tools/utils": "^8.0.0",
"@josephg/resolvable": "^1.0.0",
"apollo-datasource": "^3.3.0",
- "apollo-graphql": "^0.9.0",
- "apollo-reporting-protobuf": "^3.2.0",
+ "apollo-reporting-protobuf": "^3.3.0",
"apollo-server-caching": "^3.3.0",
"apollo-server-env": "^4.2.0",
"apollo-server-errors": "^3.3.0",
- "apollo-server-plugin-base": "^3.4.0",
- "apollo-server-types": "^3.4.0",
+ "apollo-server-plugin-base": "^3.5.0",
+ "apollo-server-types": "^3.5.0",
"async-retry": "^1.2.1",
"fast-json-stable-stringify": "^2.1.0",
"graphql-tag": "^2.11.0",
+ "lodash.sortby": "^4.7.0",
"loglevel": "^1.6.8",
"lru-cache": "^6.0.0",
"sha.js": "^2.4.11",
@@ -5674,12 +5893,12 @@
}
},
"node_modules/apollo-server-core/node_modules/@graphql-tools/mock": {
- "version": "8.4.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.4.3.tgz",
- "integrity": "sha512-jj7obzDz4FAfmIGSh1Mo6cUs9d8MSaN6TH/iju3Qyuz6CZ6NLuJrWOg50ysEUgkT4Y/Aey8SlWOf/U15Z7qWYw==",
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.5.1.tgz",
+ "integrity": "sha512-cwwqGs9Rofev1JdMheAseqM/rw1uw4CYb35vv3Kcv2bbyiPF+490xdlHqFeIazceotMFxC60LlQztwb64rsEnw==",
"dependencies": {
"@graphql-tools/schema": "^8.3.1",
- "@graphql-tools/utils": "^8.5.1",
+ "@graphql-tools/utils": "^8.6.0",
"fast-json-stable-stringify": "^2.1.0",
"tslib": "~2.3.0"
},
@@ -5687,12 +5906,49 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
+ "node_modules/apollo-server-core/node_modules/@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
+ "dependencies": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/apollo-server-core/node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dependencies": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/apollo-server-core/node_modules/@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dependencies": {
+ "tslib": "~2.3.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
"node_modules/apollo-server-core/node_modules/apollo-server-plugin-base": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.4.0.tgz",
- "integrity": "sha512-Z9musk7Z/1v+Db6aOoxcHfmsgej2yEBzBz5kVGOc81/XAtdv6bjasKSLC3RiySAUzWSLBJRUeEGIEVhhk/j2Zg==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.5.0.tgz",
+ "integrity": "sha512-dpi+W6wexT4H3cjIhxC9SJABkR8TCfxycoHK+U4jxQXUdg50da+KnMgoWlQbF1tuXtUs4gnJtij1RjuGtKwBhw==",
"dependencies": {
- "apollo-server-types": "^3.4.0"
+ "apollo-server-types": "^3.5.0"
},
"engines": {
"node": ">=12.0"
@@ -5723,45 +5979,45 @@
"graphql": "^15.3.0 || ^16.0.0"
}
},
- "node_modules/apollo-server-express": {
+ "node_modules/apollo-server-types": {
"version": "3.5.0",
- "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.5.0.tgz",
- "integrity": "sha512-eFyBC4ate/g5GrvxM+HrtiElxCEbvG+CiJ0/R1i62L+wzXDhgD6MU0SW17ceS1mpBJgDxURu/VS5hUSNyWMa3Q==",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.5.0.tgz",
+ "integrity": "sha512-4JaZNu1kjrzIbppgc78hhIe2DFe+XONf8grprcjTOe0v8dIsuV0tFUnl+awTvTpHU1sdjRCKwnj382BebiL+qw==",
"dependencies": {
- "@types/accepts": "^1.3.5",
- "@types/body-parser": "1.19.1",
- "@types/cors": "2.8.12",
- "@types/express": "4.17.13",
- "@types/express-serve-static-core": "4.17.24",
- "accepts": "^1.3.5",
- "apollo-server-core": "^3.5.0",
- "apollo-server-types": "^3.4.0",
- "body-parser": "^1.19.0",
- "cors": "^2.8.5",
- "parseurl": "^1.3.3"
+ "apollo-reporting-protobuf": "^3.3.0",
+ "apollo-server-caching": "^3.3.0",
+ "apollo-server-env": "^4.2.0"
},
"engines": {
"node": ">=12.0"
},
"peerDependencies": {
- "express": "^4.17.1",
"graphql": "^15.3.0 || ^16.0.0"
}
},
- "node_modules/apollo-server-types": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.4.0.tgz",
- "integrity": "sha512-iFNRENtxDoFWoY+KxpGP+TYyRnqUPqUTubMJVgiXPDvOPFL8dzqGGmqq1g/VCeWFHRJTPBLWhOfQU7ktwDEjnQ==",
+ "node_modules/apollo-server/node_modules/apollo-server-express": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.6.1.tgz",
+ "integrity": "sha512-29imWvRPn5GsQq02Akt0+jejpWzpOIZfUmgoiFm4YB7somvhDNw15Pu7fv4sISK8ehNIDF68IpLd2cpY8sCkYQ==",
+ "dev": true,
"dependencies": {
- "apollo-reporting-protobuf": "^3.2.0",
- "apollo-server-caching": "^3.3.0",
- "apollo-server-env": "^4.2.0"
+ "@types/accepts": "^1.3.5",
+ "@types/body-parser": "1.19.2",
+ "@types/cors": "2.8.12",
+ "@types/express": "4.17.13",
+ "@types/express-serve-static-core": "4.17.27",
+ "accepts": "^1.3.5",
+ "apollo-server-core": "^3.6.1",
+ "apollo-server-types": "^3.5.0",
+ "body-parser": "^1.19.0",
+ "cors": "^2.8.5",
+ "parseurl": "^1.3.3"
},
"engines": {
"node": ">=12.0"
},
"peerDependencies": {
+ "express": "^4.17.1",
"graphql": "^15.3.0 || ^16.0.0"
}
},
@@ -5779,6 +6035,22 @@
"graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0"
}
},
+ "node_modules/apollo-utilities/node_modules/@wry/equality": {
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz",
+ "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==",
+ "dependencies": {
+ "tslib": "^1.9.3"
+ }
+ },
+ "node_modules/apollo-utilities/node_modules/ts-invariant": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz",
+ "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==",
+ "dependencies": {
+ "tslib": "^1.9.3"
+ }
+ },
"node_modules/apollo-utilities/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
@@ -5815,6 +6087,12 @@
"util-deprecate": "~1.0.1"
}
},
+ "node_modules/are-we-there-yet/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
"node_modules/are-we-there-yet/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -5981,9 +6259,9 @@
}
},
"node_modules/async": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz",
- "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==",
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
"dev": true
},
"node_modules/async-retry": {
@@ -5994,6 +6272,14 @@
"retry": "0.13.1"
}
},
+ "node_modules/async-retry/node_modules/retry": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -6059,15 +6345,15 @@
"dev": true
},
"node_modules/babel-jest": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.5.tgz",
- "integrity": "sha512-3uuUTjXbgtODmSv/DXO9nZfD52IyC2OYTFaXGRzL0kpykzroaquCrD5+lZNafTvZlnNqZHt5pb0M08qVBZnsnA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz",
+ "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==",
"dev": true,
"dependencies": {
- "@jest/transform": "^27.4.5",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
+ "babel-plugin-istanbul": "^6.1.1",
"babel-preset-jest": "^27.4.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
@@ -6105,31 +6391,6 @@
"node": ">=8"
}
},
- "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz",
- "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/babel-plugin-istanbul/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/babel-plugin-jest-hoist": {
"version": "27.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz",
@@ -6313,21 +6574,21 @@
}
},
"node_modules/body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz",
+ "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==",
"dev": true,
"dependencies": {
- "bytes": "3.1.0",
+ "bytes": "3.1.1",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
- "http-errors": "1.7.2",
+ "http-errors": "1.8.1",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
+ "qs": "6.9.6",
+ "raw-body": "2.4.2",
+ "type-is": "~1.6.18"
},
"engines": {
"node": ">= 0.8"
@@ -6376,13 +6637,13 @@
"dev": true
},
"node_modules/browserslist": {
- "version": "4.18.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz",
- "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==",
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
+ "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
"dev": true,
"dependencies": {
- "caniuse-lite": "^1.0.30001280",
- "electron-to-chromium": "^1.3.896",
+ "caniuse-lite": "^1.0.30001286",
+ "electron-to-chromium": "^1.4.17",
"escalade": "^3.1.1",
"node-releases": "^2.0.1",
"picocolors": "^1.0.0"
@@ -6510,9 +6771,9 @@
}
},
"node_modules/bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
+ "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
"dev": true,
"engines": {
"node": ">= 0.8"
@@ -6693,9 +6954,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001282",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz",
- "integrity": "sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==",
+ "version": "1.0.30001298",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz",
+ "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -6867,9 +7128,9 @@
}
},
"node_modules/ci-info": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
- "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz",
+ "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==",
"dev": true
},
"node_modules/cjs-module-lexer": {
@@ -7209,9 +7470,9 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/color-string": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz",
- "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz",
+ "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==",
"dev": true,
"dependencies": {
"color-name": "^1.0.0",
@@ -7394,12 +7655,12 @@
}
},
"node_modules/content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
"dev": true,
"dependencies": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "5.2.1"
},
"engines": {
"node": ">= 0.6"
@@ -7462,14 +7723,14 @@
}
},
"node_modules/conventional-changelog-writer": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz",
- "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz",
+ "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==",
"dev": true,
"dependencies": {
"conventional-commits-filter": "^2.0.7",
"dateformat": "^3.0.0",
- "handlebars": "^4.7.6",
+ "handlebars": "^4.7.7",
"json-stringify-safe": "^5.0.1",
"lodash": "^4.17.15",
"meow": "^8.0.0",
@@ -7507,9 +7768,9 @@
}
},
"node_modules/conventional-commits-parser": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz",
- "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz",
+ "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==",
"dev": true,
"dependencies": {
"is-text-path": "^1.0.1",
@@ -7557,10 +7818,16 @@
"safe-buffer": "~5.1.1"
}
},
+ "node_modules/convert-source-map/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
"node_modules/cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
"dev": true,
"engines": {
"node": ">= 0.6"
@@ -7581,16 +7848,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/core-js-pure": {
- "version": "3.19.1",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.1.tgz",
- "integrity": "sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ==",
- "hasInstallScript": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
"node_modules/core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -7784,32 +8041,6 @@
"node": ">=10"
}
},
- "node_modules/data-urls/node_modules/tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/data-urls/node_modules/whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/dataloader": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.0.0.tgz",
@@ -7847,9 +8078,9 @@
"dev": true
},
"node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dependencies": {
"ms": "2.1.2"
},
@@ -8263,9 +8494,9 @@
"dev": true
},
"node_modules/electron-to-chromium": {
- "version": "1.3.904",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.904.tgz",
- "integrity": "sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw==",
+ "version": "1.4.39",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.39.tgz",
+ "integrity": "sha512-bFH3gdRq/l7WlzSleiO6dwpZH3RhiJ8vlMq0tOJMfT+5nb+x397eJn2RHF6Ho/9GCKv+BkimNlUMHl9+Yh+Qcg==",
"dev": true
},
"node_modules/elegant-spinner": {
@@ -8469,275 +8700,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/esbuild": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.2.tgz",
- "integrity": "sha512-l076A6o/PIgcyM24s0dWmDI/b8RQf41uWoJu9I0M71CtW/YSw5T5NUeXxs5lo2tFQD+O4CW4nBHJXx3OY5NpXg==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "peer": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "optionalDependencies": {
- "esbuild-android-arm64": "0.14.2",
- "esbuild-darwin-64": "0.14.2",
- "esbuild-darwin-arm64": "0.14.2",
- "esbuild-freebsd-64": "0.14.2",
- "esbuild-freebsd-arm64": "0.14.2",
- "esbuild-linux-32": "0.14.2",
- "esbuild-linux-64": "0.14.2",
- "esbuild-linux-arm": "0.14.2",
- "esbuild-linux-arm64": "0.14.2",
- "esbuild-linux-mips64le": "0.14.2",
- "esbuild-linux-ppc64le": "0.14.2",
- "esbuild-netbsd-64": "0.14.2",
- "esbuild-openbsd-64": "0.14.2",
- "esbuild-sunos-64": "0.14.2",
- "esbuild-windows-32": "0.14.2",
- "esbuild-windows-64": "0.14.2",
- "esbuild-windows-arm64": "0.14.2"
- }
- },
- "node_modules/esbuild-android-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.2.tgz",
- "integrity": "sha512-hEixaKMN3XXCkoe+0WcexO4CcBVU5DCSUT+7P8JZiWZCbAjSkc9b6Yz2X5DSfQmRCtI/cQRU6TfMYrMQ5NBfdw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "peer": true
- },
- "node_modules/esbuild-darwin-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.2.tgz",
- "integrity": "sha512-Uq8t0cbJQkxkQdbUfOl2wZqZ/AtLZjvJulR1HHnc96UgyzG9YlCLSDMiqjM+NANEy7/zzvwKJsy3iNC9wwqLJA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "peer": true
- },
- "node_modules/esbuild-darwin-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.2.tgz",
- "integrity": "sha512-619MSa17sr7YCIrUj88KzQu2ESA4jKYtIYfLU/smX6qNgxQt3Y/gzM4s6sgJ4fPQzirvmXgcHv1ZNQAs/Xh48A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "peer": true
- },
- "node_modules/esbuild-freebsd-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.2.tgz",
- "integrity": "sha512-aP6FE/ZsChZpUV6F3HE3x1Pz0paoYXycJ7oLt06g0G9dhJKknPawXCqQg/WMyD+ldCEZfo7F1kavenPdIT/SGQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "peer": true
- },
- "node_modules/esbuild-freebsd-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.2.tgz",
- "integrity": "sha512-LSm98WTb1QIhyS83+Po0KTpZNdd2XpVpI9ua5rLWqKWbKeNRFwOsjeiuwBaRNc+O32s9oC2ZMefETxHBV6VNkQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "peer": true
- },
- "node_modules/esbuild-linux-32": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.2.tgz",
- "integrity": "sha512-8VxnNEyeUbiGflTKcuVc5JEPTqXfsx2O6ABwUbfS1Hp26lYPRPC7pKQK5Dxa0MBejGc50jy7YZae3EGQUQ8EkQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/esbuild-linux-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.2.tgz",
- "integrity": "sha512-4bzMS2dNxOJoFIiHId4w+tqQzdnsch71JJV1qZnbnErSFWcR9lRgpSqWnTTFtv6XM+MvltRzSXC5wQ7AEBY6Hg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/esbuild-linux-arm": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.2.tgz",
- "integrity": "sha512-PaylahvMHhH8YMfJPMKEqi64qA0Su+d4FNfHKvlKes/2dUe4QxgbwXT9oLVgy8iJdcFMrO7By4R8fS8S0p8aVQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/esbuild-linux-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.2.tgz",
- "integrity": "sha512-RlIVp0RwJrdtasDF1vTFueLYZ8WuFzxoQ1OoRFZOTyJHCGCNgh7xJIC34gd7B7+RT0CzLBB4LcM5n0LS+hIoww==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/esbuild-linux-mips64le": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.2.tgz",
- "integrity": "sha512-Fdwrq2roFnO5oetIiUQQueZ3+5soCxBSJswg3MvYaXDomj47BN6oAWMZgLrFh1oVrtWrxSDLCJBenYdbm2s+qQ==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/esbuild-linux-ppc64le": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.2.tgz",
- "integrity": "sha512-vxptskw8JfCDD9QqpRO0XnsM1osuWeRjPaXX1TwdveLogYsbdFtcuiuK/4FxGiNMUr1ojtnCS2rMPbY8puc5NA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/esbuild-netbsd-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.2.tgz",
- "integrity": "sha512-I8+LzYK5iSNpspS9eCV9sW67Rj8FgMHimGri4mKiGAmN0pNfx+hFX146rYtzGtewuxKtTsPywWteHx+hPRLDsw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "netbsd"
- ],
- "peer": true
- },
- "node_modules/esbuild-openbsd-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.2.tgz",
- "integrity": "sha512-120HgMe9elidWUvM2E6mMf0csrGwx8sYDqUIJugyMy1oHm+/nT08bTAVXuwYG/rkMIqsEO9AlMxuYnwR6En/3Q==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "openbsd"
- ],
- "peer": true
- },
- "node_modules/esbuild-sunos-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.2.tgz",
- "integrity": "sha512-Q3xcf9Uyfra9UuCFxoLixVvdigo0daZaKJ97TL2KNA4bxRUPK18wwGUk3AxvgDQZpRmg82w9PnkaNYo7a+24ow==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "sunos"
- ],
- "peer": true
- },
- "node_modules/esbuild-windows-32": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.2.tgz",
- "integrity": "sha512-TW7O49tPsrq+N1sW8mb3m24j/iDGa4xzAZH4wHWwoIzgtZAYPKC0hpIhufRRG/LA30bdMChO9pjJZ5mtcybtBQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true
- },
- "node_modules/esbuild-windows-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.2.tgz",
- "integrity": "sha512-Rym6ViMNmi1E2QuQMWy0AFAfdY0wGwZD73BnzlsQBX5hZBuy/L+Speh7ucUZ16gwsrMM9v86icZUDrSN/lNBKg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true
- },
- "node_modules/esbuild-windows-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.2.tgz",
- "integrity": "sha512-ZrLbhr0vX5Em/P1faMnHucjVVWPS+m3tktAtz93WkMZLmbRJevhiW1y4CbulBd2z0MEdXZ6emDa1zFHq5O5bSA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true
- },
"node_modules/escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -8849,14 +8811,14 @@
}
},
"node_modules/eslint": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz",
- "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==",
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz",
+ "integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==",
"dev": true,
"peer": true,
"dependencies": {
- "@eslint/eslintrc": "^1.0.4",
- "@humanwhocodes/config-array": "^0.6.0",
+ "@eslint/eslintrc": "^1.0.5",
+ "@humanwhocodes/config-array": "^0.9.2",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -8867,7 +8829,7 @@
"eslint-scope": "^7.1.0",
"eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.1.0",
- "espree": "^9.1.0",
+ "espree": "^9.3.0",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@@ -9001,13 +8963,13 @@
}
},
"node_modules/espree": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
- "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz",
+ "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==",
"dev": true,
"peer": true,
"dependencies": {
- "acorn": "^8.6.0",
+ "acorn": "^8.7.0",
"acorn-jsx": "^5.3.1",
"eslint-visitor-keys": "^3.1.0"
},
@@ -9275,46 +9237,32 @@
"dev": true
},
"node_modules/expect": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.2.tgz",
- "integrity": "sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz",
+ "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
- "ansi-styles": "^5.0.0",
"jest-get-type": "^27.4.0",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-regex-util": "^27.4.0"
+ "jest-matcher-utils": "^27.4.6",
+ "jest-message-util": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
- "node_modules/expect/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
"node_modules/express": {
- "version": "4.17.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz",
+ "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==",
"dev": true,
"dependencies": {
"accepts": "~1.3.7",
"array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
+ "body-parser": "1.19.1",
+ "content-disposition": "0.5.4",
"content-type": "~1.0.4",
- "cookie": "0.4.0",
+ "cookie": "0.4.1",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
@@ -9328,13 +9276,13 @@
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.9.6",
"range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.17.2",
+ "serve-static": "1.14.2",
+ "setprototypeof": "1.2.0",
"statuses": "~1.5.0",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
@@ -9438,9 +9386,9 @@
"dev": true
},
"node_modules/fast-glob": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
- "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "version": "3.2.10",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz",
+ "integrity": "sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==",
"dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@@ -9450,7 +9398,7 @@
"micromatch": "^4.0.4"
},
"engines": {
- "node": ">=8"
+ "node": ">=8.6.0"
}
},
"node_modules/fast-json-stable-stringify": {
@@ -9488,9 +9436,9 @@
}
},
"node_modules/fbjs": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.1.tgz",
- "integrity": "sha512-8+vkGyT4lNDRKHQNPp0yh/6E7FfkLg89XqQbOYnvntRh+8RiSD43yrh9E5ejp1muCizTL4nDVG+y8W4e+LROHg==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.2.tgz",
+ "integrity": "sha512-qv+boqYndjElAJHNN3NoM8XuwQZ1j2m3kEvTgdle8IDjr6oUbkEpvABWtj/rQl3vq4ew7dnElBxL4YJAwTVqQQ==",
"dev": true,
"dependencies": {
"cross-fetch": "^3.0.4",
@@ -9693,6 +9641,34 @@
"node": ">= 6"
}
},
+ "node_modules/form-data-encoder": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz",
+ "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==",
+ "dev": true
+ },
+ "node_modules/formdata-node": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.2.tgz",
+ "integrity": "sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==",
+ "dev": true,
+ "dependencies": {
+ "node-domexception": "1.0.0",
+ "web-streams-polyfill": "4.0.0-beta.1"
+ },
+ "engines": {
+ "node": ">= 12.20"
+ }
+ },
+ "node_modules/formdata-node/node_modules/web-streams-polyfill": {
+ "version": "4.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz",
+ "integrity": "sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 12"
+ }
+ },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -9921,6 +9897,12 @@
"util-deprecate": "~1.0.1"
}
},
+ "node_modules/get-pkg-repo/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
"node_modules/get-pkg-repo/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -10030,9 +10012,9 @@
}
},
"node_modules/git-raw-commits": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz",
- "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz",
+ "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==",
"dev": true,
"dependencies": {
"dargs": "^7.0.0",
@@ -10184,16 +10166,16 @@
}
},
"node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dev": true,
"dependencies": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
"slash": "^3.0.0"
},
"engines": {
@@ -10238,9 +10220,9 @@
}
},
"node_modules/graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "version": "4.2.9",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
"dev": true
},
"node_modules/graphql": {
@@ -10251,70 +10233,6 @@
"node": ">= 10.x"
}
},
- "node_modules/graphql-config": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-4.1.0.tgz",
- "integrity": "sha512-Myqay6pmdcmX3KqoH+bMbeKZ1cTODpHS2CxF1ZzNnfTE+YUpGTcp01bOw6LpzamRb0T/WTYtGFbZeXGo9Hab2Q==",
- "dev": true,
- "dependencies": {
- "@endemolshinegroup/cosmiconfig-typescript-loader": "3.0.2",
- "@graphql-tools/graphql-file-loader": "^7.3.2",
- "@graphql-tools/json-file-loader": "^7.3.2",
- "@graphql-tools/load": "^7.4.1",
- "@graphql-tools/merge": "^8.2.1",
- "@graphql-tools/url-loader": "^7.4.2",
- "@graphql-tools/utils": "^8.5.1",
- "cosmiconfig": "7.0.1",
- "cosmiconfig-toml-loader": "1.0.0",
- "minimatch": "3.0.4",
- "string-env-interpolation": "1.0.1"
- },
- "engines": {
- "node": ">= 10.0.0"
- },
- "peerDependencies": {
- "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/graphql-config/node_modules/@graphql-tools/merge": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
- "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
- "dev": true,
- "dependencies": {
- "@graphql-tools/utils": "^8.5.1",
- "tslib": "~2.3.0"
- },
- "peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/graphql-request": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.6.1.tgz",
- "integrity": "sha512-Nm1EasrAQVZllyNTlHDLnLZjlhC6eRWnWP6KH//ytnAL08pjlLkdI2K+s6OV92p45hn5b/kUlLbDwACmRoLwrQ==",
- "dev": true,
- "dependencies": {
- "cross-fetch": "^3.0.6",
- "extract-files": "^9.0.0",
- "form-data": "^3.0.0"
- },
- "peerDependencies": {
- "graphql": "14.x || 15.x"
- }
- },
- "node_modules/graphql-request/node_modules/extract-files": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz",
- "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==",
- "dev": true,
- "engines": {
- "node": "^10.17.0 || ^12.0.0 || >= 13.7.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/jaydenseric"
- }
- },
"node_modules/graphql-tag": {
"version": "2.12.6",
"resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
@@ -10550,16 +10468,10 @@
"react-is": "^16.7.0"
}
},
- "node_modules/hoist-non-react-statics/node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
- },
"node_modules/hosted-git-info": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
- "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -10592,34 +10504,27 @@
"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
},
"node_modules/http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"dev": true,
"dependencies": {
"depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
"statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
+ "toidentifier": "1.0.1"
},
"engines": {
"node": ">= 0.6"
}
},
- "node_modules/http-errors/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
"node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
"dependencies": {
- "@tootallnate/once": "2",
+ "@tootallnate/once": "1",
"agent-base": "6",
"debug": "4"
},
@@ -10704,9 +10609,9 @@
]
},
"node_modules/ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -10759,9 +10664,9 @@
}
},
"node_modules/import-local": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz",
- "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
"dev": true,
"dependencies": {
"pkg-dir": "^4.2.0",
@@ -10772,6 +10677,9 @@
},
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/imurmurhash": {
@@ -10859,21 +10767,22 @@
}
},
"node_modules/inquirer": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
- "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz",
+ "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==",
"dev": true,
"dependencies": {
"ansi-escapes": "^4.2.1",
- "chalk": "^4.1.0",
+ "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.19",
+ "lodash": "^4.17.21",
"mute-stream": "0.0.8",
+ "ora": "^5.4.1",
"run-async": "^2.4.0",
- "rxjs": "^6.6.0",
+ "rxjs": "^7.2.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0",
"through": "^2.3.6"
@@ -11019,10 +10928,28 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "dependencies": {
+ "ci-info": "^2.0.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
+ "node_modules/is-ci/node_modules/ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
"node_modules/is-core-module": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
- "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
+ "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
@@ -11173,9 +11100,9 @@
"dev": true
},
"node_modules/is-negative-zero": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
- "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+ "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
"engines": {
"node": ">= 0.4"
},
@@ -11227,6 +11154,15 @@
"node": ">=4"
}
},
+ "node_modules/is-observable/node_modules/symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-plain-obj": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
@@ -11436,20 +11372,24 @@
}
},
"node_modules/is-weakref": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz",
- "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+ "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
"dependencies": {
- "call-bind": "^1.0.0"
+ "call-bind": "^1.0.2"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-weakset": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz",
- "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
+ "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -11532,14 +11472,15 @@
}
},
"node_modules/istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz",
+ "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.7.5",
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
"@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-coverage": "^3.2.0",
"semver": "^6.3.0"
},
"engines": {
@@ -11584,9 +11525,9 @@
}
},
"node_modules/istanbul-reports": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz",
- "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz",
+ "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==",
"dev": true,
"dependencies": {
"html-escaper": "^2.0.0",
@@ -11642,27 +11583,27 @@
}
},
"node_modules/jest-circus": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.5.tgz",
- "integrity": "sha512-eTNWa9wsvBwPykhMMShheafbwyakcdHZaEYh5iRrQ0PFJxkDP/e3U/FvzGuKWu2WpwUA3C3hPlfpuzvOdTVqnw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz",
+ "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.4",
- "@jest/test-result": "^27.4.2",
+ "@jest/environment": "^27.4.6",
+ "@jest/test-result": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
"dedent": "^0.7.0",
- "expect": "^27.4.2",
+ "expect": "^27.4.6",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.2",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
+ "jest-each": "^27.4.6",
+ "jest-matcher-utils": "^27.4.6",
+ "jest-message-util": "^27.4.6",
+ "jest-runtime": "^27.4.6",
+ "jest-snapshot": "^27.4.6",
"jest-util": "^27.4.2",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.4.6",
"slash": "^3.0.0",
"stack-utils": "^2.0.3",
"throat": "^6.0.1"
@@ -11672,21 +11613,21 @@
}
},
"node_modules/jest-cli": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.5.tgz",
- "integrity": "sha512-hrky3DSgE0u7sQxaCL7bdebEPHx5QzYmrGuUjaPLmPE8jx5adtvGuOlRspvMoVLTTDOHRnZDoRLYJuA+VCI7Hg==",
+ "version": "27.4.7",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz",
+ "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==",
"dev": true,
"dependencies": {
- "@jest/core": "^27.4.5",
- "@jest/test-result": "^27.4.2",
+ "@jest/core": "^27.4.7",
+ "@jest/test-result": "^27.4.6",
"@jest/types": "^27.4.2",
"chalk": "^4.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"import-local": "^3.0.2",
- "jest-config": "^27.4.5",
+ "jest-config": "^27.4.7",
"jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "jest-validate": "^27.4.6",
"prompts": "^2.0.1",
"yargs": "^16.2.0"
},
@@ -11705,6 +11646,47 @@
}
}
},
+ "node_modules/jest-cli/node_modules/jest-config": {
+ "version": "27.4.7",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz",
+ "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.8.0",
+ "@jest/test-sequencer": "^27.4.6",
+ "@jest/types": "^27.4.2",
+ "babel-jest": "^27.4.6",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-circus": "^27.4.6",
+ "jest-environment-jsdom": "^27.4.6",
+ "jest-environment-node": "^27.4.6",
+ "jest-get-type": "^27.4.0",
+ "jest-jasmine2": "^27.4.6",
+ "jest-regex-util": "^27.4.0",
+ "jest-resolve": "^27.4.6",
+ "jest-runner": "^27.4.6",
+ "jest-util": "^27.4.2",
+ "jest-validate": "^27.4.6",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.4.6",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
"node_modules/jest-cli/node_modules/yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -12132,9 +12114,9 @@
}
},
"node_modules/jest-cucumber/node_modules/camelcase": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
- "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true,
"engines": {
"node": ">=10"
@@ -12143,12 +12125,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/jest-cucumber/node_modules/ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
"node_modules/jest-cucumber/node_modules/cjs-module-lexer": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz",
@@ -12257,16 +12233,28 @@
"node": ">=8.12.0"
}
},
- "node_modules/jest-cucumber/node_modules/is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "node_modules/jest-cucumber/node_modules/istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
"dev": true,
"dependencies": {
- "ci-info": "^2.0.0"
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
},
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-cucumber/node_modules/istanbul-lib-instrument/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true,
"bin": {
- "is-ci": "bin.js"
+ "semver": "bin/semver.js"
}
},
"node_modules/jest-cucumber/node_modules/jest": {
@@ -12898,6 +12886,12 @@
"node": ">= 10"
}
},
+ "node_modules/jest-cucumber/node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+ "dev": true
+ },
"node_modules/jest-cucumber/node_modules/read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -13042,15 +13036,15 @@
}
},
"node_modules/jest-diff": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.2.tgz",
- "integrity": "sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz",
+ "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
"diff-sequences": "^27.4.0",
"jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -13069,32 +13063,32 @@
}
},
"node_modules/jest-each": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.2.tgz",
- "integrity": "sha512-53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz",
+ "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
"chalk": "^4.0.0",
"jest-get-type": "^27.4.0",
"jest-util": "^27.4.2",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-environment-jsdom": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.4.tgz",
- "integrity": "sha512-cYR3ndNfHBqQgFvS1RL7dNqSvD//K56j/q1s2ygNHcfTCAp12zfIromO1w3COmXrxS8hWAh7+CmZmGCIoqGcGA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz",
+ "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.4",
- "@jest/fake-timers": "^27.4.2",
+ "@jest/environment": "^27.4.6",
+ "@jest/fake-timers": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
- "jest-mock": "^27.4.2",
+ "jest-mock": "^27.4.6",
"jest-util": "^27.4.2",
"jsdom": "^16.6.0"
},
@@ -13103,16 +13097,16 @@
}
},
"node_modules/jest-environment-node": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.4.tgz",
- "integrity": "sha512-D+v3lbJ2GjQTQR23TK0kY3vFVmSeea05giInI41HHOaJnAwOnmUHTZgUaZL+VxUB43pIzoa7PMwWtCVlIUoVoA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz",
+ "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.4",
- "@jest/fake-timers": "^27.4.2",
+ "@jest/environment": "^27.4.6",
+ "@jest/fake-timers": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
- "jest-mock": "^27.4.2",
+ "jest-mock": "^27.4.6",
"jest-util": "^27.4.2"
},
"engines": {
@@ -13129,9 +13123,9 @@
}
},
"node_modules/jest-haste-map": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.5.tgz",
- "integrity": "sha512-oJm1b5qhhPs78K24EDGifWS0dELYxnoBiDhatT/FThgB9yxqUm5F6li3Pv+Q+apMBmmPNzOBnZ7ZxWMB1Leq1Q==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz",
+ "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
@@ -13143,7 +13137,7 @@
"jest-regex-util": "^27.4.0",
"jest-serializer": "^27.4.0",
"jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "jest-worker": "^27.4.6",
"micromatch": "^4.0.4",
"walker": "^1.0.7"
},
@@ -13155,28 +13149,27 @@
}
},
"node_modules/jest-jasmine2": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.5.tgz",
- "integrity": "sha512-oUnvwhJDj2LhOiUB1kdnJjkx8C5PwgUZQb9urF77mELH9DGR4e2GqpWQKBOYXWs5+uTN9BGDqRz3Aeg5Wts7aw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz",
+ "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==",
"dev": true,
"dependencies": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.4.4",
+ "@jest/environment": "^27.4.6",
"@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.2",
+ "@jest/test-result": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
- "expect": "^27.4.2",
+ "expect": "^27.4.6",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.2",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
+ "jest-each": "^27.4.6",
+ "jest-matcher-utils": "^27.4.6",
+ "jest-message-util": "^27.4.6",
+ "jest-runtime": "^27.4.6",
+ "jest-snapshot": "^27.4.6",
"jest-util": "^27.4.2",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.4.6",
"throat": "^6.0.1"
},
"engines": {
@@ -13199,37 +13192,37 @@
}
},
"node_modules/jest-leak-detector": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.2.tgz",
- "integrity": "sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz",
+ "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==",
"dev": true,
"dependencies": {
"jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-matcher-utils": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz",
- "integrity": "sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz",
+ "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
- "jest-diff": "^27.4.2",
+ "jest-diff": "^27.4.6",
"jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-message-util": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.2.tgz",
- "integrity": "sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz",
+ "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.12.13",
@@ -13238,7 +13231,7 @@
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
"micromatch": "^4.0.4",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.4.6",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -13247,9 +13240,9 @@
}
},
"node_modules/jest-mock": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.2.tgz",
- "integrity": "sha512-PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz",
+ "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
@@ -13286,18 +13279,18 @@
}
},
"node_modules/jest-resolve": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.5.tgz",
- "integrity": "sha512-xU3z1BuOz/hUhVUL+918KqUgK+skqOuUsAi7A+iwoUldK6/+PW+utK8l8cxIWT9AW7IAhGNXjSAh1UYmjULZZw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz",
+ "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
+ "jest-haste-map": "^27.4.6",
"jest-pnp-resolver": "^1.2.2",
"jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "jest-validate": "^27.4.6",
"resolve": "^1.20.0",
"resolve.exports": "^1.1.0",
"slash": "^3.0.0"
@@ -13307,29 +13300,29 @@
}
},
"node_modules/jest-resolve-dependencies": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.5.tgz",
- "integrity": "sha512-elEVvkvRK51y037NshtEkEnukMBWvlPzZHiL847OrIljJ8yIsujD2GXRPqDXC4rEVKbcdsy7W0FxoZb4WmEs7w==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz",
+ "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
"jest-regex-util": "^27.4.0",
- "jest-snapshot": "^27.4.5"
+ "jest-snapshot": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-runner": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.5.tgz",
- "integrity": "sha512-/irauncTfmY1WkTaRQGRWcyQLzK1g98GYG/8QvIPviHgO1Fqz1JYeEIsSfF+9mc/UTA6S+IIHFgKyvUrtiBIZg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz",
+ "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==",
"dev": true,
"dependencies": {
- "@jest/console": "^27.4.2",
- "@jest/environment": "^27.4.4",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
+ "@jest/console": "^27.4.6",
+ "@jest/environment": "^27.4.6",
+ "@jest/test-result": "^27.4.6",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
@@ -13337,15 +13330,15 @@
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"jest-docblock": "^27.4.0",
- "jest-environment-jsdom": "^27.4.4",
- "jest-environment-node": "^27.4.4",
- "jest-haste-map": "^27.4.5",
- "jest-leak-detector": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-resolve": "^27.4.5",
- "jest-runtime": "^27.4.5",
+ "jest-environment-jsdom": "^27.4.6",
+ "jest-environment-node": "^27.4.6",
+ "jest-haste-map": "^27.4.6",
+ "jest-leak-detector": "^27.4.6",
+ "jest-message-util": "^27.4.6",
+ "jest-resolve": "^27.4.6",
+ "jest-runtime": "^27.4.6",
"jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "jest-worker": "^27.4.6",
"source-map-support": "^0.5.6",
"throat": "^6.0.1"
},
@@ -13354,60 +13347,38 @@
}
},
"node_modules/jest-runtime": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.5.tgz",
- "integrity": "sha512-CIYqwuJQXHQtPd/idgrx4zgJ6iCb6uBjQq1RSAGQrw2S8XifDmoM1Ot8NRd80ooAm+ZNdHVwsktIMGlA1F1FAQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz",
+ "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==",
"dev": true,
"dependencies": {
- "@jest/console": "^27.4.2",
- "@jest/environment": "^27.4.4",
- "@jest/globals": "^27.4.4",
+ "@jest/environment": "^27.4.6",
+ "@jest/fake-timers": "^27.4.6",
+ "@jest/globals": "^27.4.6",
"@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
+ "@jest/test-result": "^27.4.6",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
- "@types/yargs": "^16.0.0",
"chalk": "^4.0.0",
"cjs-module-lexer": "^1.0.0",
"collect-v8-coverage": "^1.0.0",
"execa": "^5.0.0",
- "exit": "^0.1.2",
"glob": "^7.1.3",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
- "jest-message-util": "^27.4.2",
- "jest-mock": "^27.4.2",
+ "jest-haste-map": "^27.4.6",
+ "jest-message-util": "^27.4.6",
+ "jest-mock": "^27.4.6",
"jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-snapshot": "^27.4.5",
+ "jest-resolve": "^27.4.6",
+ "jest-snapshot": "^27.4.6",
"jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
"slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.2.0"
+ "strip-bom": "^4.0.0"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
- "node_modules/jest-runtime/node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/jest-serializer": {
"version": "27.4.0",
"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz",
@@ -13422,34 +13393,32 @@
}
},
"node_modules/jest-snapshot": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.5.tgz",
- "integrity": "sha512-eCi/iM1YJFrJWiT9de4+RpWWWBqsHiYxFG9V9o/n0WXs6GpW4lUt4FAHAgFPTLPqCUVzrMQmSmTZSgQzwqR7IQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz",
+ "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==",
"dev": true,
"dependencies": {
"@babel/core": "^7.7.2",
"@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
"@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.0.0",
- "@jest/transform": "^27.4.5",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/babel__traverse": "^7.0.4",
"@types/prettier": "^2.1.5",
"babel-preset-current-node-syntax": "^1.0.0",
"chalk": "^4.0.0",
- "expect": "^27.4.2",
+ "expect": "^27.4.6",
"graceful-fs": "^4.2.4",
- "jest-diff": "^27.4.2",
+ "jest-diff": "^27.4.6",
"jest-get-type": "^27.4.0",
- "jest-haste-map": "^27.4.5",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-resolve": "^27.4.5",
+ "jest-haste-map": "^27.4.6",
+ "jest-matcher-utils": "^27.4.6",
+ "jest-message-util": "^27.4.6",
"jest-util": "^27.4.2",
"natural-compare": "^1.4.0",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.4.6",
"semver": "^7.3.2"
},
"engines": {
@@ -13474,9 +13443,9 @@
}
},
"node_modules/jest-validate": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.2.tgz",
- "integrity": "sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz",
+ "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==",
"dev": true,
"dependencies": {
"@jest/types": "^27.4.2",
@@ -13484,16 +13453,16 @@
"chalk": "^4.0.0",
"jest-get-type": "^27.4.0",
"leven": "^3.1.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-validate/node_modules/camelcase": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
- "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true,
"engines": {
"node": ">=10"
@@ -13503,12 +13472,12 @@
}
},
"node_modules/jest-watcher": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.2.tgz",
- "integrity": "sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz",
+ "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==",
"dev": true,
"dependencies": {
- "@jest/test-result": "^27.4.2",
+ "@jest/test-result": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
@@ -13521,9 +13490,9 @@
}
},
"node_modules/jest-worker": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz",
- "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz",
+ "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==",
"dev": true,
"dependencies": {
"@types/node": "*",
@@ -13627,76 +13596,6 @@
}
}
},
- "node_modules/jsdom/node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/jsdom/node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/jsdom/node_modules/tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jsdom/node_modules/whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/jsdom/node_modules/ws": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
- "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
- "dev": true,
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -13728,9 +13627,9 @@
"dev": true
},
"node_modules/json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
"dev": true
},
"node_modules/json-schema-traverse": {
@@ -13867,18 +13766,18 @@
}
},
"node_modules/jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
"dev": true,
- "engines": [
- "node >=0.6.0"
- ],
"dependencies": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
- "json-schema": "0.2.3",
+ "json-schema": "0.4.0",
"verror": "1.10.0"
+ },
+ "engines": {
+ "node": ">=0.6.0"
}
},
"node_modules/jwa": {
@@ -14047,29 +13946,6 @@
"node": ">=10"
}
},
- "node_modules/libnpmaccess/node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/libnpmaccess/node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/libnpmaccess/node_modules/make-fetch-happen": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
@@ -14115,9 +13991,9 @@
}
},
"node_modules/libnpmaccess/node_modules/socks-proxy-agent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz",
- "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
+ "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
"dev": true,
"dependencies": {
"agent-base": "^6.0.2",
@@ -14144,29 +14020,6 @@
"node": ">=10"
}
},
- "node_modules/libnpmpublish/node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/libnpmpublish/node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/libnpmpublish/node_modules/make-fetch-happen": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
@@ -14212,9 +14065,9 @@
}
},
"node_modules/libnpmpublish/node_modules/socks-proxy-agent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz",
- "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
+ "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
"dev": true,
"dependencies": {
"agent-base": "^6.0.2",
@@ -14533,6 +14386,24 @@
"node": ">=6"
}
},
+ "node_modules/listr/node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
+ "node_modules/listr/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
"node_modules/load-json-file": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
@@ -14910,12 +14781,12 @@
"dev": true
},
"node_modules/logform": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz",
- "integrity": "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.2.tgz",
+ "integrity": "sha512-V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==",
"dev": true,
"dependencies": {
- "colors": "^1.2.1",
+ "colors": "1.4.0",
"fecha": "^4.2.0",
"ms": "^2.1.1",
"safe-stable-stringify": "^1.1.0",
@@ -15053,27 +14924,6 @@
"node": ">= 10"
}
},
- "node_modules/make-fetch-happen/node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/make-fetch-happen/node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/makeerror": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
@@ -15372,9 +15222,9 @@
}
},
"node_modules/minipass": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz",
- "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
+ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -15563,6 +15413,23 @@
"node": ">=6"
}
},
+ "node_modules/mocked-env/node_modules/debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
"node_modules/modify-values": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz",
@@ -15820,6 +15687,25 @@
"node": ">= 10.13"
}
},
+ "node_modules/node-domexception": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "github",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "engines": {
+ "node": ">=10.5.0"
+ }
+ },
"node_modules/node-fetch": {
"version": "2.6.6",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz",
@@ -15933,26 +15819,6 @@
"rimraf": "bin.js"
}
},
- "node_modules/node-gyp/node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
"node_modules/node-gyp/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@@ -16004,15 +15870,6 @@
"integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
"dev": true
},
- "node_modules/node-modules-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
- "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/node-notifier": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz",
@@ -16347,9 +16204,9 @@
}
},
"node_modules/object-inspect": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz",
- "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+ "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -16589,15 +16446,15 @@
}
},
"node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"dependencies": {
- "yocto-queue": "^0.1.0"
+ "p-try": "^2.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -16615,21 +16472,6 @@
"node": ">=8"
}
},
- "node_modules/p-locate/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/p-map": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
@@ -16783,29 +16625,6 @@
"node": ">=10"
}
},
- "node_modules/pacote/node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/pacote/node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/pacote/node_modules/make-fetch-happen": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
@@ -16851,9 +16670,9 @@
}
},
"node_modules/pacote/node_modules/socks-proxy-agent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz",
- "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
+ "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
"dev": true,
"dependencies": {
"agent-base": "^6.0.2",
@@ -16930,21 +16749,6 @@
"query-string": "^6.13.8"
}
},
- "node_modules/parse-path/node_modules/qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
- "dev": true,
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/parse-url": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz",
@@ -17094,9 +16898,9 @@
"dev": true
},
"node_modules/picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"engines": {
"node": ">=8.6"
@@ -17118,13 +16922,10 @@
}
},
"node_modules/pirates": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
- "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz",
+ "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==",
"dev": true,
- "dependencies": {
- "node-modules-regexp": "^1.0.0"
- },
"engines": {
"node": ">= 6"
}
@@ -17191,11 +16992,10 @@
}
},
"node_modules/pretty-format": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.2.tgz",
- "integrity": "sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz",
+ "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==",
"dependencies": {
- "@jest/types": "^27.4.2",
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
"react-is": "^17.0.1"
@@ -17215,6 +17015,11 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/pretty-format/node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -17257,14 +17062,6 @@
"node": ">=10"
}
},
- "node_modules/promise-retry/node_modules/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/prompt-actions": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/prompt-actions/-/prompt-actions-3.0.2.tgz",
@@ -17474,22 +17271,16 @@
}
},
"node_modules/prop-types": {
- "version": "15.7.2",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
- "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"dev": true,
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
- "react-is": "^16.8.1"
+ "react-is": "^16.13.1"
}
},
- "node_modules/prop-types/node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
- },
"node_modules/propagate": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz",
@@ -17532,9 +17323,9 @@
}
},
"node_modules/protobufjs/node_modules/@types/node": {
- "version": "16.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.9.tgz",
- "integrity": "sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A==",
+ "version": "17.0.8",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz",
+ "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==",
"dev": true
},
"node_modules/protocols": {
@@ -17591,12 +17382,15 @@
}
},
"node_modules/qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
+ "version": "6.9.6",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
+ "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
"dev": true,
"engines": {
"node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/query-string": {
@@ -17676,13 +17470,13 @@
}
},
"node_modules/raw-body": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
+ "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
"dev": true,
"dependencies": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
+ "bytes": "3.1.1",
+ "http-errors": "1.8.1",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
@@ -17715,9 +17509,10 @@
}
},
"node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "dev": true
},
"node_modules/read": {
"version": "1.0.7",
@@ -17769,6 +17564,7 @@
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
"integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
+ "deprecated": "The functionality that this package provided is now in @npmcli/arborist",
"dev": true,
"dependencies": {
"read-package-json": "^2.0.0",
@@ -18534,13 +18330,17 @@
"dev": true
},
"node_modules/resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
+ "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
"dev": true,
"dependencies": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
+ "is-core-module": "^2.8.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -18624,9 +18424,9 @@
}
},
"node_modules/retry": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
"engines": {
"node": ">= 4"
}
@@ -18760,27 +18560,32 @@
}
},
"node_modules/rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.1.tgz",
+ "integrity": "sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ==",
"dev": true,
"dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
+ "tslib": "^2.1.0"
}
},
- "node_modules/rxjs/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
"node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
},
"node_modules/safe-json-stringify": {
"version": "1.2.0",
@@ -19154,9 +18959,9 @@
}
},
"node_modules/send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "version": "0.17.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
+ "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==",
"dev": true,
"dependencies": {
"debug": "2.6.9",
@@ -19166,9 +18971,9 @@
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
- "http-errors": "~1.7.2",
+ "http-errors": "1.8.1",
"mime": "1.6.0",
- "ms": "2.1.1",
+ "ms": "2.1.3",
"on-finished": "~2.3.0",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
@@ -19193,9 +18998,9 @@
"dev": true
},
"node_modules/send/node_modules/ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"node_modules/sentence-case": {
@@ -19210,15 +19015,15 @@
}
},
"node_modules/serve-static": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",
+ "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==",
"dev": true,
"dependencies": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
- "send": "0.17.1"
+ "send": "0.17.2"
},
"engines": {
"node": ">= 0.8.0"
@@ -19273,9 +19078,9 @@
"dev": true
},
"node_modules/setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"dev": true
},
"node_modules/sha.js": {
@@ -19807,9 +19612,9 @@
"dev": true
},
"node_modules/sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
"dev": true,
"dependencies": {
"asn1": "~0.2.3",
@@ -20050,26 +19855,6 @@
"safe-buffer": "~5.2.0"
}
},
- "node_modules/string_decoder/node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
"node_modules/string-env-interpolation": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz",
@@ -20250,6 +20035,18 @@
"node": ">=8"
}
},
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/swap-case": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz",
@@ -20260,12 +20057,12 @@
}
},
"node_modules/symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
+ "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.10"
}
},
"node_modules/symbol-tree": {
@@ -20617,9 +20414,9 @@
}
},
"node_modules/toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true,
"engines": {
"node": ">=0.6"
@@ -20684,18 +20481,17 @@
}
},
"node_modules/ts-invariant": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz",
- "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==",
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.4.tgz",
+ "integrity": "sha512-63jtX/ZSwnUNi/WhXjnK8kz4cHHpYS60AnmA6ixz17l7E12a5puCWFlNpkne5Rl0J8TBPVHpGjsj4fxs8ObVLQ==",
+ "dev": true,
"dependencies": {
- "tslib": "^1.9.3"
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/ts-invariant/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
"node_modules/ts-jest": {
"version": "27.1.2",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.2.tgz",
@@ -20746,6 +20542,32 @@
"integrity": "sha512-DEQrfv6l7IvN2jlzc/VTdZJYsWUnQNCsueYjMkC/iXoEoi5fNan6MjeDqkvhfzbmHgdz9UxDUluX3V5HdjTydQ==",
"dev": true
},
+ "node_modules/ts-node": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
+ "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
+ "dev": true,
+ "dependencies": {
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "source-map-support": "^0.5.17",
+ "yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.7"
+ }
+ },
"node_modules/tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
@@ -20885,9 +20707,9 @@
}
},
"node_modules/uglify-js": {
- "version": "3.14.3",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz",
- "integrity": "sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==",
+ "version": "3.14.5",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz",
+ "integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==",
"dev": true,
"optional": true,
"bin": {
@@ -20936,9 +20758,9 @@
}
},
"node_modules/undici": {
- "version": "4.10.2",
- "resolved": "https://registry.npmjs.org/undici/-/undici-4.10.2.tgz",
- "integrity": "sha512-QoQH4PpV3dqJwr4h1HazggbB4f5CBknvYANjI9hxXCml+AAzLoh4HBkce0Jc0wW/pmVbrus8Gfeo8QounE+/9g==",
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-4.12.1.tgz",
+ "integrity": "sha512-MSfap7YiQJqTPP12C11PFRs9raZuVicDbwsZHTjB0a8+SsCqt7KdUis54f373yf7ZFhJzAkGJLaKm0202OIxHg==",
"dev": true,
"engines": {
"node": ">=12.18"
@@ -21203,9 +21025,9 @@
"peer": true
},
"node_modules/v8-to-istanbul": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz",
- "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz",
+ "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==",
"dev": true,
"dependencies": {
"@types/istanbul-lib-coverage": "^2.0.1",
@@ -21329,6 +21151,15 @@
"defaults": "^1.0.3"
}
},
+ "node_modules/web-streams-polyfill": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz",
+ "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/webidl-conversions": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
@@ -21360,23 +21191,29 @@
"dev": true
},
"node_modules/whatwg-url": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
- "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dev": true,
"dependencies": {
- "tr46": "^3.0.0",
- "webidl-conversions": "^7.0.0"
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=10"
}
},
- "node_modules/whatwg-url/node_modules/webidl-conversions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "node_modules/whatwg-url/node_modules/tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=8"
}
},
"node_modules/which": {
@@ -21713,12 +21550,12 @@
}
},
"node_modules/ws": {
- "version": "8.2.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
- "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
+ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
"dev": true,
"engines": {
- "node": ">=10.0.0"
+ "node": ">=8.3.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
@@ -21810,18 +21647,18 @@
"dev": true
},
"node_modules/yargs": {
- "version": "17.2.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz",
- "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==",
+ "version": "17.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz",
+ "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==",
"dev": true,
"dependencies": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
- "string-width": "^4.2.0",
+ "string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
+ "yargs-parser": "^21.0.0"
},
"engines": {
"node": ">=12"
@@ -21836,6 +21673,15 @@
"node": ">=10"
}
},
+ "node_modules/yargs/node_modules/yargs-parser": {
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
+ "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/yn": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
@@ -21863,6 +21709,15 @@
"integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
"dev": true
},
+ "node_modules/zen-observable-ts": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.3.tgz",
+ "integrity": "sha512-hc/TGiPkAWpByykMwDcem3SdUgA4We+0Qb36bItSuJC9xD0XVBZoFHYoadAomDSNf64CG8Ydj0Qb8Od8BUWz5g==",
+ "dev": true,
+ "dependencies": {
+ "zen-observable": "0.8.15"
+ }
+ },
"query-graphs-js": {
"name": "@apollo/query-graphs",
"version": "2.0.0-alpha.3",
@@ -21907,6 +21762,26 @@
"whatwg-url": "11.0.0"
}
},
+ "router-bridge/node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "router-bridge/node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"subgraph-js": {
"name": "@apollo/subgraph",
"version": "2.0.0-alpha.2",
@@ -21946,39 +21821,6 @@
"integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==",
"dev": true,
"requires": {}
- },
- "@wry/equality": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.2.tgz",
- "integrity": "sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==",
- "dev": true,
- "requires": {
- "tslib": "^2.3.0"
- }
- },
- "symbol-observable": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
- "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
- "dev": true
- },
- "ts-invariant": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.4.tgz",
- "integrity": "sha512-63jtX/ZSwnUNi/WhXjnK8kz4cHHpYS60AnmA6ixz17l7E12a5puCWFlNpkne5Rl0J8TBPVHpGjsj4fxs8ObVLQ==",
- "dev": true,
- "requires": {
- "tslib": "^2.1.0"
- }
- },
- "zen-observable-ts": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.3.tgz",
- "integrity": "sha512-hc/TGiPkAWpByykMwDcem3SdUgA4We+0Qb36bItSuJC9xD0XVBZoFHYoadAomDSNf64CG8Ydj0Qb8Od8BUWz5g==",
- "dev": true,
- "requires": {
- "zen-observable": "0.8.15"
- }
}
}
},
@@ -21990,9 +21832,9 @@
}
},
"@apollo/core-schema": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@apollo/core-schema/-/core-schema-0.2.0.tgz",
- "integrity": "sha512-bhzZMIyzP3rynXwtUuEt2ENJIgKd9P/iR98VsuA3tOyYdWPjD5BfsrdWO0oIJXW/pjbbr0oHX5gqutFRKYuwAA==",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@apollo/core-schema/-/core-schema-0.2.1.tgz",
+ "integrity": "sha512-0pyui77dJu3LLju0dUVyZEJBWUiBmf/YLadl9sRR9zj8ZY3M9ky7St6e7O7Ja+UAP43jLGSpBeJ9Cf80prCZwQ==",
"requires": {}
},
"@apollo/federation-internals": {
@@ -22010,6 +21852,7 @@
"@apollo/composition": "file:../composition-js",
"@apollo/core-schema": "^0.2.0",
"@apollo/query-planner": "file:../query-planner-js",
+ "@josephg/resolvable": "^1.0.1",
"@opentelemetry/api": "^1.0.1",
"@types/node-fetch": "2.5.12",
"apollo-reporting-protobuf": "^0.8.0 || ^3.0.0",
@@ -22021,7 +21864,8 @@
"apollo-utilities": "^1.3.0",
"loglevel": "^1.6.1",
"make-fetch-happen": "^8.0.0",
- "pretty-format": "^27.0.0"
+ "pretty-format": "^27.0.0",
+ "sha.js": "^2.4.11"
}
},
"@apollo/harmonizer": {
@@ -22030,6 +21874,22 @@
"@apollo/composition": "file:../composition-js",
"fast-text-encoding": "^1.0.3",
"whatwg-url": "^11.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ },
+ "whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "requires": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ }
+ }
}
},
"@apollo/protobufjs": {
@@ -22083,6 +21943,22 @@
"fast-text-encoding": "1.0.3",
"graphql": "15.8.0",
"whatwg-url": "11.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ },
+ "whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "requires": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ }
+ }
}
},
"@apollo/subgraph": {
@@ -22103,35 +21979,35 @@
}
},
"@babel/code-frame": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
- "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.16.0"
+ "@babel/highlight": "^7.16.7"
}
},
"@babel/compat-data": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
- "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz",
+ "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==",
"dev": true
},
"@babel/core": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz",
- "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helpers": "^7.16.0",
- "@babel/parser": "^7.16.0",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz",
+ "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.16.7",
+ "@babel/helper-compilation-targets": "^7.16.7",
+ "@babel/helper-module-transforms": "^7.16.7",
+ "@babel/helpers": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -22155,12 +22031,12 @@
}
},
"@babel/generator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz",
- "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
+ "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0",
+ "@babel/types": "^7.16.8",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -22174,22 +22050,22 @@
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz",
- "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-compilation-targets": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz",
- "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
+ "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-validator-option": "^7.14.5",
+ "@babel/compat-data": "^7.16.4",
+ "@babel/helper-validator-option": "^7.16.7",
"browserslist": "^4.17.5",
"semver": "^6.3.0"
},
@@ -22203,116 +22079,127 @@
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz",
- "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz",
+ "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-member-expression-to-functions": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0"
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-member-expression-to-functions": "^7.16.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7"
+ }
+ },
+ "@babel/helper-environment-visitor": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
+ "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz",
- "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
+ "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.16.0",
- "@babel/template": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/helper-get-function-arity": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-get-function-arity": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz",
- "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
+ "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz",
- "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
+ "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz",
- "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz",
+ "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-module-imports": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz",
- "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
+ "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-module-transforms": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz",
- "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz",
+ "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-simple-access": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-simple-access": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz",
- "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
+ "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
+ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
"dev": true
},
"@babel/helper-replace-supers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz",
- "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
+ "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-member-expression-to-functions": "^7.16.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-simple-access": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz",
- "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
+ "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
@@ -22325,44 +22212,44 @@
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz",
- "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
+ "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
"dev": true
},
"@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
+ "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
"dev": true
},
"@babel/helpers": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz",
- "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz",
+ "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==",
"dev": true,
"requires": {
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.3",
- "@babel/types": "^7.16.0"
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/highlight": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
- "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
+ "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -22426,32 +22313,32 @@
}
},
"@babel/parser": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
- "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
+ "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
"dev": true
},
"@babel/plugin-proposal-class-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz",
- "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
+ "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-proposal-object-rest-spread": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz",
- "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz",
+ "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/compat-data": "^7.16.4",
+ "@babel/helper-compilation-targets": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.16.0"
+ "@babel/plugin-transform-parameters": "^7.16.7"
}
},
"@babel/plugin-syntax-async-generators": {
@@ -22482,12 +22369,12 @@
}
},
"@babel/plugin-syntax-flow": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz",
- "integrity": "sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz",
+ "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-syntax-import-meta": {
@@ -22509,12 +22396,12 @@
}
},
"@babel/plugin-syntax-jsx": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz",
- "integrity": "sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz",
+ "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-syntax-logical-assignment-operators": {
@@ -22581,53 +22468,54 @@
}
},
"@babel/plugin-syntax-typescript": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz",
- "integrity": "sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
+ "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-arrow-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz",
- "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz",
+ "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz",
- "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz",
+ "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz",
- "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
+ "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz",
- "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz",
+ "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
"globals": "^11.1.0"
},
"dependencies": {
@@ -22640,193 +22528,195 @@
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz",
- "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz",
+ "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz",
- "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz",
+ "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-flow-strip-types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.0.tgz",
- "integrity": "sha512-vs/F5roOaO/+WxKfp9PkvLsAyj0G+Q0zbFimHm9X2KDgabN2XmNFoAafmeGEYspUlIF9+MvVmyek9UyHiqeG/w==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz",
+ "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-flow": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/plugin-syntax-flow": "^7.16.7"
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz",
- "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz",
+ "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz",
- "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz",
+ "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-compilation-targets": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz",
- "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz",
+ "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz",
- "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz",
+ "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz",
- "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz",
+ "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.16.0",
+ "@babel/helper-module-transforms": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-simple-access": "^7.16.7",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz",
- "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz",
+ "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7"
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz",
- "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz",
+ "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz",
- "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz",
+ "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-react-display-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz",
- "integrity": "sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz",
+ "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-react-jsx": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz",
- "integrity": "sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz",
+ "integrity": "sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-jsx": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/plugin-syntax-jsx": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz",
- "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz",
+ "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz",
- "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz",
+ "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz",
- "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz",
+ "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/runtime": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz",
- "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz",
+ "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==",
"dev": true,
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
"@babel/template": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz",
- "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
+ "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.16.0",
- "@babel/parser": "^7.16.0",
- "@babel/types": "^7.16.0"
+ "@babel/code-frame": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/traverse": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz",
- "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-hoist-variables": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/parser": "^7.16.3",
- "@babel/types": "^7.16.0",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
+ "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.16.8",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-hoist-variables": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/parser": "^7.16.8",
+ "@babel/types": "^7.16.8",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -22840,12 +22730,12 @@
}
},
"@babel/types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
- "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
+ "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
}
},
@@ -22886,34 +22776,18 @@
"make-error": "^1",
"ts-node": "^9",
"tslib": "^2"
- },
- "dependencies": {
- "ts-node": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
- "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
- "dev": true,
- "requires": {
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.17",
- "yn": "3.1.1"
- }
- }
}
},
"@eslint/eslintrc": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz",
- "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz",
+ "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==",
"dev": true,
"peer": true,
"requires": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.0.0",
+ "espree": "^9.2.0",
"globals": "^13.9.0",
"ignore": "^4.0.6",
"import-fresh": "^3.2.1",
@@ -22984,356 +22858,578 @@
"yargs": "^17.0.0"
},
"dependencies": {
- "inquirer": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz",
- "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==",
+ "@babel/parser": {
+ "version": "7.16.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
+ "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
+ "dev": true
+ },
+ "@babel/traverse": {
+ "version": "7.16.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz",
+ "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.16.0",
+ "@babel/generator": "^7.16.0",
+ "@babel/helper-function-name": "^7.16.0",
+ "@babel/helper-hoist-variables": "^7.16.0",
+ "@babel/helper-split-export-declaration": "^7.16.0",
+ "@babel/parser": "^7.16.3",
+ "@babel/types": "^7.16.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
+ "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
"dev": true,
"requires": {
- "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.2.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
+ "@babel/helper-validator-identifier": "^7.15.7",
+ "to-fast-properties": "^2.0.0"
}
},
- "rxjs": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.1.tgz",
- "integrity": "sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ==",
+ "@graphql-codegen/core": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-2.4.0.tgz",
+ "integrity": "sha512-5RiYE1+07jayp/3w/bkyaCXtfKNeKmRabpPP4aRi369WeH2cH37l2K8NbhkIU+zhpnhoqMID61TO56x2fKldZQ==",
"dev": true,
"requires": {
- "tslib": "^2.1.0"
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-tools/schema": "^8.1.2",
+ "@graphql-tools/utils": "^8.1.1",
+ "tslib": "~2.3.0"
+ },
+ "dependencies": {
+ "@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "dependencies": {
+ "@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
+ }
+ }
}
- }
- }
- },
- "@graphql-codegen/core": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-2.4.0.tgz",
- "integrity": "sha512-5RiYE1+07jayp/3w/bkyaCXtfKNeKmRabpPP4aRi369WeH2cH37l2K8NbhkIU+zhpnhoqMID61TO56x2fKldZQ==",
- "dev": true,
- "requires": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-tools/schema": "^8.1.2",
- "@graphql-tools/utils": "^8.1.1",
- "tslib": "~2.3.0"
- }
- },
- "@graphql-codegen/plugin-helpers": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz",
- "integrity": "sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==",
- "dev": true,
- "requires": {
- "@graphql-tools/utils": "^8.5.2",
- "change-case-all": "1.0.14",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.3.0"
- }
- },
- "@graphql-codegen/schema-ast": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-2.4.1.tgz",
- "integrity": "sha512-bIWlKk/ShoVJfghA4Rt1OWnd34/dQmZM/vAe6fu6QKyOh44aAdqPtYQ2dbTyFXoknmu504etKJGEDllYNUJRfg==",
- "dev": true,
- "requires": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-tools/utils": "^8.1.1",
- "tslib": "~2.3.0"
- }
- },
- "@graphql-codegen/typescript": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-2.4.2.tgz",
- "integrity": "sha512-8ajWidiFqF1KNAywtb/692SjwTyjzrDHo1sf2Q7Z+rh9qDEIrh83VHB8naT/1CefOvxj3MS6GbcsvJMizaE/AQ==",
- "dev": true,
- "requires": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-codegen/schema-ast": "^2.4.1",
- "@graphql-codegen/visitor-plugin-common": "2.5.2",
- "auto-bind": "~4.0.0",
- "tslib": "~2.3.0"
- }
- },
- "@graphql-codegen/typescript-operations": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-2.2.2.tgz",
- "integrity": "sha512-J50AuTA37RYv67hP2oHbfr3iGxexTCoadQsbr5pEUGucrIupCA0hLEJH2W+9/h6YNh0UlZT3kRTJp81ARoAjOA==",
- "dev": true,
- "requires": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-codegen/typescript": "^2.4.2",
- "@graphql-codegen/visitor-plugin-common": "2.5.2",
- "auto-bind": "~4.0.0",
- "tslib": "~2.3.0"
- }
- },
- "@graphql-codegen/visitor-plugin-common": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.5.2.tgz",
- "integrity": "sha512-qDMraPmumG+vEGAz42/asRkdgIRmQWH5HTc320UX+I6CY6eE/Ey85cgzoqeQGLV8gu4sj3UkNx/3/r79eX4u+Q==",
- "dev": true,
- "requires": {
- "@graphql-codegen/plugin-helpers": "^2.3.2",
- "@graphql-tools/optimize": "^1.0.1",
- "@graphql-tools/relay-operation-optimizer": "^6.3.7",
- "@graphql-tools/utils": "^8.3.0",
- "auto-bind": "~4.0.0",
- "change-case-all": "1.0.14",
- "dependency-graph": "^0.11.0",
- "graphql-tag": "^2.11.0",
- "parse-filepath": "^1.0.2",
- "tslib": "~2.3.0"
- }
- },
- "@graphql-tools/apollo-engine-loader": {
- "version": "7.2.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.2.1.tgz",
- "integrity": "sha512-Fj/A8+9SXPTXkpKqhcSq7O9WZuMdy5zynGrnMyewbCuw1kSfzgC4pJB76ILSPa5ajOcC5bBmmvXm+yVFVRgVMg==",
- "dev": true,
- "requires": {
- "@graphql-tools/utils": "^8.5.1",
- "cross-undici-fetch": "^0.0.20",
- "sync-fetch": "0.3.1",
- "tslib": "~2.3.0"
- }
- },
- "@graphql-tools/code-file-loader": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-7.2.2.tgz",
- "integrity": "sha512-AADyxqipGWLBl4N59CGPgv3i35UF1fQpJvbC5a6TXmcppnghD2olDLewOh1pIQrwxGAAh1S75XVIi28PTKYZhg==",
- "dev": true,
- "requires": {
- "@graphql-tools/graphql-tag-pluck": "^7.1.3",
- "@graphql-tools/utils": "^8.5.1",
- "globby": "^11.0.3",
- "tslib": "~2.3.0",
- "unixify": "^1.0.0"
- },
- "dependencies": {
- "@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==",
- "dev": true
},
- "@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
+ "@graphql-codegen/plugin-helpers": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz",
+ "integrity": "sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.2",
+ "change-case-all": "1.0.14",
+ "common-tags": "1.8.2",
+ "import-from": "4.0.0",
+ "lodash": "~4.17.0",
+ "tslib": "~2.3.0"
+ }
+ },
+ "@graphql-tools/apollo-engine-loader": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.2.1.tgz",
+ "integrity": "sha512-Fj/A8+9SXPTXkpKqhcSq7O9WZuMdy5zynGrnMyewbCuw1kSfzgC4pJB76ILSPa5ajOcC5bBmmvXm+yVFVRgVMg==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "cross-undici-fetch": "^0.0.20",
+ "sync-fetch": "0.3.1",
+ "tslib": "~2.3.0"
+ }
+ },
+ "@graphql-tools/code-file-loader": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-7.2.3.tgz",
+ "integrity": "sha512-aNVG3/VG5cUpS389rpCum+z7RY98qvPwOzd+J4LVr+f5hWQbDREnSFM+5RVTDfULujrsi7edKaGxGKp68pGmAA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/graphql-tag-pluck": "^7.1.3",
+ "@graphql-tools/utils": "^8.5.1",
+ "globby": "^11.0.3",
+ "tslib": "~2.3.0",
+ "unixify": "^1.0.0"
+ },
+ "dependencies": {
+ "@graphql-tools/graphql-tag-pluck": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.4.tgz",
+ "integrity": "sha512-0V2AY68ip3YmJ9rnIwQGxXsokCeGD9FTQOeSLzpwG74U0VY6bphfaCp5KVGW+W5sGJchTj3HvnmvdmWZnEZWZA==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "7.16.4",
+ "@babel/traverse": "7.16.3",
+ "@babel/types": "7.16.0",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
}
},
- "@babel/types": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
- "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
+ "@graphql-tools/git-loader": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-7.1.2.tgz",
+ "integrity": "sha512-vIMrISQPKQgHS893b8K/pEE1InPV+7etzFhHoyQRhYkVHXP2RBkfI64Wq9bNPezF8Ss/dwIjI/keLaPp9EQDmA==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
+ "@graphql-tools/graphql-tag-pluck": "^7.1.3",
+ "@graphql-tools/utils": "^8.5.1",
+ "is-glob": "4.0.3",
+ "micromatch": "^4.0.4",
+ "tslib": "~2.3.0",
+ "unixify": "^1.0.0"
+ },
+ "dependencies": {
+ "@graphql-tools/graphql-tag-pluck": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.4.tgz",
+ "integrity": "sha512-0V2AY68ip3YmJ9rnIwQGxXsokCeGD9FTQOeSLzpwG74U0VY6bphfaCp5KVGW+W5sGJchTj3HvnmvdmWZnEZWZA==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "7.16.4",
+ "@babel/traverse": "7.16.3",
+ "@babel/types": "7.16.0",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
}
},
- "@graphql-tools/graphql-tag-pluck": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.3.tgz",
- "integrity": "sha512-zxVYLiAnNxFg6bnDZdNpLJNfjf6GHYLQsVHDcbYyQcWJzIaeWPylX/Q1gyvw8MFO4ICYExNPqgBA/is2kZBlHw==",
+ "@graphql-tools/github-loader": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-7.2.1.tgz",
+ "integrity": "sha512-vqwh2H11ZkAATDam/JqiP0CSqQRPUbjgCDxPdUu/xvST2QKyA4+uVXLBcpBRJc5kJCQjELijeRWVHSk9oN1q6g==",
"dev": true,
"requires": {
- "@babel/parser": "7.15.8",
- "@babel/traverse": "7.15.4",
- "@babel/types": "7.15.6",
+ "@graphql-tools/graphql-tag-pluck": "^7.1.3",
"@graphql-tools/utils": "^8.5.1",
+ "cross-undici-fetch": "^0.0.20",
+ "sync-fetch": "0.3.1",
"tslib": "~2.3.0"
+ },
+ "dependencies": {
+ "@graphql-tools/graphql-tag-pluck": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.4.tgz",
+ "integrity": "sha512-0V2AY68ip3YmJ9rnIwQGxXsokCeGD9FTQOeSLzpwG74U0VY6bphfaCp5KVGW+W5sGJchTj3HvnmvdmWZnEZWZA==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "7.16.4",
+ "@babel/traverse": "7.16.3",
+ "@babel/types": "7.16.0",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
}
},
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- }
- }
- },
- "@graphql-tools/git-loader": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-7.1.2.tgz",
- "integrity": "sha512-vIMrISQPKQgHS893b8K/pEE1InPV+7etzFhHoyQRhYkVHXP2RBkfI64Wq9bNPezF8Ss/dwIjI/keLaPp9EQDmA==",
- "dev": true,
- "requires": {
- "@graphql-tools/graphql-tag-pluck": "^7.1.3",
- "@graphql-tools/utils": "^8.5.1",
- "is-glob": "4.0.3",
- "micromatch": "^4.0.4",
- "tslib": "~2.3.0",
- "unixify": "^1.0.0"
- },
- "dependencies": {
- "@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==",
- "dev": true
- },
- "@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
+ "@graphql-tools/graphql-file-loader": {
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.3.tgz",
+ "integrity": "sha512-6kUJZiNpYKVhum9E5wfl5PyLLupEDYdH7c8l6oMrk6c7EPEVs6iSUyB7yQoWrtJccJLULBW2CRQ5IHp5JYK0mA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/import": "^6.5.7",
+ "@graphql-tools/utils": "^8.5.1",
+ "globby": "^11.0.3",
+ "tslib": "~2.3.0",
+ "unixify": "^1.0.0"
+ },
+ "dependencies": {
+ "@graphql-tools/import": {
+ "version": "6.6.5",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.5.tgz",
+ "integrity": "sha512-w0/cYuhrr2apn+iGoTToCqt65x2NN2iHQyqRNk/Zw1NJ+e8/C3eKVw0jmW4pYQvSocuPxL4UCSI56SdKO7m3+Q==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "8.6.1",
+ "resolve-from": "5.0.0",
+ "tslib": "~2.3.0"
+ }
+ }
}
},
- "@babel/types": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
- "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
+ "@graphql-tools/json-file-loader": {
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.3.tgz",
+ "integrity": "sha512-CN2Qk9rt+Gepa3rb3X/mpxYA5MIYLwZBPj2Njw6lbZ6AaxG+O1ArDCL5ACoiWiBimn1FCOM778uhRM9znd0b3Q==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
+ "@graphql-tools/utils": "^8.5.1",
+ "globby": "^11.0.3",
+ "tslib": "~2.3.0",
+ "unixify": "^1.0.0"
}
},
- "@graphql-tools/graphql-tag-pluck": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.3.tgz",
- "integrity": "sha512-zxVYLiAnNxFg6bnDZdNpLJNfjf6GHYLQsVHDcbYyQcWJzIaeWPylX/Q1gyvw8MFO4ICYExNPqgBA/is2kZBlHw==",
+ "@graphql-tools/load": {
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.1.tgz",
+ "integrity": "sha512-j9XcLYZPZdl/TzzqA83qveJmwcCxgGizt5L1+C1/Z68brTEmQHLdQCOR3Ma3ewESJt6DU05kSTu2raKaunkjRg==",
"dev": true,
"requires": {
- "@babel/parser": "7.15.8",
- "@babel/traverse": "7.15.4",
- "@babel/types": "7.15.6",
- "@graphql-tools/utils": "^8.5.1",
+ "@graphql-tools/schema": "8.3.1",
+ "@graphql-tools/utils": "^8.6.0",
+ "p-limit": "3.1.0",
"tslib": "~2.3.0"
+ },
+ "dependencies": {
+ "@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "dependencies": {
+ "@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
+ }
+ }
}
},
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- }
- }
- },
- "@graphql-tools/github-loader": {
- "version": "7.2.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-7.2.1.tgz",
- "integrity": "sha512-vqwh2H11ZkAATDam/JqiP0CSqQRPUbjgCDxPdUu/xvST2QKyA4+uVXLBcpBRJc5kJCQjELijeRWVHSk9oN1q6g==",
- "dev": true,
- "requires": {
- "@graphql-tools/graphql-tag-pluck": "^7.1.3",
- "@graphql-tools/utils": "^8.5.1",
- "cross-undici-fetch": "^0.0.20",
- "sync-fetch": "0.3.1",
- "tslib": "~2.3.0"
- },
- "dependencies": {
- "@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==",
- "dev": true
- },
- "@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
+ "@graphql-tools/prisma-loader": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-7.1.1.tgz",
+ "integrity": "sha512-9hVpG3BNsXAYMLPlZhSHubk6qBmiHLo/UlU0ldL100sMpqI46iBaHNhTNXZCSdd81hT+4HNqaDXNFqyKJ22OGQ==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/url-loader": "^7.4.2",
+ "@graphql-tools/utils": "^8.5.1",
+ "@types/js-yaml": "^4.0.0",
+ "@types/json-stable-stringify": "^1.0.32",
+ "@types/jsonwebtoken": "^8.5.0",
+ "chalk": "^4.1.0",
+ "debug": "^4.3.1",
+ "dotenv": "^10.0.0",
+ "graphql-request": "^3.3.0",
+ "http-proxy-agent": "^5.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "isomorphic-fetch": "^3.0.0",
+ "js-yaml": "^4.0.0",
+ "json-stable-stringify": "^1.0.1",
+ "jsonwebtoken": "^8.5.1",
+ "lodash": "^4.17.20",
+ "replaceall": "^0.1.6",
+ "scuid": "^1.1.0",
+ "tslib": "~2.3.0",
+ "yaml-ast-parser": "^0.0.43"
+ },
+ "dependencies": {
+ "extract-files": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz",
+ "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==",
+ "dev": true
+ },
+ "graphql-request": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.7.0.tgz",
+ "integrity": "sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ==",
+ "dev": true,
+ "requires": {
+ "cross-fetch": "^3.0.6",
+ "extract-files": "^9.0.0",
+ "form-data": "^3.0.0"
+ }
+ }
}
},
- "@babel/types": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
- "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
+ "@graphql-tools/url-loader": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.7.0.tgz",
+ "integrity": "sha512-mBBb+aJqI4E0MVEzyfi76Pi/G6lGxGTVt/tP1YtKJly7UnonNoWOtDusdL3zIVAGhGgLsNrLbGhLDbwSd6TV6A==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
+ "@graphql-tools/delegate": "^8.4.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "@graphql-tools/wrap": "^8.3.1",
+ "@n1ru4l/graphql-live-query": "^0.9.0",
+ "@types/websocket": "^1.0.4",
+ "@types/ws": "^8.0.0",
+ "cross-undici-fetch": "^0.1.4",
+ "dset": "^3.1.0",
+ "extract-files": "^11.0.0",
+ "graphql-sse": "^1.0.1",
+ "graphql-ws": "^5.4.1",
+ "isomorphic-ws": "^4.0.1",
+ "meros": "^1.1.4",
+ "subscriptions-transport-ws": "^0.11.0",
+ "sync-fetch": "^0.3.1",
+ "tslib": "^2.3.0",
+ "valid-url": "^1.0.9",
+ "value-or-promise": "^1.0.11",
+ "ws": "^8.3.0"
+ },
+ "dependencies": {
+ "@graphql-tools/delegate": {
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.4.3.tgz",
+ "integrity": "sha512-hKTJdJXJnKL0+2vpU+Kt7OHQTIXZ9mBmNBwHsYiG5WNArz/vNI7910r6TC2XMf/e7zhyyK+mXxMDBmDQkkJagA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/batch-execute": "^8.3.1",
+ "@graphql-tools/schema": "^8.3.1",
+ "@graphql-tools/utils": "^8.5.4",
+ "dataloader": "2.0.0",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "dependencies": {
+ "@graphql-tools/batch-execute": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.3.1.tgz",
+ "integrity": "sha512-63kHY8ZdoO5FoeDXYHnAak1R3ysMViMPwWC2XUblFckuVLMUPmB2ONje8rjr2CvzWBHAW8c1Zsex+U3xhKtGIA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "dataloader": "2.0.0",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ }
+ },
+ "@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "dependencies": {
+ "@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "@graphql-tools/wrap": {
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.3.3.tgz",
+ "integrity": "sha512-TpXN1S4Cv+oMA1Zsg9Nu4N9yrFxLuJkX+CTtSRrrdfETGHIxqfyDkm5slPDCckxP+RILA00g8ny2jzsYyNvX1w==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/delegate": "^8.4.2",
+ "@graphql-tools/schema": "^8.3.1",
+ "@graphql-tools/utils": "^8.5.3",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "dependencies": {
+ "@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "dependencies": {
+ "@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "@n1ru4l/graphql-live-query": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@n1ru4l/graphql-live-query/-/graphql-live-query-0.9.0.tgz",
+ "integrity": "sha512-BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg==",
+ "dev": true,
+ "requires": {}
+ },
+ "cross-undici-fetch": {
+ "version": "0.1.14",
+ "resolved": "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.1.14.tgz",
+ "integrity": "sha512-DDR6F34whCOwwBnZoqqIPZwpYzz418BPNXdDMdz0NFjTxNT+kMNLINTjZA3TxU469JbXSVTzfNpdTxUQN6MjhQ==",
+ "dev": true,
+ "requires": {
+ "abort-controller": "^3.0.0",
+ "form-data-encoder": "^1.7.1",
+ "formdata-node": "^4.3.1",
+ "node-fetch": "^2.6.5",
+ "undici": "^4.9.3",
+ "web-streams-polyfill": "^3.2.0"
+ }
+ },
+ "graphql-sse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/graphql-sse/-/graphql-sse-1.0.6.tgz",
+ "integrity": "sha512-y2mVBN2KwNrzxX2KBncQ6kzc6JWvecxuBernrl0j65hsr6MAS3+Yn8PTFSOgRmtolxugepxveyZVQEuaNEbw3w==",
+ "dev": true,
+ "requires": {}
+ },
+ "graphql-ws": {
+ "version": "5.5.5",
+ "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.5.5.tgz",
+ "integrity": "sha512-hvyIS71vs4Tu/yUYHPvGXsTgo0t3arU820+lT5VjZS2go0ewp2LqyCgxEN56CzOG7Iys52eRhHBiD1gGRdiQtw==",
+ "dev": true,
+ "requires": {}
+ },
+ "subscriptions-transport-ws": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz",
+ "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==",
+ "dev": true,
+ "requires": {
+ "backo2": "^1.0.2",
+ "eventemitter3": "^3.1.0",
+ "iterall": "^1.2.1",
+ "symbol-observable": "^1.0.4",
+ "ws": "^5.2.0 || ^6.0.0 || ^7.0.0"
+ },
+ "dependencies": {
+ "ws": {
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
+ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
+ "dev": true,
+ "requires": {}
+ }
+ }
+ },
+ "ws": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz",
+ "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==",
+ "dev": true,
+ "requires": {}
+ }
}
},
- "@graphql-tools/graphql-tag-pluck": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.3.tgz",
- "integrity": "sha512-zxVYLiAnNxFg6bnDZdNpLJNfjf6GHYLQsVHDcbYyQcWJzIaeWPylX/Q1gyvw8MFO4ICYExNPqgBA/is2kZBlHw==",
+ "@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
"dev": true,
"requires": {
- "@babel/parser": "7.15.8",
- "@babel/traverse": "7.15.4",
- "@babel/types": "7.15.6",
- "@graphql-tools/utils": "^8.5.1",
"tslib": "~2.3.0"
}
},
+ "@tootallnate/once": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "dev": true
+ },
+ "eventemitter3": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
+ "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
+ "dev": true
+ },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true
- }
- }
- },
- "@graphql-tools/graphql-file-loader": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.3.tgz",
- "integrity": "sha512-6kUJZiNpYKVhum9E5wfl5PyLLupEDYdH7c8l6oMrk6c7EPEVs6iSUyB7yQoWrtJccJLULBW2CRQ5IHp5JYK0mA==",
- "dev": true,
- "requires": {
- "@graphql-tools/import": "^6.5.7",
- "@graphql-tools/utils": "^8.5.1",
- "globby": "^11.0.3",
- "tslib": "~2.3.0",
- "unixify": "^1.0.0"
- },
- "dependencies": {
- "@graphql-tools/import": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.1.tgz",
- "integrity": "sha512-i9WA6k+erJMci822o9w9DoX+uncVBK60LGGYW8mdbhX0l7wEubUpA000thJ1aarCusYh0u+ZT9qX0HyVPXu25Q==",
+ },
+ "graphql-config": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-4.1.0.tgz",
+ "integrity": "sha512-Myqay6pmdcmX3KqoH+bMbeKZ1cTODpHS2CxF1ZzNnfTE+YUpGTcp01bOw6LpzamRb0T/WTYtGFbZeXGo9Hab2Q==",
"dev": true,
"requires": {
- "@graphql-tools/utils": "8.5.3",
- "resolve-from": "5.0.0",
- "tslib": "~2.3.0"
+ "@endemolshinegroup/cosmiconfig-typescript-loader": "3.0.2",
+ "@graphql-tools/graphql-file-loader": "^7.3.2",
+ "@graphql-tools/json-file-loader": "^7.3.2",
+ "@graphql-tools/load": "^7.4.1",
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/url-loader": "^7.4.2",
+ "@graphql-tools/utils": "^8.5.1",
+ "cosmiconfig": "7.0.1",
+ "cosmiconfig-toml-loader": "1.0.0",
+ "minimatch": "3.0.4",
+ "string-env-interpolation": "1.0.1"
+ },
+ "dependencies": {
+ "@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
+ }
+ },
+ "http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "requires": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "meros": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/meros/-/meros-1.1.4.tgz",
+ "integrity": "sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^0.1.0"
}
},
"resolve-from": {
@@ -23341,245 +23437,223 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
+ },
+ "symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "dev": true
}
}
},
- "@graphql-tools/json-file-loader": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.3.tgz",
- "integrity": "sha512-CN2Qk9rt+Gepa3rb3X/mpxYA5MIYLwZBPj2Njw6lbZ6AaxG+O1ArDCL5ACoiWiBimn1FCOM778uhRM9znd0b3Q==",
- "dev": true,
- "requires": {
- "@graphql-tools/utils": "^8.5.1",
- "globby": "^11.0.3",
- "tslib": "~2.3.0",
- "unixify": "^1.0.0"
- }
- },
- "@graphql-tools/load": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-7.4.1.tgz",
- "integrity": "sha512-UvBodW5hRHpgBUBVz5K5VIhJDOTFIbRRAGD6sQ2l9J5FDKBEs3u/6JjZDzbdL96br94D5cEd2Tk6auaHpTn7mQ==",
- "dev": true,
- "requires": {
- "@graphql-tools/schema": "8.3.1",
- "@graphql-tools/utils": "^8.5.1",
- "p-limit": "3.1.0",
- "tslib": "~2.3.0"
- }
- },
- "@graphql-tools/optimize": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.1.1.tgz",
- "integrity": "sha512-y0TEfPyGmJaQjnsTRs/UP7/ZHaB3i68VAsXW4H2doUFKY6rIOUz+ruME/uWsfy/VeTWBNqGX8/m/X7YFEi5OJQ==",
- "dev": true,
- "requires": {
- "tslib": "~2.3.0"
- }
- },
- "@graphql-tools/prisma-loader": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-7.1.1.tgz",
- "integrity": "sha512-9hVpG3BNsXAYMLPlZhSHubk6qBmiHLo/UlU0ldL100sMpqI46iBaHNhTNXZCSdd81hT+4HNqaDXNFqyKJ22OGQ==",
- "dev": true,
- "requires": {
- "@graphql-tools/url-loader": "^7.4.2",
- "@graphql-tools/utils": "^8.5.1",
- "@types/js-yaml": "^4.0.0",
- "@types/json-stable-stringify": "^1.0.32",
- "@types/jsonwebtoken": "^8.5.0",
- "chalk": "^4.1.0",
- "debug": "^4.3.1",
- "dotenv": "^10.0.0",
- "graphql-request": "^3.3.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.0",
- "isomorphic-fetch": "^3.0.0",
- "js-yaml": "^4.0.0",
- "json-stable-stringify": "^1.0.1",
- "jsonwebtoken": "^8.5.1",
- "lodash": "^4.17.20",
- "replaceall": "^0.1.6",
- "scuid": "^1.1.0",
- "tslib": "~2.3.0",
- "yaml-ast-parser": "^0.0.43"
- }
- },
- "@graphql-tools/relay-operation-optimizer": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.1.tgz",
- "integrity": "sha512-2b9D5L+31sIBnvmcmIW5tfvNUV+nJFtbHpUyarTRDmFT6EZ2cXo4WZMm9XJcHQD/Z5qvMXfPHxzQ3/JUs4xI+w==",
+ "@graphql-codegen/typescript": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-2.4.2.tgz",
+ "integrity": "sha512-8ajWidiFqF1KNAywtb/692SjwTyjzrDHo1sf2Q7Z+rh9qDEIrh83VHB8naT/1CefOvxj3MS6GbcsvJMizaE/AQ==",
"dev": true,
"requires": {
- "@graphql-tools/utils": "^8.5.1",
- "relay-compiler": "12.0.0",
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-codegen/schema-ast": "^2.4.1",
+ "@graphql-codegen/visitor-plugin-common": "2.5.2",
+ "auto-bind": "~4.0.0",
"tslib": "~2.3.0"
- }
- },
- "@graphql-tools/schema": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
- "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
- "requires": {
- "@graphql-tools/merge": "^8.2.1",
- "@graphql-tools/utils": "^8.5.1",
- "tslib": "~2.3.0",
- "value-or-promise": "1.0.11"
},
"dependencies": {
- "@graphql-tools/merge": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
- "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "@graphql-codegen/plugin-helpers": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz",
+ "integrity": "sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==",
+ "dev": true,
"requires": {
- "@graphql-tools/utils": "^8.5.1",
+ "@graphql-tools/utils": "^8.5.2",
+ "change-case-all": "1.0.14",
+ "common-tags": "1.8.2",
+ "import-from": "4.0.0",
+ "lodash": "~4.17.0",
+ "tslib": "~2.3.0"
+ },
+ "dependencies": {
+ "@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "requires": {
+ "tslib": "~2.3.0"
+ }
+ }
+ }
+ },
+ "@graphql-codegen/schema-ast": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-2.4.1.tgz",
+ "integrity": "sha512-bIWlKk/ShoVJfghA4Rt1OWnd34/dQmZM/vAe6fu6QKyOh44aAdqPtYQ2dbTyFXoknmu504etKJGEDllYNUJRfg==",
+ "dev": true,
+ "requires": {
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-tools/utils": "^8.1.1",
"tslib": "~2.3.0"
+ },
+ "dependencies": {
+ "@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "requires": {
+ "tslib": "~2.3.0"
+ }
+ }
+ }
+ },
+ "@graphql-codegen/visitor-plugin-common": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.5.2.tgz",
+ "integrity": "sha512-qDMraPmumG+vEGAz42/asRkdgIRmQWH5HTc320UX+I6CY6eE/Ey85cgzoqeQGLV8gu4sj3UkNx/3/r79eX4u+Q==",
+ "dev": true,
+ "requires": {
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-tools/optimize": "^1.0.1",
+ "@graphql-tools/relay-operation-optimizer": "^6.3.7",
+ "@graphql-tools/utils": "^8.3.0",
+ "auto-bind": "~4.0.0",
+ "change-case-all": "1.0.14",
+ "dependency-graph": "^0.11.0",
+ "graphql-tag": "^2.11.0",
+ "parse-filepath": "^1.0.2",
+ "tslib": "~2.3.0"
+ },
+ "dependencies": {
+ "@graphql-tools/optimize": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.1.1.tgz",
+ "integrity": "sha512-y0TEfPyGmJaQjnsTRs/UP7/ZHaB3i68VAsXW4H2doUFKY6rIOUz+ruME/uWsfy/VeTWBNqGX8/m/X7YFEi5OJQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "~2.3.0"
+ }
+ },
+ "@graphql-tools/relay-operation-optimizer": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.1.tgz",
+ "integrity": "sha512-2b9D5L+31sIBnvmcmIW5tfvNUV+nJFtbHpUyarTRDmFT6EZ2cXo4WZMm9XJcHQD/Z5qvMXfPHxzQ3/JUs4xI+w==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "relay-compiler": "12.0.0",
+ "tslib": "~2.3.0"
+ }
+ },
+ "@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "requires": {
+ "tslib": "~2.3.0"
+ }
+ }
}
}
}
},
- "@graphql-tools/url-loader": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.5.2.tgz",
- "integrity": "sha512-EilHqbhUY/qg55SSEdklDhPXgSz9+9a63SX3mcD8J2qwZHJD/wOLcyKs8m6BXfuGwUiuB0j3fmDSEVmva2onBg==",
+ "@graphql-codegen/typescript-operations": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-2.2.2.tgz",
+ "integrity": "sha512-J50AuTA37RYv67hP2oHbfr3iGxexTCoadQsbr5pEUGucrIupCA0hLEJH2W+9/h6YNh0UlZT3kRTJp81ARoAjOA==",
"dev": true,
"requires": {
- "@graphql-tools/delegate": "^8.4.1",
- "@graphql-tools/utils": "^8.5.1",
- "@graphql-tools/wrap": "^8.3.1",
- "@n1ru4l/graphql-live-query": "0.9.0",
- "@types/websocket": "1.0.4",
- "@types/ws": "^8.0.0",
- "cross-undici-fetch": "^0.0.20",
- "dset": "^3.1.0",
- "extract-files": "11.0.0",
- "graphql-sse": "^1.0.1",
- "graphql-ws": "^5.4.1",
- "isomorphic-ws": "4.0.1",
- "meros": "1.1.4",
- "subscriptions-transport-ws": "^0.11.0",
- "sync-fetch": "0.3.1",
- "tslib": "~2.3.0",
- "valid-url": "1.0.9",
- "value-or-promise": "1.0.11",
- "ws": "8.2.3"
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-codegen/typescript": "^2.4.2",
+ "@graphql-codegen/visitor-plugin-common": "2.5.2",
+ "auto-bind": "~4.0.0",
+ "tslib": "~2.3.0"
},
"dependencies": {
- "@graphql-tools/delegate": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.4.2.tgz",
- "integrity": "sha512-CjggOhiL4WtyG2I3kux+1/p8lQxSFHBj0gwa0NxnQ6Vsnpw7Ig5VP1ovPnitFuBv2k4QdC37Nj2xv2n7DRn8fw==",
+ "@graphql-codegen/plugin-helpers": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz",
+ "integrity": "sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==",
"dev": true,
"requires": {
- "@graphql-tools/batch-execute": "^8.3.1",
- "@graphql-tools/schema": "^8.3.1",
- "@graphql-tools/utils": "^8.5.3",
- "dataloader": "2.0.0",
- "tslib": "~2.3.0",
- "value-or-promise": "1.0.11"
+ "@graphql-tools/utils": "^8.5.2",
+ "change-case-all": "1.0.14",
+ "common-tags": "1.8.2",
+ "import-from": "4.0.0",
+ "lodash": "~4.17.0",
+ "tslib": "~2.3.0"
},
"dependencies": {
- "@graphql-tools/batch-execute": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.3.1.tgz",
- "integrity": "sha512-63kHY8ZdoO5FoeDXYHnAak1R3ysMViMPwWC2XUblFckuVLMUPmB2ONje8rjr2CvzWBHAW8c1Zsex+U3xhKtGIA==",
+ "@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
"dev": true,
"requires": {
- "@graphql-tools/utils": "^8.5.1",
- "dataloader": "2.0.0",
- "tslib": "~2.3.0",
- "value-or-promise": "1.0.11"
+ "tslib": "~2.3.0"
}
}
}
},
- "@graphql-tools/wrap": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.3.2.tgz",
- "integrity": "sha512-7DcOBFB+Dd84x9dxSm7qS4iJONMyfLnCJb8A19vGPffpu4SMJ3sFcgwibKFu5l6mMUiigKgXna2RRgWI+02bKQ==",
- "dev": true,
- "requires": {
- "@graphql-tools/delegate": "^8.4.2",
- "@graphql-tools/schema": "^8.3.1",
- "@graphql-tools/utils": "^8.5.3",
- "tslib": "~2.3.0",
- "value-or-promise": "1.0.11"
- }
- },
- "@n1ru4l/graphql-live-query": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@n1ru4l/graphql-live-query/-/graphql-live-query-0.9.0.tgz",
- "integrity": "sha512-BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg==",
- "dev": true,
- "requires": {}
- },
- "eventemitter3": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
- "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
- "dev": true
- },
- "graphql-sse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/graphql-sse/-/graphql-sse-1.0.6.tgz",
- "integrity": "sha512-y2mVBN2KwNrzxX2KBncQ6kzc6JWvecxuBernrl0j65hsr6MAS3+Yn8PTFSOgRmtolxugepxveyZVQEuaNEbw3w==",
- "dev": true,
- "requires": {}
- },
- "graphql-ws": {
- "version": "5.5.5",
- "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.5.5.tgz",
- "integrity": "sha512-hvyIS71vs4Tu/yUYHPvGXsTgo0t3arU820+lT5VjZS2go0ewp2LqyCgxEN56CzOG7Iys52eRhHBiD1gGRdiQtw==",
- "dev": true,
- "requires": {}
- },
- "meros": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/meros/-/meros-1.1.4.tgz",
- "integrity": "sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==",
- "dev": true,
- "requires": {}
- },
- "subscriptions-transport-ws": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz",
- "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==",
+ "@graphql-codegen/visitor-plugin-common": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.5.2.tgz",
+ "integrity": "sha512-qDMraPmumG+vEGAz42/asRkdgIRmQWH5HTc320UX+I6CY6eE/Ey85cgzoqeQGLV8gu4sj3UkNx/3/r79eX4u+Q==",
"dev": true,
"requires": {
- "backo2": "^1.0.2",
- "eventemitter3": "^3.1.0",
- "iterall": "^1.2.1",
- "symbol-observable": "^1.0.4",
- "ws": "^5.2.0 || ^6.0.0 || ^7.0.0"
+ "@graphql-codegen/plugin-helpers": "^2.3.2",
+ "@graphql-tools/optimize": "^1.0.1",
+ "@graphql-tools/relay-operation-optimizer": "^6.3.7",
+ "@graphql-tools/utils": "^8.3.0",
+ "auto-bind": "~4.0.0",
+ "change-case-all": "1.0.14",
+ "dependency-graph": "^0.11.0",
+ "graphql-tag": "^2.11.0",
+ "parse-filepath": "^1.0.2",
+ "tslib": "~2.3.0"
},
"dependencies": {
- "ws": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
- "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
+ "@graphql-tools/optimize": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.1.1.tgz",
+ "integrity": "sha512-y0TEfPyGmJaQjnsTRs/UP7/ZHaB3i68VAsXW4H2doUFKY6rIOUz+ruME/uWsfy/VeTWBNqGX8/m/X7YFEi5OJQ==",
"dev": true,
- "requires": {}
+ "requires": {
+ "tslib": "~2.3.0"
+ }
+ },
+ "@graphql-tools/relay-operation-optimizer": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.1.tgz",
+ "integrity": "sha512-2b9D5L+31sIBnvmcmIW5tfvNUV+nJFtbHpUyarTRDmFT6EZ2cXo4WZMm9XJcHQD/Z5qvMXfPHxzQ3/JUs4xI+w==",
+ "dev": true,
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "relay-compiler": "12.0.0",
+ "tslib": "~2.3.0"
+ }
+ },
+ "@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "dev": true,
+ "requires": {
+ "tslib": "~2.3.0"
+ }
}
}
}
}
},
- "@graphql-tools/utils": {
- "version": "8.5.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.5.3.tgz",
- "integrity": "sha512-HDNGWFVa8QQkoQB0H1lftvaO1X5xUaUDk1zr1qDe0xN1NL0E/CrQdJ5UKLqOvH4hkqVUPxQsyOoAZFkaH6rLHg==",
- "requires": {
- "tslib": "~2.3.0"
- }
- },
"@humanwhocodes/config-array": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
- "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==",
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz",
+ "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==",
"dev": true,
"peer": true,
"requires": {
- "@humanwhocodes/object-schema": "^1.2.0",
+ "@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
"minimatch": "^3.0.4"
}
@@ -23650,29 +23724,29 @@
"dev": true
},
"@jest/console": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.2.tgz",
- "integrity": "sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz",
+ "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^27.4.2",
+ "jest-message-util": "^27.4.6",
"jest-util": "^27.4.2",
"slash": "^3.0.0"
}
},
"@jest/core": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.5.tgz",
- "integrity": "sha512-3tm/Pevmi8bDsgvo73nX8p/WPng6KWlCyScW10FPEoN1HU4pwI83tJ3TsFvi1FfzsjwUlMNEPowgb/rPau/LTQ==",
+ "version": "27.4.7",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz",
+ "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==",
"dev": true,
"requires": {
- "@jest/console": "^27.4.2",
- "@jest/reporters": "^27.4.5",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
+ "@jest/console": "^27.4.6",
+ "@jest/reporters": "^27.4.6",
+ "@jest/test-result": "^27.4.6",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
@@ -23681,71 +23755,103 @@
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"jest-changed-files": "^27.4.2",
- "jest-config": "^27.4.5",
- "jest-haste-map": "^27.4.5",
- "jest-message-util": "^27.4.2",
+ "jest-config": "^27.4.7",
+ "jest-haste-map": "^27.4.6",
+ "jest-message-util": "^27.4.6",
"jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-resolve-dependencies": "^27.4.5",
- "jest-runner": "^27.4.5",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
+ "jest-resolve": "^27.4.6",
+ "jest-resolve-dependencies": "^27.4.6",
+ "jest-runner": "^27.4.6",
+ "jest-runtime": "^27.4.6",
+ "jest-snapshot": "^27.4.6",
"jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
- "jest-watcher": "^27.4.2",
+ "jest-validate": "^27.4.6",
+ "jest-watcher": "^27.4.6",
"micromatch": "^4.0.4",
"rimraf": "^3.0.0",
"slash": "^3.0.0",
"strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "jest-config": {
+ "version": "27.4.7",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz",
+ "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.8.0",
+ "@jest/test-sequencer": "^27.4.6",
+ "@jest/types": "^27.4.2",
+ "babel-jest": "^27.4.6",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-circus": "^27.4.6",
+ "jest-environment-jsdom": "^27.4.6",
+ "jest-environment-node": "^27.4.6",
+ "jest-get-type": "^27.4.0",
+ "jest-jasmine2": "^27.4.6",
+ "jest-regex-util": "^27.4.0",
+ "jest-resolve": "^27.4.6",
+ "jest-runner": "^27.4.6",
+ "jest-util": "^27.4.2",
+ "jest-validate": "^27.4.6",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.4.6",
+ "slash": "^3.0.0"
+ }
+ }
}
},
"@jest/environment": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.4.tgz",
- "integrity": "sha512-q+niMx7cJgt/t/b6dzLOh4W8Ef/8VyKG7hxASK39jakijJzbFBGpptx3RXz13FFV7OishQ9lTbv+dQ5K3EhfDQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz",
+ "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^27.4.2",
+ "@jest/fake-timers": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
- "jest-mock": "^27.4.2"
+ "jest-mock": "^27.4.6"
}
},
"@jest/fake-timers": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.2.tgz",
- "integrity": "sha512-f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz",
+ "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
"@sinonjs/fake-timers": "^8.0.1",
"@types/node": "*",
- "jest-message-util": "^27.4.2",
- "jest-mock": "^27.4.2",
+ "jest-message-util": "^27.4.6",
+ "jest-mock": "^27.4.6",
"jest-util": "^27.4.2"
}
},
"@jest/globals": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.4.tgz",
- "integrity": "sha512-bqpqQhW30BOreXM8bA8t8JbOQzsq/WnPTnBl+It3UxAD9J8yxEAaBEylHx1dtBapAr/UBk8GidXbzmqnee8tYQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz",
+ "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.4",
+ "@jest/environment": "^27.4.6",
"@jest/types": "^27.4.2",
- "expect": "^27.4.2"
+ "expect": "^27.4.6"
}
},
"@jest/reporters": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.5.tgz",
- "integrity": "sha512-3orsG4vi8zXuBqEoy2LbnC1kuvkg1KQUgqNxmxpQgIOQEPeV0onvZu+qDQnEoX8qTQErtqn/xzcnbpeTuOLSiA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz",
+ "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==",
"dev": true,
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.4.2",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
+ "@jest/console": "^27.4.6",
+ "@jest/test-result": "^27.4.6",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
@@ -23754,14 +23860,14 @@
"glob": "^7.1.2",
"graceful-fs": "^4.2.4",
"istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-instrument": "^5.1.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.4.5",
- "jest-resolve": "^27.4.5",
+ "istanbul-reports": "^3.1.3",
+ "jest-haste-map": "^27.4.6",
+ "jest-resolve": "^27.4.6",
"jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "jest-worker": "^27.4.6",
"slash": "^3.0.0",
"source-map": "^0.6.0",
"string-length": "^4.0.1",
@@ -23781,47 +23887,47 @@
}
},
"@jest/test-result": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.2.tgz",
- "integrity": "sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz",
+ "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==",
"dev": true,
"requires": {
- "@jest/console": "^27.4.2",
+ "@jest/console": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
}
},
"@jest/test-sequencer": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.5.tgz",
- "integrity": "sha512-n5woIn/1v+FT+9hniymHPARA9upYUmfi5Pw9ewVwXCDlK4F5/Gkees9v8vdjGdAIJ2MPHLHodiajLpZZanWzEQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz",
+ "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==",
"dev": true,
"requires": {
- "@jest/test-result": "^27.4.2",
+ "@jest/test-result": "^27.4.6",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
- "jest-runtime": "^27.4.5"
+ "jest-haste-map": "^27.4.6",
+ "jest-runtime": "^27.4.6"
}
},
"@jest/transform": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.5.tgz",
- "integrity": "sha512-PuMet2UlZtlGzwc6L+aZmR3I7CEBpqadO03pU40l2RNY2fFJ191b9/ITB44LNOhVtsyykx0OZvj0PCyuLm7Eew==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz",
+ "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
"@jest/types": "^27.4.2",
- "babel-plugin-istanbul": "^6.0.0",
+ "babel-plugin-istanbul": "^6.1.1",
"chalk": "^4.0.0",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
+ "jest-haste-map": "^27.4.6",
"jest-regex-util": "^27.4.0",
"jest-util": "^27.4.2",
"micromatch": "^4.0.4",
- "pirates": "^4.0.1",
+ "pirates": "^4.0.4",
"slash": "^3.0.0",
"source-map": "^0.6.1",
"write-file-atomic": "^3.0.0"
@@ -23831,6 +23937,7 @@
"version": "27.4.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz",
"integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==",
+ "dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
@@ -24011,23 +24118,6 @@
"execa": "^5.0.0",
"is-ci": "^2.0.0",
"npmlog": "^4.1.2"
- },
- "dependencies": {
- "ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
- "is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
- "dev": true,
- "requires": {
- "ci-info": "^2.0.0"
- }
- }
}
},
"@lerna/conventional-commits": {
@@ -24073,28 +24163,6 @@
"validate-npm-package-name": "^3.0.0",
"whatwg-url": "^8.4.0",
"yargs-parser": "20.2.4"
- },
- "dependencies": {
- "tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- }
- }
}
},
"@lerna/create-symlink": {
@@ -24210,28 +24278,6 @@
"node-fetch": "^2.6.1",
"npmlog": "^4.1.2",
"whatwg-url": "^8.4.0"
- },
- "dependencies": {
- "tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- }
- }
}
},
"@lerna/global-options": {
@@ -24515,6 +24561,44 @@
"requires": {
"inquirer": "^7.3.3",
"npmlog": "^4.1.2"
+ },
+ "dependencies": {
+ "inquirer": {
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
+ "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.19",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.4.0",
+ "rxjs": "^6.6.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6"
+ }
+ },
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
}
},
"@lerna/publish": {
@@ -24750,9 +24834,9 @@
"dev": true
},
"@npmcli/fs": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz",
- "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.0.tgz",
+ "integrity": "sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA==",
"requires": {
"@gar/promisify": "^1.0.1",
"semver": "^7.3.5"
@@ -24980,9 +25064,9 @@
}
},
"@opentelemetry/api": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.3.tgz",
- "integrity": "sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ=="
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz",
+ "integrity": "sha512-BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog=="
},
"@opentelemetry/context-async-hooks": {
"version": "0.24.0",
@@ -25128,6 +25212,33 @@
"is-reference": "^1.2.1",
"magic-string": "^0.25.7",
"resolve": "^1.17.0"
+ },
+ "dependencies": {
+ "@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ }
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ }
}
},
"@rollup/plugin-json": {
@@ -25137,6 +25248,31 @@
"dev": true,
"requires": {
"@rollup/pluginutils": "^3.0.8"
+ },
+ "dependencies": {
+ "@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ }
}
},
"@rollup/plugin-node-resolve": {
@@ -25151,19 +25287,19 @@
"deepmerge": "^4.2.2",
"is-module": "^1.0.0",
"resolve": "^1.19.0"
- }
- },
- "@rollup/pluginutils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
- "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
- "dev": true,
- "requires": {
- "@types/estree": "0.0.39",
- "estree-walker": "^1.0.1",
- "picomatch": "^2.2.2"
},
"dependencies": {
+ "@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ }
+ },
"@types/estree": {
"version": "0.0.39",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
@@ -25221,10 +25357,9 @@
}
},
"@tootallnate/once": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
- "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
- "dev": true
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
},
"@types/accepts": {
"version": "1.3.5",
@@ -25236,9 +25371,9 @@
}
},
"@types/babel__core": {
- "version": "7.1.16",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz",
- "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==",
+ "version": "7.1.18",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz",
+ "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==",
"dev": true,
"requires": {
"@babel/parser": "^7.1.0",
@@ -25249,9 +25384,9 @@
}
},
"@types/babel__generator": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz",
- "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==",
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
+ "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
"dev": true,
"requires": {
"@babel/types": "^7.0.0"
@@ -25277,9 +25412,9 @@
}
},
"@types/body-parser": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz",
- "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==",
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
"dev": true,
"requires": {
"@types/connect": "*",
@@ -25341,9 +25476,9 @@
}
},
"@types/express-serve-static-core": {
- "version": "4.17.24",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz",
- "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==",
+ "version": "4.17.27",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.27.tgz",
+ "integrity": "sha512-e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -25371,14 +25506,16 @@
}
},
"@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
- "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw=="
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
+ "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
+ "dev": true
},
"@types/istanbul-lib-report": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
"integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dev": true,
"requires": {
"@types/istanbul-lib-coverage": "*"
}
@@ -25387,6 +25524,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
"integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
+ "dev": true,
"requires": {
"@types/istanbul-lib-report": "*"
}
@@ -25435,9 +25573,9 @@
}
},
"@types/lodash": {
- "version": "4.14.177",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.177.tgz",
- "integrity": "sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw==",
+ "version": "4.14.178",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz",
+ "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==",
"dev": true
},
"@types/lodash.xorby": {
@@ -25588,9 +25726,9 @@
}
},
"@types/ws": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
- "integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz",
+ "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -25600,6 +25738,7 @@
"version": "16.0.4",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
"integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
+ "dev": true,
"requires": {
"@types/yargs-parser": "*"
}
@@ -25607,7 +25746,8 @@
"@types/yargs-parser": {
"version": "20.2.1",
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
- "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
+ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
+ "dev": true
},
"@typescript-eslint/eslint-plugin": {
"version": "5.8.1",
@@ -25623,34 +25763,6 @@
"regexpp": "^3.2.0",
"semver": "^7.3.5",
"tsutils": "^3.21.0"
- },
- "dependencies": {
- "@typescript-eslint/scope-manager": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
- "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.8.1",
- "@typescript-eslint/visitor-keys": "5.8.1"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
- "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
- "dev": true
- },
- "@typescript-eslint/visitor-keys": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
- "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.8.1",
- "eslint-visitor-keys": "^3.0.0"
- }
- }
}
},
"@typescript-eslint/experimental-utils": {
@@ -25665,32 +25777,48 @@
"@typescript-eslint/typescript-estree": "5.8.1",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.9.1.tgz",
+ "integrity": "sha512-PLYO0AmwD6s6n0ZQB5kqPgfvh73p0+VqopQQLuNfi7Lm0EpfKyDalchpVwkE+81k5HeiRrTV/9w1aNHzjD7C4g==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@typescript-eslint/scope-manager": "5.9.1",
+ "@typescript-eslint/types": "5.9.1",
+ "@typescript-eslint/typescript-estree": "5.9.1",
+ "debug": "^4.3.2"
},
"dependencies": {
"@typescript-eslint/scope-manager": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
- "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz",
+ "integrity": "sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ==",
"dev": true,
+ "peer": true,
"requires": {
- "@typescript-eslint/types": "5.8.1",
- "@typescript-eslint/visitor-keys": "5.8.1"
+ "@typescript-eslint/types": "5.9.1",
+ "@typescript-eslint/visitor-keys": "5.9.1"
}
},
"@typescript-eslint/types": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
- "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
- "dev": true
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.9.1.tgz",
+ "integrity": "sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ==",
+ "dev": true,
+ "peer": true
},
"@typescript-eslint/typescript-estree": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz",
- "integrity": "sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==",
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz",
+ "integrity": "sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A==",
"dev": true,
+ "peer": true,
"requires": {
- "@typescript-eslint/types": "5.8.1",
- "@typescript-eslint/visitor-keys": "5.8.1",
+ "@typescript-eslint/types": "5.9.1",
+ "@typescript-eslint/visitor-keys": "5.9.1",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@@ -25699,57 +25827,42 @@
}
},
"@typescript-eslint/visitor-keys": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
- "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz",
+ "integrity": "sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg==",
"dev": true,
+ "peer": true,
"requires": {
- "@typescript-eslint/types": "5.8.1",
+ "@typescript-eslint/types": "5.9.1",
"eslint-visitor-keys": "^3.0.0"
}
}
}
},
- "@typescript-eslint/parser": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.4.0.tgz",
- "integrity": "sha512-JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw==",
- "dev": true,
- "peer": true,
- "requires": {
- "@typescript-eslint/scope-manager": "5.4.0",
- "@typescript-eslint/types": "5.4.0",
- "@typescript-eslint/typescript-estree": "5.4.0",
- "debug": "^4.3.2"
- }
- },
"@typescript-eslint/scope-manager": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz",
- "integrity": "sha512-pRxFjYwoi8R+n+sibjgF9iUiAELU9ihPBtHzocyW8v8D8G8KeQvXTsW7+CBYIyTYsmhtNk50QPGLE3vrvhM5KA==",
+ "version": "5.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
+ "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
"dev": true,
- "peer": true,
"requires": {
- "@typescript-eslint/types": "5.4.0",
- "@typescript-eslint/visitor-keys": "5.4.0"
+ "@typescript-eslint/types": "5.8.1",
+ "@typescript-eslint/visitor-keys": "5.8.1"
}
},
"@typescript-eslint/types": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.4.0.tgz",
- "integrity": "sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA==",
- "dev": true,
- "peer": true
+ "version": "5.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
+ "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
+ "dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz",
- "integrity": "sha512-nhlNoBdhKuwiLMx6GrybPT3SFILm5Gij2YBdPEPFlYNFAXUJWX6QRgvi/lwVoadaQEFsizohs6aFRMqsXI2ewA==",
+ "version": "5.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz",
+ "integrity": "sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==",
"dev": true,
- "peer": true,
"requires": {
- "@typescript-eslint/types": "5.4.0",
- "@typescript-eslint/visitor-keys": "5.4.0",
+ "@typescript-eslint/types": "5.8.1",
+ "@typescript-eslint/visitor-keys": "5.8.1",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@@ -25758,13 +25871,12 @@
}
},
"@typescript-eslint/visitor-keys": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz",
- "integrity": "sha512-PVbax7MeE7tdLfW5SA0fs8NGVVr+buMPrcj+CWYWPXsZCH8qZ1THufDzbXm1xrZ2b2PA1iENJ0sRq5fuUtvsJg==",
+ "version": "5.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
+ "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
"dev": true,
- "peer": true,
"requires": {
- "@typescript-eslint/types": "5.4.0",
+ "@typescript-eslint/types": "5.8.1",
"eslint-visitor-keys": "^3.0.0"
}
},
@@ -25778,18 +25890,12 @@
}
},
"@wry/equality": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz",
- "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==",
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.2.tgz",
+ "integrity": "sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==",
+ "dev": true,
"requires": {
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
+ "tslib": "^2.3.0"
}
},
"@wry/trie": {
@@ -25833,9 +25939,9 @@
}
},
"acorn": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
- "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
"dev": true
},
"acorn-globals": {
@@ -25885,9 +25991,9 @@
}
},
"agentkeepalive": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz",
- "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz",
+ "integrity": "sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==",
"requires": {
"debug": "^4.1.0",
"depd": "^1.1.2",
@@ -26223,20 +26329,10 @@
"pretty-format": "^27.0.0"
}
},
- "apollo-graphql": {
- "version": "0.9.5",
- "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.9.5.tgz",
- "integrity": "sha512-RGt5k2JeBqrmnwRM0VOgWFiGKlGJMfmiif/4JvdaEqhMJ+xqe/9cfDYzXfn33ke2eWixsAbjEbRfy8XbaN9nTw==",
- "requires": {
- "core-js-pure": "^3.10.2",
- "lodash.sortby": "^4.7.0",
- "sha.js": "^2.4.11"
- }
- },
"apollo-reporting-protobuf": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.2.0.tgz",
- "integrity": "sha512-2v/5IRJeTGakCJo8kS2LeKUcLsgqxO/HpEyu1EaW79F0CsvrIk10tOIGxouoOgtVl5e1wfGePJ849CUWWczx2A==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.3.0.tgz",
+ "integrity": "sha512-51Jwrg0NvHJfKz7TIGU8+Os3rUAqWtXeKRsRtKYtTeMSBPNhzz8UoGjAB3XyVmUXRE3IRmLtDPDRFL7qbxMI/w==",
"requires": {
"@apollo/protobufjs": "1.2.2"
}
@@ -26250,6 +26346,27 @@
"apollo-server-core": "^3.5.0",
"apollo-server-express": "^3.5.0",
"express": "^4.17.1"
+ },
+ "dependencies": {
+ "apollo-server-express": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.6.1.tgz",
+ "integrity": "sha512-29imWvRPn5GsQq02Akt0+jejpWzpOIZfUmgoiFm4YB7somvhDNw15Pu7fv4sISK8ehNIDF68IpLd2cpY8sCkYQ==",
+ "dev": true,
+ "requires": {
+ "@types/accepts": "^1.3.5",
+ "@types/body-parser": "1.19.2",
+ "@types/cors": "2.8.12",
+ "@types/express": "4.17.13",
+ "@types/express-serve-static-core": "4.17.27",
+ "accepts": "^1.3.5",
+ "apollo-server-core": "^3.6.1",
+ "apollo-server-types": "^3.5.0",
+ "body-parser": "^1.19.0",
+ "cors": "^2.8.5",
+ "parseurl": "^1.3.3"
+ }
+ }
}
},
"apollo-server-caching": {
@@ -26261,9 +26378,9 @@
}
},
"apollo-server-core": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.5.0.tgz",
- "integrity": "sha512-c3wEnPSnzvWvYvRJq1B+yIpa+vBvm0kq0tvD4j/IOw/F1s3sadu43Xr4FiLw++UfeLyh3aS5Wk68hjvrW1ceiQ==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.6.1.tgz",
+ "integrity": "sha512-V2Us5x7d+w8dVdyFLxEygMgaQ3KZ6Z59HpaQBNHQ7C5wVZhjUXIsgbehBtfzQbMpyMx0z5/8Z8eIrC4zNoGJDw==",
"requires": {
"@apollographql/apollo-tools": "^0.5.1",
"@apollographql/graphql-playground-html": "1.6.29",
@@ -26272,16 +26389,16 @@
"@graphql-tools/utils": "^8.0.0",
"@josephg/resolvable": "^1.0.0",
"apollo-datasource": "^3.3.0",
- "apollo-graphql": "^0.9.0",
- "apollo-reporting-protobuf": "^3.2.0",
+ "apollo-reporting-protobuf": "^3.3.0",
"apollo-server-caching": "^3.3.0",
"apollo-server-env": "^4.2.0",
"apollo-server-errors": "^3.3.0",
- "apollo-server-plugin-base": "^3.4.0",
- "apollo-server-types": "^3.4.0",
+ "apollo-server-plugin-base": "^3.5.0",
+ "apollo-server-types": "^3.5.0",
"async-retry": "^1.2.1",
"fast-json-stable-stringify": "^2.1.0",
"graphql-tag": "^2.11.0",
+ "lodash.sortby": "^4.7.0",
"loglevel": "^1.6.8",
"lru-cache": "^6.0.0",
"sha.js": "^2.4.11",
@@ -26289,22 +26406,52 @@
},
"dependencies": {
"@graphql-tools/mock": {
- "version": "8.4.3",
- "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.4.3.tgz",
- "integrity": "sha512-jj7obzDz4FAfmIGSh1Mo6cUs9d8MSaN6TH/iju3Qyuz6CZ6NLuJrWOg50ysEUgkT4Y/Aey8SlWOf/U15Z7qWYw==",
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.5.1.tgz",
+ "integrity": "sha512-cwwqGs9Rofev1JdMheAseqM/rw1uw4CYb35vv3Kcv2bbyiPF+490xdlHqFeIazceotMFxC60LlQztwb64rsEnw==",
"requires": {
"@graphql-tools/schema": "^8.3.1",
- "@graphql-tools/utils": "^8.5.1",
+ "@graphql-tools/utils": "^8.6.0",
"fast-json-stable-stringify": "^2.1.0",
"tslib": "~2.3.0"
}
},
+ "@graphql-tools/schema": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.1.tgz",
+ "integrity": "sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==",
+ "requires": {
+ "@graphql-tools/merge": "^8.2.1",
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0",
+ "value-or-promise": "1.0.11"
+ },
+ "dependencies": {
+ "@graphql-tools/merge": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
+ "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
+ "requires": {
+ "@graphql-tools/utils": "^8.5.1",
+ "tslib": "~2.3.0"
+ }
+ }
+ }
+ },
+ "@graphql-tools/utils": {
+ "version": "8.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz",
+ "integrity": "sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==",
+ "requires": {
+ "tslib": "~2.3.0"
+ }
+ },
"apollo-server-plugin-base": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.4.0.tgz",
- "integrity": "sha512-Z9musk7Z/1v+Db6aOoxcHfmsgej2yEBzBz5kVGOc81/XAtdv6bjasKSLC3RiySAUzWSLBJRUeEGIEVhhk/j2Zg==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.5.0.tgz",
+ "integrity": "sha512-dpi+W6wexT4H3cjIhxC9SJABkR8TCfxycoHK+U4jxQXUdg50da+KnMgoWlQbF1tuXtUs4gnJtij1RjuGtKwBhw==",
"requires": {
- "apollo-server-types": "^3.4.0"
+ "apollo-server-types": "^3.5.0"
}
}
}
@@ -26323,31 +26470,12 @@
"integrity": "sha512-9/MNlPZBbEjcCdJcUSbKbVEBT9xZS8GSpX7T/TyzcxHSbsXJszSDSipQNGC+PRKTKAUnv61IONScVyLKEZ5XEQ==",
"requires": {}
},
- "apollo-server-express": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.5.0.tgz",
- "integrity": "sha512-eFyBC4ate/g5GrvxM+HrtiElxCEbvG+CiJ0/R1i62L+wzXDhgD6MU0SW17ceS1mpBJgDxURu/VS5hUSNyWMa3Q==",
- "dev": true,
- "requires": {
- "@types/accepts": "^1.3.5",
- "@types/body-parser": "1.19.1",
- "@types/cors": "2.8.12",
- "@types/express": "4.17.13",
- "@types/express-serve-static-core": "4.17.24",
- "accepts": "^1.3.5",
- "apollo-server-core": "^3.5.0",
- "apollo-server-types": "^3.4.0",
- "body-parser": "^1.19.0",
- "cors": "^2.8.5",
- "parseurl": "^1.3.3"
- }
- },
"apollo-server-types": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.4.0.tgz",
- "integrity": "sha512-iFNRENtxDoFWoY+KxpGP+TYyRnqUPqUTubMJVgiXPDvOPFL8dzqGGmqq1g/VCeWFHRJTPBLWhOfQU7ktwDEjnQ==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.5.0.tgz",
+ "integrity": "sha512-4JaZNu1kjrzIbppgc78hhIe2DFe+XONf8grprcjTOe0v8dIsuV0tFUnl+awTvTpHU1sdjRCKwnj382BebiL+qw==",
"requires": {
- "apollo-reporting-protobuf": "^3.2.0",
+ "apollo-reporting-protobuf": "^3.3.0",
"apollo-server-caching": "^3.3.0",
"apollo-server-env": "^4.2.0"
}
@@ -26363,6 +26491,22 @@
"tslib": "^1.10.0"
},
"dependencies": {
+ "@wry/equality": {
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz",
+ "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==",
+ "requires": {
+ "tslib": "^1.9.3"
+ }
+ },
+ "ts-invariant": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz",
+ "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==",
+ "requires": {
+ "tslib": "^1.9.3"
+ }
+ },
"tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
@@ -26401,6 +26545,12 @@
"util-deprecate": "~1.0.1"
}
},
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -26535,9 +26685,9 @@
"dev": true
},
"async": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz",
- "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==",
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
"dev": true
},
"async-retry": {
@@ -26546,6 +26696,13 @@
"integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==",
"requires": {
"retry": "0.13.1"
+ },
+ "dependencies": {
+ "retry": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="
+ }
}
},
"asynckit": {
@@ -26589,15 +26746,15 @@
"dev": true
},
"babel-jest": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.5.tgz",
- "integrity": "sha512-3uuUTjXbgtODmSv/DXO9nZfD52IyC2OYTFaXGRzL0kpykzroaquCrD5+lZNafTvZlnNqZHt5pb0M08qVBZnsnA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz",
+ "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==",
"dev": true,
"requires": {
- "@jest/transform": "^27.4.5",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
+ "babel-plugin-istanbul": "^6.1.1",
"babel-preset-jest": "^27.4.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
@@ -26624,27 +26781,6 @@
"@istanbuljs/schema": "^0.1.2",
"istanbul-lib-instrument": "^5.0.4",
"test-exclude": "^6.0.0"
- },
- "dependencies": {
- "istanbul-lib-instrument": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz",
- "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
}
},
"babel-plugin-jest-hoist": {
@@ -26795,21 +26931,21 @@
}
},
"body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz",
+ "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==",
"dev": true,
"requires": {
- "bytes": "3.1.0",
+ "bytes": "3.1.1",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
- "http-errors": "1.7.2",
+ "http-errors": "1.8.1",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
+ "qs": "6.9.6",
+ "raw-body": "2.4.2",
+ "type-is": "~1.6.18"
},
"dependencies": {
"debug": {
@@ -26854,13 +26990,13 @@
"dev": true
},
"browserslist": {
- "version": "4.18.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz",
- "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==",
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
+ "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001280",
- "electron-to-chromium": "^1.3.896",
+ "caniuse-lite": "^1.0.30001286",
+ "electron-to-chromium": "^1.4.17",
"escalade": "^3.1.1",
"node-releases": "^2.0.1",
"picocolors": "^1.0.0"
@@ -26943,9 +27079,9 @@
"dev": true
},
"bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
+ "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
"dev": true
},
"cacache": {
@@ -27088,9 +27224,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001282",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz",
- "integrity": "sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==",
+ "version": "1.0.30001298",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz",
+ "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==",
"dev": true
},
"capital-case": {
@@ -27234,9 +27370,9 @@
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
},
"ci-info": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
- "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz",
+ "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==",
"dev": true
},
"cjs-module-lexer": {
@@ -27524,9 +27660,9 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"color-string": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz",
- "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz",
+ "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==",
"dev": true,
"requires": {
"color-name": "^1.0.0",
@@ -27674,12 +27810,12 @@
}
},
"content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
"dev": true,
"requires": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "5.2.1"
}
},
"content-type": {
@@ -27727,14 +27863,14 @@
"dev": true
},
"conventional-changelog-writer": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz",
- "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz",
+ "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==",
"dev": true,
"requires": {
"conventional-commits-filter": "^2.0.7",
"dateformat": "^3.0.0",
- "handlebars": "^4.7.6",
+ "handlebars": "^4.7.7",
"json-stringify-safe": "^5.0.1",
"lodash": "^4.17.15",
"meow": "^8.0.0",
@@ -27762,9 +27898,9 @@
}
},
"conventional-commits-parser": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz",
- "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz",
+ "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==",
"dev": true,
"requires": {
"is-text-path": "^1.0.1",
@@ -27798,12 +27934,20 @@
"dev": true,
"requires": {
"safe-buffer": "~5.1.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ }
}
},
"cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
"dev": true
},
"cookie-signature": {
@@ -27818,11 +27962,6 @@
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
- "core-js-pure": {
- "version": "3.19.1",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.1.tgz",
- "integrity": "sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ=="
- },
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -27991,28 +28130,6 @@
"abab": "^2.0.3",
"whatwg-mimetype": "^2.3.0",
"whatwg-url": "^8.0.0"
- },
- "dependencies": {
- "tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- }
- }
}
},
"dataloader": {
@@ -28046,9 +28163,9 @@
"dev": true
},
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"requires": {
"ms": "2.1.2"
}
@@ -28378,9 +28495,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.904",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.904.tgz",
- "integrity": "sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw==",
+ "version": "1.4.39",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.39.tgz",
+ "integrity": "sha512-bFH3gdRq/l7WlzSleiO6dwpZH3RhiJ8vlMq0tOJMfT+5nb+x397eJn2RHF6Ho/9GCKv+BkimNlUMHl9+Yh+Qcg==",
"dev": true
},
"elegant-spinner": {
@@ -28543,169 +28660,6 @@
"is-symbol": "^1.0.2"
}
},
- "esbuild": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.2.tgz",
- "integrity": "sha512-l076A6o/PIgcyM24s0dWmDI/b8RQf41uWoJu9I0M71CtW/YSw5T5NUeXxs5lo2tFQD+O4CW4nBHJXx3OY5NpXg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "esbuild-android-arm64": "0.14.2",
- "esbuild-darwin-64": "0.14.2",
- "esbuild-darwin-arm64": "0.14.2",
- "esbuild-freebsd-64": "0.14.2",
- "esbuild-freebsd-arm64": "0.14.2",
- "esbuild-linux-32": "0.14.2",
- "esbuild-linux-64": "0.14.2",
- "esbuild-linux-arm": "0.14.2",
- "esbuild-linux-arm64": "0.14.2",
- "esbuild-linux-mips64le": "0.14.2",
- "esbuild-linux-ppc64le": "0.14.2",
- "esbuild-netbsd-64": "0.14.2",
- "esbuild-openbsd-64": "0.14.2",
- "esbuild-sunos-64": "0.14.2",
- "esbuild-windows-32": "0.14.2",
- "esbuild-windows-64": "0.14.2",
- "esbuild-windows-arm64": "0.14.2"
- }
- },
- "esbuild-android-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.2.tgz",
- "integrity": "sha512-hEixaKMN3XXCkoe+0WcexO4CcBVU5DCSUT+7P8JZiWZCbAjSkc9b6Yz2X5DSfQmRCtI/cQRU6TfMYrMQ5NBfdw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-darwin-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.2.tgz",
- "integrity": "sha512-Uq8t0cbJQkxkQdbUfOl2wZqZ/AtLZjvJulR1HHnc96UgyzG9YlCLSDMiqjM+NANEy7/zzvwKJsy3iNC9wwqLJA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-darwin-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.2.tgz",
- "integrity": "sha512-619MSa17sr7YCIrUj88KzQu2ESA4jKYtIYfLU/smX6qNgxQt3Y/gzM4s6sgJ4fPQzirvmXgcHv1ZNQAs/Xh48A==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-freebsd-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.2.tgz",
- "integrity": "sha512-aP6FE/ZsChZpUV6F3HE3x1Pz0paoYXycJ7oLt06g0G9dhJKknPawXCqQg/WMyD+ldCEZfo7F1kavenPdIT/SGQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-freebsd-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.2.tgz",
- "integrity": "sha512-LSm98WTb1QIhyS83+Po0KTpZNdd2XpVpI9ua5rLWqKWbKeNRFwOsjeiuwBaRNc+O32s9oC2ZMefETxHBV6VNkQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-linux-32": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.2.tgz",
- "integrity": "sha512-8VxnNEyeUbiGflTKcuVc5JEPTqXfsx2O6ABwUbfS1Hp26lYPRPC7pKQK5Dxa0MBejGc50jy7YZae3EGQUQ8EkQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-linux-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.2.tgz",
- "integrity": "sha512-4bzMS2dNxOJoFIiHId4w+tqQzdnsch71JJV1qZnbnErSFWcR9lRgpSqWnTTFtv6XM+MvltRzSXC5wQ7AEBY6Hg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-linux-arm": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.2.tgz",
- "integrity": "sha512-PaylahvMHhH8YMfJPMKEqi64qA0Su+d4FNfHKvlKes/2dUe4QxgbwXT9oLVgy8iJdcFMrO7By4R8fS8S0p8aVQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-linux-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.2.tgz",
- "integrity": "sha512-RlIVp0RwJrdtasDF1vTFueLYZ8WuFzxoQ1OoRFZOTyJHCGCNgh7xJIC34gd7B7+RT0CzLBB4LcM5n0LS+hIoww==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-linux-mips64le": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.2.tgz",
- "integrity": "sha512-Fdwrq2roFnO5oetIiUQQueZ3+5soCxBSJswg3MvYaXDomj47BN6oAWMZgLrFh1oVrtWrxSDLCJBenYdbm2s+qQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-linux-ppc64le": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.2.tgz",
- "integrity": "sha512-vxptskw8JfCDD9QqpRO0XnsM1osuWeRjPaXX1TwdveLogYsbdFtcuiuK/4FxGiNMUr1ojtnCS2rMPbY8puc5NA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-netbsd-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.2.tgz",
- "integrity": "sha512-I8+LzYK5iSNpspS9eCV9sW67Rj8FgMHimGri4mKiGAmN0pNfx+hFX146rYtzGtewuxKtTsPywWteHx+hPRLDsw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-openbsd-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.2.tgz",
- "integrity": "sha512-120HgMe9elidWUvM2E6mMf0csrGwx8sYDqUIJugyMy1oHm+/nT08bTAVXuwYG/rkMIqsEO9AlMxuYnwR6En/3Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-sunos-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.2.tgz",
- "integrity": "sha512-Q3xcf9Uyfra9UuCFxoLixVvdigo0daZaKJ97TL2KNA4bxRUPK18wwGUk3AxvgDQZpRmg82w9PnkaNYo7a+24ow==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-windows-32": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.2.tgz",
- "integrity": "sha512-TW7O49tPsrq+N1sW8mb3m24j/iDGa4xzAZH4wHWwoIzgtZAYPKC0hpIhufRRG/LA30bdMChO9pjJZ5mtcybtBQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-windows-64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.2.tgz",
- "integrity": "sha512-Rym6ViMNmi1E2QuQMWy0AFAfdY0wGwZD73BnzlsQBX5hZBuy/L+Speh7ucUZ16gwsrMM9v86icZUDrSN/lNBKg==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "esbuild-windows-arm64": {
- "version": "0.14.2",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.2.tgz",
- "integrity": "sha512-ZrLbhr0vX5Em/P1faMnHucjVVWPS+m3tktAtz93WkMZLmbRJevhiW1y4CbulBd2z0MEdXZ6emDa1zFHq5O5bSA==",
- "dev": true,
- "optional": true,
- "peer": true
- },
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -28786,14 +28740,14 @@
}
},
"eslint": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz",
- "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==",
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz",
+ "integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==",
"dev": true,
"peer": true,
"requires": {
- "@eslint/eslintrc": "^1.0.4",
- "@humanwhocodes/config-array": "^0.6.0",
+ "@eslint/eslintrc": "^1.0.5",
+ "@humanwhocodes/config-array": "^0.9.2",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -28804,7 +28758,7 @@
"eslint-scope": "^7.1.0",
"eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.1.0",
- "espree": "^9.1.0",
+ "espree": "^9.3.0",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@@ -28903,13 +28857,13 @@
"dev": true
},
"espree": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
- "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz",
+ "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==",
"dev": true,
"peer": true,
"requires": {
- "acorn": "^8.6.0",
+ "acorn": "^8.7.0",
"acorn-jsx": "^5.3.1",
"eslint-visitor-keys": "^3.1.0"
}
@@ -29120,39 +29074,29 @@
}
},
"expect": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.2.tgz",
- "integrity": "sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz",
+ "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
- "ansi-styles": "^5.0.0",
"jest-get-type": "^27.4.0",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-regex-util": "^27.4.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
+ "jest-matcher-utils": "^27.4.6",
+ "jest-message-util": "^27.4.6"
}
},
"express": {
- "version": "4.17.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz",
+ "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==",
"dev": true,
"requires": {
"accepts": "~1.3.7",
"array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
+ "body-parser": "1.19.1",
+ "content-disposition": "0.5.4",
"content-type": "~1.0.4",
- "cookie": "0.4.0",
+ "cookie": "0.4.1",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
@@ -29166,13 +29110,13 @@
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.9.6",
"range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.17.2",
+ "serve-static": "1.14.2",
+ "setprototypeof": "1.2.0",
"statuses": "~1.5.0",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
@@ -29257,9 +29201,9 @@
"dev": true
},
"fast-glob": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
- "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "version": "3.2.10",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz",
+ "integrity": "sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==",
"dev": true,
"requires": {
"@nodelib/fs.stat": "^2.0.2",
@@ -29304,9 +29248,9 @@
}
},
"fbjs": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.1.tgz",
- "integrity": "sha512-8+vkGyT4lNDRKHQNPp0yh/6E7FfkLg89XqQbOYnvntRh+8RiSD43yrh9E5ejp1muCizTL4nDVG+y8W4e+LROHg==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.2.tgz",
+ "integrity": "sha512-qv+boqYndjElAJHNN3NoM8XuwQZ1j2m3kEvTgdle8IDjr6oUbkEpvABWtj/rQl3vq4ew7dnElBxL4YJAwTVqQQ==",
"dev": true,
"requires": {
"cross-fetch": "^3.0.4",
@@ -29474,6 +29418,30 @@
"mime-types": "^2.1.12"
}
},
+ "form-data-encoder": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz",
+ "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==",
+ "dev": true
+ },
+ "formdata-node": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.2.tgz",
+ "integrity": "sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==",
+ "dev": true,
+ "requires": {
+ "node-domexception": "1.0.0",
+ "web-streams-polyfill": "4.0.0-beta.1"
+ },
+ "dependencies": {
+ "web-streams-polyfill": {
+ "version": "4.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz",
+ "integrity": "sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ==",
+ "dev": true
+ }
+ }
+ },
"forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -29652,6 +29620,12 @@
"util-deprecate": "~1.0.1"
}
},
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -29736,9 +29710,9 @@
}
},
"git-raw-commits": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz",
- "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz",
+ "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==",
"dev": true,
"requires": {
"dargs": "^7.0.0",
@@ -29854,16 +29828,16 @@
}
},
"globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dev": true,
"requires": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
"slash": "^3.0.0"
}
},
@@ -29898,9 +29872,9 @@
}
},
"graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "version": "4.2.9",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
"dev": true
},
"graphql": {
@@ -29908,56 +29882,6 @@
"resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz",
"integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw=="
},
- "graphql-config": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-4.1.0.tgz",
- "integrity": "sha512-Myqay6pmdcmX3KqoH+bMbeKZ1cTODpHS2CxF1ZzNnfTE+YUpGTcp01bOw6LpzamRb0T/WTYtGFbZeXGo9Hab2Q==",
- "dev": true,
- "requires": {
- "@endemolshinegroup/cosmiconfig-typescript-loader": "3.0.2",
- "@graphql-tools/graphql-file-loader": "^7.3.2",
- "@graphql-tools/json-file-loader": "^7.3.2",
- "@graphql-tools/load": "^7.4.1",
- "@graphql-tools/merge": "^8.2.1",
- "@graphql-tools/url-loader": "^7.4.2",
- "@graphql-tools/utils": "^8.5.1",
- "cosmiconfig": "7.0.1",
- "cosmiconfig-toml-loader": "1.0.0",
- "minimatch": "3.0.4",
- "string-env-interpolation": "1.0.1"
- },
- "dependencies": {
- "@graphql-tools/merge": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz",
- "integrity": "sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==",
- "dev": true,
- "requires": {
- "@graphql-tools/utils": "^8.5.1",
- "tslib": "~2.3.0"
- }
- }
- }
- },
- "graphql-request": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.6.1.tgz",
- "integrity": "sha512-Nm1EasrAQVZllyNTlHDLnLZjlhC6eRWnWP6KH//ytnAL08pjlLkdI2K+s6OV92p45hn5b/kUlLbDwACmRoLwrQ==",
- "dev": true,
- "requires": {
- "cross-fetch": "^3.0.6",
- "extract-files": "^9.0.0",
- "form-data": "^3.0.0"
- },
- "dependencies": {
- "extract-files": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz",
- "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==",
- "dev": true
- }
- }
- },
"graphql-tag": {
"version": "2.12.6",
"resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
@@ -30131,20 +30055,12 @@
"dev": true,
"requires": {
"react-is": "^16.7.0"
- },
- "dependencies": {
- "react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
- }
}
},
"hosted-git-info": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
- "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -30171,33 +30087,24 @@
"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
},
"http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"dev": true,
"requires": {
"depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
"statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- }
+ "toidentifier": "1.0.1"
}
},
"http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
"requires": {
- "@tootallnate/once": "2",
+ "@tootallnate/once": "1",
"agent-base": "6",
"debug": "4"
}
@@ -30252,9 +30159,9 @@
"dev": true
},
"ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
"dev": true
},
"ignore-walk": {
@@ -30289,9 +30196,9 @@
"dev": true
},
"import-local": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz",
- "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
"dev": true,
"requires": {
"pkg-dir": "^4.2.0",
@@ -30370,21 +30277,22 @@
}
},
"inquirer": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
- "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz",
+ "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==",
"dev": true,
"requires": {
"ansi-escapes": "^4.2.1",
- "chalk": "^4.1.0",
+ "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.19",
+ "lodash": "^4.17.21",
"mute-stream": "0.0.8",
+ "ora": "^5.4.1",
"run-async": "^2.4.0",
- "rxjs": "^6.6.0",
+ "rxjs": "^7.2.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0",
"through": "^2.3.6"
@@ -30491,10 +30399,27 @@
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
"integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w=="
},
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ },
+ "dependencies": {
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ }
+ }
+ },
"is-core-module": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
- "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
+ "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
"dev": true,
"requires": {
"has": "^1.0.3"
@@ -30600,9 +30525,9 @@
"dev": true
},
"is-negative-zero": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
- "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w=="
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+ "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
},
"is-number": {
"version": "6.0.0",
@@ -30631,6 +30556,14 @@
"dev": true,
"requires": {
"symbol-observable": "^1.1.0"
+ },
+ "dependencies": {
+ "symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "dev": true
+ }
}
},
"is-plain-obj": {
@@ -30782,17 +30715,21 @@
"integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA=="
},
"is-weakref": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz",
- "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+ "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
"requires": {
- "call-bind": "^1.0.0"
+ "call-bind": "^1.0.2"
}
},
"is-weakset": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz",
- "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw=="
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
+ "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ }
},
"is-windows": {
"version": "1.0.2",
@@ -30858,14 +30795,15 @@
"dev": true
},
"istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz",
+ "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==",
"dev": true,
"requires": {
- "@babel/core": "^7.7.5",
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
"@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-coverage": "^3.2.0",
"semver": "^6.3.0"
},
"dependencies": {
@@ -30900,9 +30838,9 @@
}
},
"istanbul-reports": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz",
- "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz",
+ "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==",
"dev": true,
"requires": {
"html-escaper": "^2.0.0",
@@ -30938,52 +30876,82 @@
}
},
"jest-circus": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.5.tgz",
- "integrity": "sha512-eTNWa9wsvBwPykhMMShheafbwyakcdHZaEYh5iRrQ0PFJxkDP/e3U/FvzGuKWu2WpwUA3C3hPlfpuzvOdTVqnw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz",
+ "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.4",
- "@jest/test-result": "^27.4.2",
+ "@jest/environment": "^27.4.6",
+ "@jest/test-result": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
"dedent": "^0.7.0",
- "expect": "^27.4.2",
+ "expect": "^27.4.6",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.2",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
+ "jest-each": "^27.4.6",
+ "jest-matcher-utils": "^27.4.6",
+ "jest-message-util": "^27.4.6",
+ "jest-runtime": "^27.4.6",
+ "jest-snapshot": "^27.4.6",
"jest-util": "^27.4.2",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.4.6",
"slash": "^3.0.0",
"stack-utils": "^2.0.3",
"throat": "^6.0.1"
}
},
"jest-cli": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.5.tgz",
- "integrity": "sha512-hrky3DSgE0u7sQxaCL7bdebEPHx5QzYmrGuUjaPLmPE8jx5adtvGuOlRspvMoVLTTDOHRnZDoRLYJuA+VCI7Hg==",
+ "version": "27.4.7",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz",
+ "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==",
"dev": true,
"requires": {
- "@jest/core": "^27.4.5",
- "@jest/test-result": "^27.4.2",
+ "@jest/core": "^27.4.7",
+ "@jest/test-result": "^27.4.6",
"@jest/types": "^27.4.2",
"chalk": "^4.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"import-local": "^3.0.2",
- "jest-config": "^27.4.5",
+ "jest-config": "^27.4.7",
"jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "jest-validate": "^27.4.6",
"prompts": "^2.0.1",
"yargs": "^16.2.0"
},
"dependencies": {
+ "jest-config": {
+ "version": "27.4.7",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz",
+ "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.8.0",
+ "@jest/test-sequencer": "^27.4.6",
+ "@jest/types": "^27.4.2",
+ "babel-jest": "^27.4.6",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-circus": "^27.4.6",
+ "jest-environment-jsdom": "^27.4.6",
+ "jest-environment-node": "^27.4.6",
+ "jest-get-type": "^27.4.0",
+ "jest-jasmine2": "^27.4.6",
+ "jest-regex-util": "^27.4.0",
+ "jest-resolve": "^27.4.6",
+ "jest-runner": "^27.4.6",
+ "jest-util": "^27.4.2",
+ "jest-validate": "^27.4.6",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.4.6",
+ "slash": "^3.0.0"
+ }
+ },
"yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -31340,15 +31308,9 @@
}
},
"camelcase": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
- "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
- "dev": true
- },
- "ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true
},
"cjs-module-lexer": {
@@ -31432,13 +31394,24 @@
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true
},
- "is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
"dev": true,
"requires": {
- "ci-info": "^2.0.0"
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
"jest": {
@@ -31950,6 +31923,12 @@
"react-is": "^17.0.1"
}
},
+ "react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+ "dev": true
+ },
"read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -32069,15 +32048,15 @@
}
},
"jest-diff": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.2.tgz",
- "integrity": "sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz",
+ "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
"diff-sequences": "^27.4.0",
"jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
}
},
"jest-docblock": {
@@ -32090,44 +32069,44 @@
}
},
"jest-each": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.2.tgz",
- "integrity": "sha512-53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz",
+ "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
"chalk": "^4.0.0",
"jest-get-type": "^27.4.0",
"jest-util": "^27.4.2",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
}
},
"jest-environment-jsdom": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.4.tgz",
- "integrity": "sha512-cYR3ndNfHBqQgFvS1RL7dNqSvD//K56j/q1s2ygNHcfTCAp12zfIromO1w3COmXrxS8hWAh7+CmZmGCIoqGcGA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz",
+ "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.4",
- "@jest/fake-timers": "^27.4.2",
+ "@jest/environment": "^27.4.6",
+ "@jest/fake-timers": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
- "jest-mock": "^27.4.2",
+ "jest-mock": "^27.4.6",
"jest-util": "^27.4.2",
"jsdom": "^16.6.0"
}
},
"jest-environment-node": {
- "version": "27.4.4",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.4.tgz",
- "integrity": "sha512-D+v3lbJ2GjQTQR23TK0kY3vFVmSeea05giInI41HHOaJnAwOnmUHTZgUaZL+VxUB43pIzoa7PMwWtCVlIUoVoA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz",
+ "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.4",
- "@jest/fake-timers": "^27.4.2",
+ "@jest/environment": "^27.4.6",
+ "@jest/fake-timers": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
- "jest-mock": "^27.4.2",
+ "jest-mock": "^27.4.6",
"jest-util": "^27.4.2"
}
},
@@ -32138,9 +32117,9 @@
"dev": true
},
"jest-haste-map": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.5.tgz",
- "integrity": "sha512-oJm1b5qhhPs78K24EDGifWS0dELYxnoBiDhatT/FThgB9yxqUm5F6li3Pv+Q+apMBmmPNzOBnZ7ZxWMB1Leq1Q==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz",
+ "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
@@ -32153,34 +32132,33 @@
"jest-regex-util": "^27.4.0",
"jest-serializer": "^27.4.0",
"jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "jest-worker": "^27.4.6",
"micromatch": "^4.0.4",
"walker": "^1.0.7"
}
},
"jest-jasmine2": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.5.tgz",
- "integrity": "sha512-oUnvwhJDj2LhOiUB1kdnJjkx8C5PwgUZQb9urF77mELH9DGR4e2GqpWQKBOYXWs5+uTN9BGDqRz3Aeg5Wts7aw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz",
+ "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.4.4",
+ "@jest/environment": "^27.4.6",
"@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.2",
+ "@jest/test-result": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
- "expect": "^27.4.2",
+ "expect": "^27.4.6",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.2",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-runtime": "^27.4.5",
- "jest-snapshot": "^27.4.5",
+ "jest-each": "^27.4.6",
+ "jest-matcher-utils": "^27.4.6",
+ "jest-message-util": "^27.4.6",
+ "jest-runtime": "^27.4.6",
+ "jest-snapshot": "^27.4.6",
"jest-util": "^27.4.2",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.4.6",
"throat": "^6.0.1"
}
},
@@ -32197,31 +32175,31 @@
}
},
"jest-leak-detector": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.2.tgz",
- "integrity": "sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz",
+ "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==",
"dev": true,
"requires": {
"jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
}
},
"jest-matcher-utils": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz",
- "integrity": "sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz",
+ "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "jest-diff": "^27.4.2",
+ "jest-diff": "^27.4.6",
"jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
}
},
"jest-message-util": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.2.tgz",
- "integrity": "sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz",
+ "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.12.13",
@@ -32230,15 +32208,15 @@
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
"micromatch": "^4.0.4",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.4.6",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
}
},
"jest-mock": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.2.tgz",
- "integrity": "sha512-PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz",
+ "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
@@ -32259,44 +32237,44 @@
"dev": true
},
"jest-resolve": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.5.tgz",
- "integrity": "sha512-xU3z1BuOz/hUhVUL+918KqUgK+skqOuUsAi7A+iwoUldK6/+PW+utK8l8cxIWT9AW7IAhGNXjSAh1UYmjULZZw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz",
+ "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
+ "jest-haste-map": "^27.4.6",
"jest-pnp-resolver": "^1.2.2",
"jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
+ "jest-validate": "^27.4.6",
"resolve": "^1.20.0",
"resolve.exports": "^1.1.0",
"slash": "^3.0.0"
}
},
"jest-resolve-dependencies": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.5.tgz",
- "integrity": "sha512-elEVvkvRK51y037NshtEkEnukMBWvlPzZHiL847OrIljJ8yIsujD2GXRPqDXC4rEVKbcdsy7W0FxoZb4WmEs7w==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz",
+ "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
"jest-regex-util": "^27.4.0",
- "jest-snapshot": "^27.4.5"
+ "jest-snapshot": "^27.4.6"
}
},
"jest-runner": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.5.tgz",
- "integrity": "sha512-/irauncTfmY1WkTaRQGRWcyQLzK1g98GYG/8QvIPviHgO1Fqz1JYeEIsSfF+9mc/UTA6S+IIHFgKyvUrtiBIZg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz",
+ "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==",
"dev": true,
"requires": {
- "@jest/console": "^27.4.2",
- "@jest/environment": "^27.4.4",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
+ "@jest/console": "^27.4.6",
+ "@jest/environment": "^27.4.6",
+ "@jest/test-result": "^27.4.6",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"chalk": "^4.0.0",
@@ -32304,68 +32282,47 @@
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"jest-docblock": "^27.4.0",
- "jest-environment-jsdom": "^27.4.4",
- "jest-environment-node": "^27.4.4",
- "jest-haste-map": "^27.4.5",
- "jest-leak-detector": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-resolve": "^27.4.5",
- "jest-runtime": "^27.4.5",
+ "jest-environment-jsdom": "^27.4.6",
+ "jest-environment-node": "^27.4.6",
+ "jest-haste-map": "^27.4.6",
+ "jest-leak-detector": "^27.4.6",
+ "jest-message-util": "^27.4.6",
+ "jest-resolve": "^27.4.6",
+ "jest-runtime": "^27.4.6",
"jest-util": "^27.4.2",
- "jest-worker": "^27.4.5",
+ "jest-worker": "^27.4.6",
"source-map-support": "^0.5.6",
"throat": "^6.0.1"
}
},
"jest-runtime": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.5.tgz",
- "integrity": "sha512-CIYqwuJQXHQtPd/idgrx4zgJ6iCb6uBjQq1RSAGQrw2S8XifDmoM1Ot8NRd80ooAm+ZNdHVwsktIMGlA1F1FAQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz",
+ "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==",
"dev": true,
"requires": {
- "@jest/console": "^27.4.2",
- "@jest/environment": "^27.4.4",
- "@jest/globals": "^27.4.4",
+ "@jest/environment": "^27.4.6",
+ "@jest/fake-timers": "^27.4.6",
+ "@jest/globals": "^27.4.6",
"@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.2",
- "@jest/transform": "^27.4.5",
+ "@jest/test-result": "^27.4.6",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
- "@types/yargs": "^16.0.0",
"chalk": "^4.0.0",
"cjs-module-lexer": "^1.0.0",
"collect-v8-coverage": "^1.0.0",
"execa": "^5.0.0",
- "exit": "^0.1.2",
"glob": "^7.1.3",
"graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.5",
- "jest-message-util": "^27.4.2",
- "jest-mock": "^27.4.2",
+ "jest-haste-map": "^27.4.6",
+ "jest-message-util": "^27.4.6",
+ "jest-mock": "^27.4.6",
"jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.5",
- "jest-snapshot": "^27.4.5",
+ "jest-resolve": "^27.4.6",
+ "jest-snapshot": "^27.4.6",
"jest-util": "^27.4.2",
- "jest-validate": "^27.4.2",
"slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.2.0"
- },
- "dependencies": {
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- }
- }
+ "strip-bom": "^4.0.0"
}
},
"jest-serializer": {
@@ -32379,34 +32336,32 @@
}
},
"jest-snapshot": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.5.tgz",
- "integrity": "sha512-eCi/iM1YJFrJWiT9de4+RpWWWBqsHiYxFG9V9o/n0WXs6GpW4lUt4FAHAgFPTLPqCUVzrMQmSmTZSgQzwqR7IQ==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz",
+ "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==",
"dev": true,
"requires": {
"@babel/core": "^7.7.2",
"@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
"@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.0.0",
- "@jest/transform": "^27.4.5",
+ "@jest/transform": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/babel__traverse": "^7.0.4",
"@types/prettier": "^2.1.5",
"babel-preset-current-node-syntax": "^1.0.0",
"chalk": "^4.0.0",
- "expect": "^27.4.2",
+ "expect": "^27.4.6",
"graceful-fs": "^4.2.4",
- "jest-diff": "^27.4.2",
+ "jest-diff": "^27.4.6",
"jest-get-type": "^27.4.0",
- "jest-haste-map": "^27.4.5",
- "jest-matcher-utils": "^27.4.2",
- "jest-message-util": "^27.4.2",
- "jest-resolve": "^27.4.5",
+ "jest-haste-map": "^27.4.6",
+ "jest-matcher-utils": "^27.4.6",
+ "jest-message-util": "^27.4.6",
"jest-util": "^27.4.2",
"natural-compare": "^1.4.0",
- "pretty-format": "^27.4.2",
+ "pretty-format": "^27.4.6",
"semver": "^7.3.2"
}
},
@@ -32425,9 +32380,9 @@
}
},
"jest-validate": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.2.tgz",
- "integrity": "sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz",
+ "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==",
"dev": true,
"requires": {
"@jest/types": "^27.4.2",
@@ -32435,24 +32390,24 @@
"chalk": "^4.0.0",
"jest-get-type": "^27.4.0",
"leven": "^3.1.0",
- "pretty-format": "^27.4.2"
+ "pretty-format": "^27.4.6"
},
"dependencies": {
"camelcase": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
- "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true
}
}
},
"jest-watcher": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.2.tgz",
- "integrity": "sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz",
+ "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==",
"dev": true,
"requires": {
- "@jest/test-result": "^27.4.2",
+ "@jest/test-result": "^27.4.6",
"@jest/types": "^27.4.2",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
@@ -32462,9 +32417,9 @@
}
},
"jest-worker": {
- "version": "27.4.5",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz",
- "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz",
+ "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -32542,52 +32497,6 @@
"whatwg-url": "^8.5.0",
"ws": "^7.4.6",
"xml-name-validator": "^3.0.0"
- },
- "dependencies": {
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- }
- },
- "ws": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
- "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
- "dev": true,
- "requires": {}
- }
}
},
"jsesc": {
@@ -32615,9 +32524,9 @@
"dev": true
},
"json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
"dev": true
},
"json-schema-traverse": {
@@ -32726,14 +32635,14 @@
}
},
"jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
"dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
- "json-schema": "0.2.3",
+ "json-schema": "0.4.0",
"verror": "1.10.0"
}
},
@@ -32870,23 +32779,6 @@
"npm-registry-fetch": "^11.0.0"
},
"dependencies": {
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
"make-fetch-happen": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
@@ -32926,9 +32818,9 @@
}
},
"socks-proxy-agent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz",
- "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
+ "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
"dev": true,
"requires": {
"agent-base": "^6.0.2",
@@ -32951,23 +32843,6 @@
"ssri": "^8.0.1"
},
"dependencies": {
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
"make-fetch-happen": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
@@ -33007,9 +32882,9 @@
}
},
"socks-proxy-agent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz",
- "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
+ "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
"dev": true,
"requires": {
"agent-base": "^6.0.2",
@@ -33053,6 +32928,21 @@
"resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
"integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
"dev": true
+ },
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
}
}
},
@@ -33583,12 +33473,12 @@
}
},
"logform": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz",
- "integrity": "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.2.tgz",
+ "integrity": "sha512-V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==",
"dev": true,
"requires": {
- "colors": "^1.2.1",
+ "colors": "1.4.0",
"fecha": "^4.2.0",
"ms": "^2.1.1",
"safe-stable-stringify": "^1.1.0",
@@ -33698,23 +33588,6 @@
"promise-retry": "^2.0.1",
"socks-proxy-agent": "^5.0.0",
"ssri": "^8.0.0"
- },
- "dependencies": {
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- }
}
},
"makeerror": {
@@ -33940,9 +33813,9 @@
}
},
"minipass": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz",
- "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
+ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
"requires": {
"yallist": "^4.0.0"
}
@@ -34083,6 +33956,17 @@
"debug": "4.3.2",
"lazy-ass": "1.6.0",
"ramda": "0.27.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ }
}
},
"modify-values": {
@@ -34297,6 +34181,12 @@
"propagate": "^2.0.0"
}
},
+ "node-domexception": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "dev": true
+ },
"node-fetch": {
"version": "2.6.6",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz",
@@ -34397,12 +34287,6 @@
"glob": "^7.1.3"
}
},
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- },
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@@ -34447,12 +34331,6 @@
"integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
"dev": true
},
- "node-modules-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
- "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
- "dev": true
- },
"node-notifier": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz",
@@ -34730,9 +34608,9 @@
}
},
"object-inspect": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz",
- "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg=="
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+ "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
},
"object-is": {
"version": "1.1.5",
@@ -34906,12 +34784,12 @@
"dev": true
},
"p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
- "yocto-queue": "^0.1.0"
+ "p-try": "^2.0.0"
}
},
"p-locate": {
@@ -34921,17 +34799,6 @@
"dev": true,
"requires": {
"p-limit": "^2.2.0"
- },
- "dependencies": {
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- }
}
},
"p-map": {
@@ -35041,23 +34908,6 @@
"tar": "^6.1.0"
},
"dependencies": {
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
"make-fetch-happen": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
@@ -35097,9 +34947,9 @@
}
},
"socks-proxy-agent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz",
- "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz",
+ "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==",
"dev": true,
"requires": {
"agent-base": "^6.0.2",
@@ -35161,17 +35011,6 @@
"protocols": "^1.4.0",
"qs": "^6.9.4",
"query-string": "^6.13.8"
- },
- "dependencies": {
- "qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
- "dev": true,
- "requires": {
- "side-channel": "^1.0.4"
- }
- }
}
},
"parse-url": {
@@ -35295,9 +35134,9 @@
"dev": true
},
"picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
"pify": {
@@ -35307,13 +35146,10 @@
"dev": true
},
"pirates": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
- "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
- "dev": true,
- "requires": {
- "node-modules-regexp": "^1.0.0"
- }
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz",
+ "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==",
+ "dev": true
},
"pkg-dir": {
"version": "4.2.0",
@@ -35356,11 +35192,10 @@
"dev": true
},
"pretty-format": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.2.tgz",
- "integrity": "sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==",
+ "version": "27.4.6",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz",
+ "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==",
"requires": {
- "@jest/types": "^27.4.2",
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
"react-is": "^17.0.1"
@@ -35370,6 +35205,11 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="
+ },
+ "react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
}
}
},
@@ -35407,13 +35247,6 @@
"requires": {
"err-code": "^2.0.2",
"retry": "^0.12.0"
- },
- "dependencies": {
- "retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs="
- }
}
},
"prompt-actions": {
@@ -35600,22 +35433,14 @@
}
},
"prop-types": {
- "version": "15.7.2",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
- "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"dev": true,
"requires": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
- "react-is": "^16.8.1"
- },
- "dependencies": {
- "react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
- }
+ "react-is": "^16.13.1"
}
},
"propagate": {
@@ -35652,9 +35477,9 @@
},
"dependencies": {
"@types/node": {
- "version": "16.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.9.tgz",
- "integrity": "sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A==",
+ "version": "17.0.8",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz",
+ "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==",
"dev": true
}
}
@@ -35703,9 +35528,9 @@
"dev": true
},
"qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
+ "version": "6.9.6",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
+ "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
"dev": true
},
"query-string": {
@@ -35756,13 +35581,13 @@
"dev": true
},
"raw-body": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
+ "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
"dev": true,
"requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
+ "bytes": "3.1.1",
+ "http-errors": "1.8.1",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
}
@@ -35788,9 +35613,10 @@
}
},
"react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "dev": true
},
"read": {
"version": "1.0.7",
@@ -36458,13 +36284,14 @@
"dev": true
},
"resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
+ "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
"dev": true,
"requires": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
+ "is-core-module": "^2.8.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
}
},
"resolve-cwd": {
@@ -36528,9 +36355,9 @@
"dev": true
},
"retry": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs="
},
"reusify": {
"version": "1.0.4",
@@ -36628,26 +36455,18 @@
}
},
"rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.1.tgz",
+ "integrity": "sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ==",
"dev": true,
"requires": {
- "tslib": "^1.9.0"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
+ "tslib": "^2.1.0"
}
},
"safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"safe-json-stringify": {
"version": "1.2.0",
@@ -36948,9 +36767,9 @@
}
},
"send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "version": "0.17.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
+ "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==",
"dev": true,
"requires": {
"debug": "2.6.9",
@@ -36960,9 +36779,9 @@
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
- "http-errors": "~1.7.2",
+ "http-errors": "1.8.1",
"mime": "1.6.0",
- "ms": "2.1.1",
+ "ms": "2.1.3",
"on-finished": "~2.3.0",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
@@ -36986,9 +36805,9 @@
}
},
"ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
}
}
@@ -37005,15 +36824,15 @@
}
},
"serve-static": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",
+ "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==",
"dev": true,
"requires": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
- "send": "0.17.1"
+ "send": "0.17.2"
}
},
"set-blocking": {
@@ -37058,9 +36877,9 @@
"dev": true
},
"setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"dev": true
},
"sha.js": {
@@ -37505,9 +37324,9 @@
"dev": true
},
"sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
"dev": true,
"requires": {
"asn1": "~0.2.3",
@@ -37694,14 +37513,6 @@
"dev": true,
"requires": {
"safe-buffer": "~5.2.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- }
}
},
"string-env-interpolation": {
@@ -37833,6 +37644,12 @@
"supports-color": "^7.0.0"
}
},
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true
+ },
"swap-case": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz",
@@ -37843,9 +37660,9 @@
}
},
"symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
+ "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
"dev": true
},
"symbol-tree": {
@@ -38134,9 +37951,9 @@
}
},
"toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true
},
"tough-cookie": {
@@ -38184,18 +38001,12 @@
"integrity": "sha512-3fTPO+G6bSQNvMh/XQQzyiahVLMMj9kqYO99ivUraNJ3Wp05HZOOVtRhi6w9hq7+laP1MKHjLBtGWqTeb1fcpg=="
},
"ts-invariant": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz",
- "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==",
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.4.tgz",
+ "integrity": "sha512-63jtX/ZSwnUNi/WhXjnK8kz4cHHpYS60AnmA6ixz17l7E12a5puCWFlNpkne5Rl0J8TBPVHpGjsj4fxs8ObVLQ==",
+ "dev": true,
"requires": {
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
+ "tslib": "^2.1.0"
}
},
"ts-jest": {
@@ -38220,6 +38031,20 @@
"integrity": "sha512-DEQrfv6l7IvN2jlzc/VTdZJYsWUnQNCsueYjMkC/iXoEoi5fNan6MjeDqkvhfzbmHgdz9UxDUluX3V5HdjTydQ==",
"dev": true
},
+ "ts-node": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
+ "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
+ "dev": true,
+ "requires": {
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "source-map-support": "^0.5.17",
+ "yn": "3.1.1"
+ }
+ },
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
@@ -38317,9 +38142,9 @@
"dev": true
},
"uglify-js": {
- "version": "3.14.3",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz",
- "integrity": "sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==",
+ "version": "3.14.5",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz",
+ "integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==",
"dev": true,
"optional": true
},
@@ -38353,9 +38178,9 @@
"dev": true
},
"undici": {
- "version": "4.10.2",
- "resolved": "https://registry.npmjs.org/undici/-/undici-4.10.2.tgz",
- "integrity": "sha512-QoQH4PpV3dqJwr4h1HazggbB4f5CBknvYANjI9hxXCml+AAzLoh4HBkce0Jc0wW/pmVbrus8Gfeo8QounE+/9g==",
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-4.12.1.tgz",
+ "integrity": "sha512-MSfap7YiQJqTPP12C11PFRs9raZuVicDbwsZHTjB0a8+SsCqt7KdUis54f373yf7ZFhJzAkGJLaKm0202OIxHg==",
"dev": true
},
"union-value": {
@@ -38575,9 +38400,9 @@
"peer": true
},
"v8-to-istanbul": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz",
- "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz",
+ "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.1",
@@ -38682,6 +38507,12 @@
"defaults": "^1.0.3"
}
},
+ "web-streams-polyfill": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz",
+ "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==",
+ "dev": true
+ },
"webidl-conversions": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
@@ -38710,18 +38541,24 @@
"dev": true
},
"whatwg-url": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
- "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dev": true,
"requires": {
- "tr46": "^3.0.0",
- "webidl-conversions": "^7.0.0"
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
},
"dependencies": {
- "webidl-conversions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ "tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.1"
+ }
}
}
},
@@ -38987,9 +38824,9 @@
}
},
"ws": {
- "version": "8.2.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
- "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
+ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
"dev": true,
"requires": {}
},
@@ -39057,18 +38894,26 @@
"dev": true
},
"yargs": {
- "version": "17.2.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz",
- "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==",
+ "version": "17.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz",
+ "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==",
"dev": true,
"requires": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
- "string-width": "^4.2.0",
+ "string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
+ "yargs-parser": "^21.0.0"
+ },
+ "dependencies": {
+ "yargs-parser": {
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
+ "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==",
+ "dev": true
+ }
}
},
"yargs-parser": {
@@ -39094,6 +38939,15 @@
"resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
"integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
"dev": true
+ },
+ "zen-observable-ts": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.3.tgz",
+ "integrity": "sha512-hc/TGiPkAWpByykMwDcem3SdUgA4We+0Qb36bItSuJC9xD0XVBZoFHYoadAomDSNf64CG8Ydj0Qb8Od8BUWz5g==",
+ "dev": true,
+ "requires": {
+ "zen-observable": "0.8.15"
+ }
}
}
}
diff --git a/package.json b/package.json
index 1b1c7f149..cd4291242 100644
--- a/package.json
+++ b/package.json
@@ -50,6 +50,7 @@
"@graphql-codegen/typescript": "2.4.2",
"@graphql-codegen/typescript-operations": "2.2.2",
"@iarna/toml": "2.2.5",
+ "@josephg/resolvable": "^1.0.1",
"@opentelemetry/node": "0.24.0",
"@rollup/plugin-commonjs": "21.0.1",
"@rollup/plugin-json": "4.1.0",