├── .gitignore
├── README.md
├── host
├── .babelrc
├── package.json
├── postcss.config.js
├── src
│ ├── App.tsx
│ ├── client.ts
│ ├── index.html
│ ├── index.scss
│ └── index.ts
├── tailwind.config.js
├── webpack.config.js
└── yarn.lock
└── server
├── package.json
├── src
├── index.ts
└── users.ts
├── tsconfig.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Installation and Startup
2 |
3 | Terminal 1:
4 |
5 | ```sh
6 | % cd server
7 | % yarn && yarn start
8 | ```
9 |
10 | Terminal 2:
11 |
12 | ```sh
13 | % cd host
14 | % yarn && yarn start
15 | ```
16 |
17 | Navigate to http://localhost:8080/ and login.
--------------------------------------------------------------------------------
/host/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-typescript", "@babel/preset-react", "@babel/preset-env"],
3 | "plugins": [
4 | ["@babel/transform-runtime"]
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/host/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "host",
3 | "version": "1.0.0",
4 | "scripts": {
5 | "build": "webpack --mode production",
6 | "build:dev": "webpack --mode development",
7 | "build:start": "cd dist && PORT=8080 npx serve",
8 | "start": "webpack serve --open --mode development",
9 | "start:live": "webpack serve --open --mode development --live-reload"
10 | },
11 | "license": "MIT",
12 | "author": {
13 | "name": "Jack Herrington",
14 | "email": "jherr@pobox.com"
15 | },
16 | "devDependencies": {
17 | "@babel/core": "^7.15.8",
18 | "@babel/plugin-transform-runtime": "^7.15.8",
19 | "@babel/preset-env": "^7.15.8",
20 | "@babel/preset-react": "^7.14.5",
21 | "@babel/preset-typescript": "^7.10.4",
22 | "@types/react": "^17.0.2",
23 | "@types/react-dom": "^17.0.2",
24 | "autoprefixer": "^10.1.0",
25 | "babel-loader": "^8.2.2",
26 | "css-loader": "^6.3.0",
27 | "html-webpack-plugin": "^5.3.2",
28 | "postcss": "^8.2.1",
29 | "postcss-loader": "^4.1.0",
30 | "style-loader": "^3.3.0",
31 | "tailwindcss": "^2.0.2",
32 | "webpack": "^5.57.1",
33 | "webpack-cli": "^4.9.0",
34 | "webpack-dev-server": "^4.3.1"
35 | },
36 | "dependencies": {
37 | "axios": "^0.24.0",
38 | "react": "^17.0.2",
39 | "react-dom": "^17.0.2",
40 | "react-hooks-global-state": "^1.0.2",
41 | "react-query": "^3.28.0"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/host/postcss.config.js:
--------------------------------------------------------------------------------
1 | const autoprefixer = require("autoprefixer");
2 | const tailwindcss = require("tailwindcss");
3 |
4 | module.exports = {
5 | plugins: [tailwindcss, autoprefixer],
6 | };
7 |
--------------------------------------------------------------------------------
/host/src/App.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState, useCallback } from "react";
2 | import ReactDOM from "react-dom";
3 | import { useQuery, QueryClient, QueryClientProvider } from "react-query";
4 |
5 | import { useClient } from "./client";
6 |
7 | import "./index.scss";
8 |
9 | const queryClient = new QueryClient();
10 |
11 | const TodosApp = () => {
12 | const { login, logout, JWT, getTodos } = useClient();
13 |
14 | const [name, setName] = useState("sally");
15 | const [password, setPassword] = useState("123");
16 |
17 | const onLogin = useCallback(async () => {
18 | login(name, password);
19 | }, [name, password]);
20 |
21 | const { data: todos } = useQuery("todos", getTodos, {
22 | initialData: [],
23 | enabled: !!JWT,
24 | });
25 |
26 | const onGetTodos = useCallback(async () => {
27 | queryClient.invalidateQueries("todos");
28 | }, [getTodos]);
29 |
30 | return (
31 |
32 |
33 |
34 | {JWT ? (
35 |
41 | ) : (
42 | <>
43 | setName(e.target.value)}
48 | />
49 | setPassword(e.target.value)}
54 | />
55 |
61 | >
62 | )}
63 |
64 |
65 | {JWT && todos && (
66 | <>
67 |
68 | {todos.map((todo) => (
69 |
{todo}
70 | ))}
71 |
72 |
73 |
79 |
80 | >
81 | )}
82 |
83 |
84 |
85 | );
86 | };
87 |
88 | const App = () => (
89 |
90 |
91 |
92 | );
93 |
94 | ReactDOM.render(, document.getElementById("app"));
95 |
--------------------------------------------------------------------------------
/host/src/client.ts:
--------------------------------------------------------------------------------
1 | import { useCallback } from "react";
2 | import { createGlobalState } from "react-hooks-global-state";
3 | import axios from "axios";
4 |
5 | const { useGlobalState, getGlobalState, setGlobalState } = createGlobalState({
6 | jwtToken: "",
7 | });
8 | const getJWTToken = () => getGlobalState("jwtToken");
9 | const setJWTToken = (value: string) => setGlobalState("jwtToken", value);
10 | const useJWTToken = () => useGlobalState("jwtToken");
11 |
12 | const client = axios.create({
13 | baseURL: "http://localhost:3000",
14 | headers: {
15 | "Access-Control-Allow-Origin": "*",
16 | "Content-Type": "application/json",
17 | },
18 | });
19 |
20 | client.interceptors.request.use(
21 | (config) => {
22 | config.headers["x-access-token"] = getJWTToken();
23 | return config;
24 | },
25 | (error) => {
26 | return Promise.reject(error);
27 | }
28 | );
29 |
30 | client.interceptors.response.use(
31 | (res) => {
32 | return res;
33 | },
34 | async (err) => {
35 | const originalConfig = err.config;
36 | if (err.response.status === 401 && !originalConfig._retry) {
37 | originalConfig._retry = true;
38 | try {
39 | const rs = await client.post(
40 | "/",
41 | {
42 | query: "mutation { refresh }",
43 | },
44 | {
45 | withCredentials: true,
46 | }
47 | );
48 | const { data } = rs.data as {
49 | data: {
50 | refresh: string;
51 | };
52 | };
53 | setJWTToken(data.refresh);
54 | return client(originalConfig);
55 | } catch (_error) {
56 | return Promise.reject(_error);
57 | }
58 | }
59 | return Promise.reject(err);
60 | }
61 | );
62 |
63 | export function useClient() {
64 | const [JWT, setJWT] = useJWTToken();
65 |
66 | const login = useCallback((name: string, password: string) => {
67 | client
68 | .post(
69 | "/",
70 | {
71 | query:
72 | "mutation ($name: String!, $password: String!) {\n authenticate(name: $name, password: $password)\n}\n",
73 | variables: { name, password },
74 | },
75 | {
76 | withCredentials: true,
77 | }
78 | )
79 | .then(({ data }) => {
80 | const jwtToken = (
81 | data as {
82 | data: {
83 | authenticate: string;
84 | };
85 | }
86 | ).data.authenticate;
87 | setJWT(jwtToken);
88 | });
89 | }, []);
90 |
91 | const logout = useCallback(() => {
92 | setJWT("");
93 | }, []);
94 |
95 | const getTodos = useCallback(
96 | () =>
97 | client
98 | .post(
99 | "/",
100 | {
101 | query: "query { todos }",
102 | },
103 | {
104 | withCredentials: true,
105 | }
106 | )
107 | .then(
108 | ({ data }) =>
109 | (
110 | data as {
111 | data: {
112 | todos: string[];
113 | };
114 | }
115 | ).data.todos
116 | ),
117 | []
118 | );
119 |
120 | return {
121 | JWT,
122 | getTodos,
123 | login,
124 | logout,
125 | };
126 | }
127 |
128 | export default client;
129 |
--------------------------------------------------------------------------------
/host/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | host
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/host/src/index.scss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | body {
6 | font-family: Arial, Helvetica, sans-serif;
7 | }
--------------------------------------------------------------------------------
/host/src/index.ts:
--------------------------------------------------------------------------------
1 | import("./App");
2 |
--------------------------------------------------------------------------------
/host/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | purge: [],
3 | darkMode: false, // or 'media' or 'class'
4 | theme: {
5 | extend: {},
6 | },
7 | variants: {
8 | extend: {},
9 | },
10 | plugins: [],
11 | }
12 |
--------------------------------------------------------------------------------
/host/webpack.config.js:
--------------------------------------------------------------------------------
1 | const HtmlWebPackPlugin = require("html-webpack-plugin");
2 | const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");
3 |
4 | const deps = require("./package.json").dependencies;
5 | module.exports = {
6 | output: {
7 | publicPath: "http://localhost:8080/",
8 | },
9 |
10 | resolve: {
11 | extensions: [".tsx", ".ts", ".jsx", ".js", ".json"],
12 | },
13 |
14 | devServer: {
15 | port: 8080,
16 | },
17 |
18 | module: {
19 | rules: [
20 | {
21 | test: /\.m?js/,
22 | type: "javascript/auto",
23 | resolve: {
24 | fullySpecified: false,
25 | },
26 | },
27 | {
28 | test: /\.(css|s[ac]ss)$/i,
29 | use: ["style-loader", "css-loader", "postcss-loader"],
30 | },
31 | {
32 | test: /\.(ts|tsx|js|jsx)$/,
33 | exclude: /node_modules/,
34 | use: {
35 | loader: "babel-loader",
36 | },
37 | },
38 | ],
39 | },
40 |
41 | plugins: [
42 | new ModuleFederationPlugin({
43 | name: "host",
44 | filename: "remoteEntry.js",
45 | remotes: {},
46 | exposes: {},
47 | shared: {
48 | ...deps,
49 | react: {
50 | singleton: true,
51 | requiredVersion: deps.react,
52 | },
53 | "react-dom": {
54 | singleton: true,
55 | requiredVersion: deps["react-dom"],
56 | },
57 | },
58 | }),
59 | new HtmlWebPackPlugin({
60 | template: "./src/index.html",
61 | }),
62 | ],
63 | };
64 |
--------------------------------------------------------------------------------
/server/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server",
3 | "version": "1.0.0",
4 | "license": "MIT",
5 | "scripts": {
6 | "start": "ts-node src/index.ts",
7 | "dev": "tsnd --respawn src/index.ts",
8 | "build": "tsc",
9 | "serve": "node dist/index.js"
10 | },
11 | "dependencies": {
12 | "apollo-server": "^3.4.0",
13 | "graphql": "^15.6.1",
14 | "guid": "^0.0.12",
15 | "jsonwebtoken": "^8.5.1"
16 | },
17 | "devDependencies": {
18 | "@types/guid": "^1.0.0",
19 | "@types/jsonwebtoken": "^8.5.5",
20 | "ts-node": "^10.4.0",
21 | "ts-node-dev": "^1.1.8",
22 | "typescript": "^4.4.4"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/server/src/index.ts:
--------------------------------------------------------------------------------
1 | import { ApolloServer, gql, AuthenticationError } from "apollo-server";
2 | import jwt from "jsonwebtoken";
3 | import guid from "guid";
4 |
5 | import users from "./users";
6 |
7 | const JWT_SECRET = process.env.JWT_SECRET || "secret";
8 |
9 | const refreshTokens: Record = {};
10 |
11 | const typeDefs = gql`
12 | type Query {
13 | todos: [String!]
14 | }
15 |
16 | type Mutation {
17 | authenticate(name: String!, password: String!): String
18 | refresh: String
19 | }
20 | `;
21 |
22 | const resolvers = {
23 | Query: {
24 | todos: (_parent: unknown, _args: unknown, context: { name: string }) => {
25 | if (!users[context?.name]) {
26 | throw new AuthenticationError("Invalid credentials");
27 | }
28 | return users[context?.name].todos;
29 | },
30 | },
31 | Mutation: {
32 | authenticate: (
33 | _: unknown,
34 | { name, password }: { name: string; password: string }
35 | ) => {
36 | if (users[name] && users[name].password === password) {
37 | return jwt.sign({ data: name }, JWT_SECRET, { expiresIn: "5s" });
38 | } else {
39 | throw new AuthenticationError("Invalid credentials");
40 | }
41 | },
42 | refresh: (
43 | _parent: unknown,
44 | _args: unknown,
45 | { refreshToken }: { refreshToken: string }
46 | ) => {
47 | const token = jwt.verify(refreshToken, JWT_SECRET) as {
48 | data: string;
49 | };
50 | if (token.data in refreshTokens) {
51 | return jwt.sign({ data: refreshTokens[token.data] }, JWT_SECRET, {
52 | expiresIn: "5s",
53 | });
54 | }
55 | },
56 | },
57 | };
58 |
59 | const server = new ApolloServer({
60 | cors: {
61 | origin: "http://localhost:8080",
62 | methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
63 | credentials: true,
64 | },
65 | formatResponse: (response, requestContext) => {
66 | if (response.errors && !requestContext.request.variables?.password) {
67 | if (requestContext.response?.http) {
68 | requestContext.response.http.status = 401;
69 | }
70 | } else if (response.data?.authenticate || response.data?.refresh) {
71 | const tokenExpireDate = new Date();
72 | tokenExpireDate.setDate(
73 | tokenExpireDate.getDate() + 60 * 60 * 24 * 7 // 7 days
74 | );
75 | const refreshTokenGuid = guid.raw();
76 |
77 | const token = jwt.verify(
78 | response.data?.authenticate || response.data?.refresh,
79 | JWT_SECRET
80 | ) as unknown as {
81 | data: string;
82 | };
83 |
84 | refreshTokens[refreshTokenGuid] = token.data;
85 | const refreshToken = jwt.sign({ data: refreshTokenGuid }, JWT_SECRET, {
86 | expiresIn: "7 days",
87 | });
88 |
89 | requestContext.response?.http?.headers.append(
90 | "Set-Cookie",
91 | `refreshToken=${refreshToken}; expires=${tokenExpireDate}`
92 | );
93 | }
94 | return response;
95 | },
96 | context: ({ req }) => {
97 | const ctx: { name: string | null; refreshToken: string | null } = {
98 | name: null,
99 | refreshToken: null,
100 | };
101 |
102 | const cookies = (req.headers?.cookie ?? "")
103 | .split(";")
104 | .reduce>((obj, c) => {
105 | const [name, value] = c.split("=");
106 | obj[name.trim()] = value.trim();
107 | return obj;
108 | }, {});
109 |
110 | ctx.refreshToken = cookies?.refreshToken;
111 |
112 | try {
113 | if (req.headers["x-access-token"]) {
114 | const token = jwt.verify(
115 | req.headers["x-access-token"] as string,
116 | JWT_SECRET
117 | ) as unknown as {
118 | data: string;
119 | };
120 | ctx.name = token.data;
121 | }
122 | } catch (e) {}
123 | return ctx;
124 | },
125 | typeDefs,
126 | resolvers,
127 | });
128 |
129 | server.listen({ port: 3000 }).then(({ url }) => {
130 | console.log(`🚀 server ready at ${url}`);
131 | });
132 |
--------------------------------------------------------------------------------
/server/src/users.ts:
--------------------------------------------------------------------------------
1 | const users: Record<
2 | string,
3 | {
4 | id: number;
5 | password: string;
6 | todos: string[];
7 | }
8 | > = {
9 | sally: {
10 | id: 1,
11 | password: "123",
12 | todos: ["Learn GraphQL", "Learn JWT"],
13 | },
14 | jane: {
15 | id: 2,
16 | password: "123",
17 | todos: ["Learn C", "Learn C++"],
18 | },
19 | };
20 |
21 | export default users;
22 |
--------------------------------------------------------------------------------
/server/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */
4 |
5 | /* Basic Options */
6 | // "incremental": true, /* Enable incremental compilation */
7 | "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
8 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
9 | // "lib": [], /* Specify library files to be included in the compilation. */
10 | // "allowJs": true, /* Allow javascript files to be compiled. */
11 | // "checkJs": true, /* Report errors in .js files. */
12 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
13 | // "declaration": true, /* Generates corresponding '.d.ts' file. */
14 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
15 | // "sourceMap": true, /* Generates corresponding '.map' file. */
16 | // "outFile": "./", /* Concatenate and emit output to single file. */
17 | "outDir": "./dist", /* Redirect output structure to the directory. */
18 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
19 | // "composite": true, /* Enable project compilation */
20 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
21 | // "removeComments": true, /* Do not emit comments to output. */
22 | // "noEmit": true, /* Do not emit outputs. */
23 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */
24 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
25 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
26 |
27 | /* Strict Type-Checking Options */
28 | "strict": true, /* Enable all strict type-checking options. */
29 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
30 | // "strictNullChecks": true, /* Enable strict null checks. */
31 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */
32 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
33 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
34 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
35 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
36 |
37 | /* Additional Checks */
38 | // "noUnusedLocals": true, /* Report errors on unused locals. */
39 | // "noUnusedParameters": true, /* Report errors on unused parameters. */
40 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
41 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
42 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */
43 |
44 | /* Module Resolution Options */
45 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
46 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
47 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
48 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
49 | // "typeRoots": [], /* List of folders to include type definitions from. */
50 | // "types": [], /* Type declaration files to be included in compilation. */
51 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
52 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
53 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
54 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
55 |
56 | /* Source Map Options */
57 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
58 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
59 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
60 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
61 |
62 | /* Experimental Options */
63 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
64 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
65 |
66 | /* Advanced Options */
67 | "skipLibCheck": true, /* Skip type checking of declaration files. */
68 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
69 | },
70 | "include": [
71 | "./src/**/*.ts"
72 | ],
73 | "exclude": [
74 | "node_modules"
75 | ]
76 | }
77 |
--------------------------------------------------------------------------------
/server/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@apollo/protobufjs@1.2.2":
6 | version "1.2.2"
7 | resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.2.tgz#4bd92cd7701ccaef6d517cdb75af2755f049f87c"
8 | integrity sha512-vF+zxhPiLtkwxONs6YanSt1EpwpGilThpneExUN5K3tCymuxNnVq2yojTvnpRjv2QfsEIt/n7ozPIIzBLwGIDQ==
9 | dependencies:
10 | "@protobufjs/aspromise" "^1.1.2"
11 | "@protobufjs/base64" "^1.1.2"
12 | "@protobufjs/codegen" "^2.0.4"
13 | "@protobufjs/eventemitter" "^1.1.0"
14 | "@protobufjs/fetch" "^1.1.0"
15 | "@protobufjs/float" "^1.0.2"
16 | "@protobufjs/inquire" "^1.1.0"
17 | "@protobufjs/path" "^1.1.2"
18 | "@protobufjs/pool" "^1.1.0"
19 | "@protobufjs/utf8" "^1.1.0"
20 | "@types/long" "^4.0.0"
21 | "@types/node" "^10.1.0"
22 | long "^4.0.0"
23 |
24 | "@apollographql/apollo-tools@^0.5.1":
25 | version "0.5.1"
26 | resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.5.1.tgz#f0baef739ff7e2fafcb8b98ad29f6ac817e53e32"
27 | integrity sha512-ZII+/xUFfb9ezDU2gad114+zScxVFMVlZ91f8fGApMzlS1kkqoyLnC4AJaQ1Ya/X+b63I20B4Gd+eCL8QuB4sA==
28 |
29 | "@apollographql/graphql-playground-html@1.6.29":
30 | version "1.6.29"
31 | resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz#a7a646614a255f62e10dcf64a7f68ead41dec453"
32 | integrity sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==
33 | dependencies:
34 | xss "^1.0.8"
35 |
36 | "@cspotcode/source-map-consumer@0.8.0":
37 | version "0.8.0"
38 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
39 | integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==
40 |
41 | "@cspotcode/source-map-support@0.7.0":
42 | version "0.7.0"
43 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5"
44 | integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==
45 | dependencies:
46 | "@cspotcode/source-map-consumer" "0.8.0"
47 |
48 | "@graphql-tools/merge@^8.2.0":
49 | version "8.2.0"
50 | resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.2.0.tgz#8f6638eeecf19f59fef28598024308e0452dd0a2"
51 | integrity sha512-nfMLYF7zczjnIbChZtqbvozRfuRweMD1Fe9HHd4RXd3Tcsj6E17srW0QJfxUoIIWh4pitj+XwZAwhj1PWBDU7g==
52 | dependencies:
53 | "@graphql-tools/utils" "^8.4.0"
54 | tslib "~2.3.0"
55 |
56 | "@graphql-tools/mock@^8.1.2":
57 | version "8.4.1"
58 | resolved "https://registry.yarnpkg.com/@graphql-tools/mock/-/mock-8.4.1.tgz#c75fae7e4271224c4efbf57e388cb3eb344be59d"
59 | integrity sha512-eIW2H1k9b4Sczzy1Za+GdaKBc8lTXo8MbJH4oivh1AoGl6/Tu9jTOOTS/b07zQzG+6sIQG54o9W6s2TqDmD+YQ==
60 | dependencies:
61 | "@graphql-tools/schema" "^8.2.0"
62 | "@graphql-tools/utils" "^8.2.3"
63 | fast-json-stable-stringify "^2.1.0"
64 | tslib "~2.3.0"
65 |
66 | "@graphql-tools/schema@^8.0.0", "@graphql-tools/schema@^8.2.0":
67 | version "8.3.0"
68 | resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.3.0.tgz#ddf4297859c6d7ac1ebbbd91460260ed424115db"
69 | integrity sha512-OJD4Q1Xa3sffRiHzy0sskZz9ZWeqaujINfoim4CTk5Y9es1LS+WnKi25wVhmL2SGzzmKuAv7oDn+dpQAlM+Gfw==
70 | dependencies:
71 | "@graphql-tools/merge" "^8.2.0"
72 | "@graphql-tools/utils" "^8.4.0"
73 | tslib "~2.3.0"
74 | value-or-promise "1.0.11"
75 |
76 | "@graphql-tools/utils@^8.0.0", "@graphql-tools/utils@^8.2.3", "@graphql-tools/utils@^8.4.0":
77 | version "8.5.0"
78 | resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.5.0.tgz#439487ac756d9458a33091e5e0435ddf8e794f3e"
79 | integrity sha512-jMwLm6YdN+Vbqntg5GHqDvGLpLa/xPSpRs/c40d0rBuel77wo7AaQ8jHeBSpp9y+7kp7HrGSWff1u7yJ7F8ppw==
80 | dependencies:
81 | tslib "~2.3.0"
82 |
83 | "@josephg/resolvable@^1.0.0":
84 | version "1.0.1"
85 | resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb"
86 | integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==
87 |
88 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
89 | version "1.1.2"
90 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
91 | integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78=
92 |
93 | "@protobufjs/base64@^1.1.2":
94 | version "1.1.2"
95 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
96 | integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
97 |
98 | "@protobufjs/codegen@^2.0.4":
99 | version "2.0.4"
100 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
101 | integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
102 |
103 | "@protobufjs/eventemitter@^1.1.0":
104 | version "1.1.0"
105 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
106 | integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A=
107 |
108 | "@protobufjs/fetch@^1.1.0":
109 | version "1.1.0"
110 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
111 | integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=
112 | dependencies:
113 | "@protobufjs/aspromise" "^1.1.1"
114 | "@protobufjs/inquire" "^1.1.0"
115 |
116 | "@protobufjs/float@^1.0.2":
117 | version "1.0.2"
118 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
119 | integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=
120 |
121 | "@protobufjs/inquire@^1.1.0":
122 | version "1.1.0"
123 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
124 | integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=
125 |
126 | "@protobufjs/path@^1.1.2":
127 | version "1.1.2"
128 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
129 | integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=
130 |
131 | "@protobufjs/pool@^1.1.0":
132 | version "1.1.0"
133 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
134 | integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=
135 |
136 | "@protobufjs/utf8@^1.1.0":
137 | version "1.1.0"
138 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
139 | integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
140 |
141 | "@tsconfig/node10@^1.0.7":
142 | version "1.0.8"
143 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
144 | integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
145 |
146 | "@tsconfig/node12@^1.0.7":
147 | version "1.0.9"
148 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
149 | integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
150 |
151 | "@tsconfig/node14@^1.0.0":
152 | version "1.0.1"
153 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
154 | integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
155 |
156 | "@tsconfig/node16@^1.0.2":
157 | version "1.0.2"
158 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
159 | integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
160 |
161 | "@types/accepts@^1.3.5":
162 | version "1.3.5"
163 | resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
164 | integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==
165 | dependencies:
166 | "@types/node" "*"
167 |
168 | "@types/body-parser@*", "@types/body-parser@1.19.1":
169 | version "1.19.1"
170 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c"
171 | integrity sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==
172 | dependencies:
173 | "@types/connect" "*"
174 | "@types/node" "*"
175 |
176 | "@types/connect@*":
177 | version "3.4.35"
178 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
179 | integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
180 | dependencies:
181 | "@types/node" "*"
182 |
183 | "@types/cors@2.8.12":
184 | version "2.8.12"
185 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080"
186 | integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==
187 |
188 | "@types/express-serve-static-core@4.17.24", "@types/express-serve-static-core@^4.17.18":
189 | version "4.17.24"
190 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07"
191 | integrity sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==
192 | dependencies:
193 | "@types/node" "*"
194 | "@types/qs" "*"
195 | "@types/range-parser" "*"
196 |
197 | "@types/express@4.17.13":
198 | version "4.17.13"
199 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034"
200 | integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==
201 | dependencies:
202 | "@types/body-parser" "*"
203 | "@types/express-serve-static-core" "^4.17.18"
204 | "@types/qs" "*"
205 | "@types/serve-static" "*"
206 |
207 | "@types/guid@^1.0.0":
208 | version "1.0.0"
209 | resolved "https://registry.yarnpkg.com/@types/guid/-/guid-1.0.0.tgz#6ac28afbdd581e123774859dd87129335d14f3b8"
210 | integrity sha512-l3aXmPBnkWdf0Z/drFtK6O6sj1D/TRmjlNUhBcnCtup4vX3gMgU4jRFV4P0IWmqoX3u2slTCXodJhM6jdAg3YQ==
211 |
212 | "@types/jsonwebtoken@^8.5.5":
213 | version "8.5.5"
214 | resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz#da5f2f4baee88f052ef3e4db4c1a0afb46cff22c"
215 | integrity sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw==
216 | dependencies:
217 | "@types/node" "*"
218 |
219 | "@types/long@^4.0.0":
220 | version "4.0.1"
221 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
222 | integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
223 |
224 | "@types/mime@^1":
225 | version "1.3.2"
226 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a"
227 | integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==
228 |
229 | "@types/node@*":
230 | version "16.11.6"
231 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae"
232 | integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==
233 |
234 | "@types/node@^10.1.0":
235 | version "10.17.60"
236 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b"
237 | integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==
238 |
239 | "@types/qs@*":
240 | version "6.9.7"
241 | resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
242 | integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
243 |
244 | "@types/range-parser@*":
245 | version "1.2.4"
246 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
247 | integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
248 |
249 | "@types/serve-static@*":
250 | version "1.13.10"
251 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9"
252 | integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==
253 | dependencies:
254 | "@types/mime" "^1"
255 | "@types/node" "*"
256 |
257 | "@types/strip-bom@^3.0.0":
258 | version "3.0.0"
259 | resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2"
260 | integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=
261 |
262 | "@types/strip-json-comments@0.0.30":
263 | version "0.0.30"
264 | resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
265 | integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==
266 |
267 | accepts@^1.3.5, accepts@~1.3.7:
268 | version "1.3.7"
269 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
270 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
271 | dependencies:
272 | mime-types "~2.1.24"
273 | negotiator "0.6.2"
274 |
275 | acorn-walk@^8.1.1:
276 | version "8.2.0"
277 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
278 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
279 |
280 | acorn@^8.4.1:
281 | version "8.5.0"
282 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2"
283 | integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
284 |
285 | anymatch@~3.1.2:
286 | version "3.1.2"
287 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
288 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
289 | dependencies:
290 | normalize-path "^3.0.0"
291 | picomatch "^2.0.4"
292 |
293 | apollo-datasource@^3.2.0:
294 | version "3.2.0"
295 | resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-3.2.0.tgz#fe2fbaae7be0ee10deafa5c3f31732e368a564a1"
296 | integrity sha512-2PK+p6dRFuQQM8F4JbBivGetnJxvb8ggQkY7XLeCSl4qVkBeBjX+mRtsiudk28NUTH3JEll7AgmKj2fHfxYpGQ==
297 | dependencies:
298 | apollo-server-caching "^3.2.0"
299 | apollo-server-env "^4.1.0"
300 |
301 | apollo-graphql@^0.9.0:
302 | version "0.9.3"
303 | resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.9.3.tgz#1ca6f625322ae10a66f57a39642849a07a7a5dc9"
304 | integrity sha512-rcAl2E841Iko4kSzj4Pt3PRBitmyq1MvoEmpl04TQSpGnoVgl1E/ZXuLBYxMTSnEAm7umn2IsoY+c6Ll9U/10A==
305 | dependencies:
306 | core-js-pure "^3.10.2"
307 | lodash.sortby "^4.7.0"
308 | sha.js "^2.4.11"
309 |
310 | apollo-reporting-protobuf@^3.1.0:
311 | version "3.1.0"
312 | resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.1.0.tgz#6f5501c58270b157834f2083668bc74f0e4d6104"
313 | integrity sha512-IP7SHrTQEGc1/RYzOihfcLLF56ALxxORywJj5ba/p1SX99y+Stt+6D5+3DA7XFF00C1BhXkIU+EkFHzPmypz0w==
314 | dependencies:
315 | "@apollo/protobufjs" "1.2.2"
316 |
317 | apollo-server-caching@^3.2.0:
318 | version "3.2.0"
319 | resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-3.2.0.tgz#368bc3288cfc2dab8de900d045dbd66cf457f3f3"
320 | integrity sha512-kR92WjoQVe1Z/EXyh365w6Vz8egkRCKmd3mE7KJvKgk+f0+AGO1LPPrez5IhbCXxAgChqzpHhq2FIyfOqEuLFQ==
321 | dependencies:
322 | lru-cache "^6.0.0"
323 |
324 | apollo-server-core@^3.4.0:
325 | version "3.4.0"
326 | resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-3.4.0.tgz#a7a492522132472361cd5ff7c6fc32aef37385b5"
327 | integrity sha512-CbQTgoeijCdfaTFq3DHBrnWtat1M/SlPxS365iy2fb2/p4zbYatOA/S0RON7PMGp2gcMnopvOtokJIOxbNN/YA==
328 | dependencies:
329 | "@apollographql/apollo-tools" "^0.5.1"
330 | "@apollographql/graphql-playground-html" "1.6.29"
331 | "@graphql-tools/mock" "^8.1.2"
332 | "@graphql-tools/schema" "^8.0.0"
333 | "@graphql-tools/utils" "^8.0.0"
334 | "@josephg/resolvable" "^1.0.0"
335 | apollo-datasource "^3.2.0"
336 | apollo-graphql "^0.9.0"
337 | apollo-reporting-protobuf "^3.1.0"
338 | apollo-server-caching "^3.2.0"
339 | apollo-server-env "^4.1.0"
340 | apollo-server-errors "^3.2.0"
341 | apollo-server-plugin-base "^3.3.0"
342 | apollo-server-types "^3.3.0"
343 | async-retry "^1.2.1"
344 | fast-json-stable-stringify "^2.1.0"
345 | graphql-tag "^2.11.0"
346 | loglevel "^1.6.8"
347 | lru-cache "^6.0.0"
348 | sha.js "^2.4.11"
349 | uuid "^8.0.0"
350 |
351 | apollo-server-env@^4.1.0:
352 | version "4.1.0"
353 | resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-4.1.0.tgz#20b69216d87b4e73166b28d2675e72823655fe75"
354 | integrity sha512-pJIqIN7UXYDHcNY/IRi7H9AvdV+aHi96gv/nPmnLsP/LbWMJvMuQY3jQ2obW0P+rO3bx05oYHLsVjwHHaXlEQA==
355 | dependencies:
356 | node-fetch "^2.6.1"
357 |
358 | apollo-server-errors@^3.2.0:
359 | version "3.2.0"
360 | resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-3.2.0.tgz#6c5051107b073c09bb55c2554878af0e97d59d08"
361 | integrity sha512-Y7YH3JVAaR1199ao4dae3j1UrF9D/6AJwHpsORTjI3BvrwjU1X7Nk1VvEHn9bZfZF6ONaqUM+uCLm5c8GPhffQ==
362 |
363 | apollo-server-express@^3.4.0:
364 | version "3.4.0"
365 | resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-3.4.0.tgz#2dfa36531746fa36bfafeeda76b017d608a168a9"
366 | integrity sha512-+J7Nu+I+JLCEnBQrQAzKmZfguHo9GQNb6XJZYuNlg9jdcomAvJpEJW5SKujXiGCT9CCIB6jvf8s102pJvBC9TQ==
367 | dependencies:
368 | "@types/accepts" "^1.3.5"
369 | "@types/body-parser" "1.19.1"
370 | "@types/cors" "2.8.12"
371 | "@types/express" "4.17.13"
372 | "@types/express-serve-static-core" "4.17.24"
373 | accepts "^1.3.5"
374 | apollo-server-core "^3.4.0"
375 | apollo-server-types "^3.3.0"
376 | body-parser "^1.19.0"
377 | cors "^2.8.5"
378 | parseurl "^1.3.3"
379 |
380 | apollo-server-plugin-base@^3.3.0:
381 | version "3.3.0"
382 | resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-3.3.0.tgz#7615cc763848c33099ed4ac8dd5134fbf94df97c"
383 | integrity sha512-4a4KpePhoU9FAIN2YjWm1Cfl7Y3AyRXLH8ZncSRCDcQFWww8gc/ZGqWZ+udRo4ejKvzLjnTwVyxfrd80sf9sHw==
384 | dependencies:
385 | apollo-server-types "^3.3.0"
386 |
387 | apollo-server-types@^3.3.0:
388 | version "3.3.0"
389 | resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-3.3.0.tgz#20448e2c88e2045764a5fe82ab66069e79c4a834"
390 | integrity sha512-m+GyuXyuZ7YdZO1NIMJdJoOKsocCPx/WRVzBjDegYxNcAa/lDvNYU3hFyX87UGXt8Xsd9VIHxdhO88S6jkgCmw==
391 | dependencies:
392 | apollo-reporting-protobuf "^3.1.0"
393 | apollo-server-caching "^3.2.0"
394 | apollo-server-env "^4.1.0"
395 |
396 | apollo-server@^3.4.0:
397 | version "3.4.0"
398 | resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-3.4.0.tgz#ced80badbf2430231750e4e09c44a22c1d2528e4"
399 | integrity sha512-/3aC3Mh+d+4LbfsvT4rYLzgbobz7QZdfUV1tUYhFtt4pf57qCXBcuSt5vXqVzRJp1ex+3eLP7Q45/S5T/tK87A==
400 | dependencies:
401 | apollo-server-core "^3.4.0"
402 | apollo-server-express "^3.4.0"
403 | express "^4.17.1"
404 |
405 | arg@^4.1.0:
406 | version "4.1.3"
407 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
408 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
409 |
410 | array-flatten@1.1.1:
411 | version "1.1.1"
412 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
413 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
414 |
415 | async-retry@^1.2.1:
416 | version "1.3.3"
417 | resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280"
418 | integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==
419 | dependencies:
420 | retry "0.13.1"
421 |
422 | balanced-match@^1.0.0:
423 | version "1.0.2"
424 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
425 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
426 |
427 | binary-extensions@^2.0.0:
428 | version "2.2.0"
429 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
430 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
431 |
432 | body-parser@1.19.0, body-parser@^1.19.0:
433 | version "1.19.0"
434 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
435 | integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
436 | dependencies:
437 | bytes "3.1.0"
438 | content-type "~1.0.4"
439 | debug "2.6.9"
440 | depd "~1.1.2"
441 | http-errors "1.7.2"
442 | iconv-lite "0.4.24"
443 | on-finished "~2.3.0"
444 | qs "6.7.0"
445 | raw-body "2.4.0"
446 | type-is "~1.6.17"
447 |
448 | brace-expansion@^1.1.7:
449 | version "1.1.11"
450 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
451 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
452 | dependencies:
453 | balanced-match "^1.0.0"
454 | concat-map "0.0.1"
455 |
456 | braces@~3.0.2:
457 | version "3.0.2"
458 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
459 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
460 | dependencies:
461 | fill-range "^7.0.1"
462 |
463 | buffer-equal-constant-time@1.0.1:
464 | version "1.0.1"
465 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
466 | integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
467 |
468 | buffer-from@^1.0.0:
469 | version "1.1.2"
470 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
471 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
472 |
473 | bytes@3.1.0:
474 | version "3.1.0"
475 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
476 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
477 |
478 | chokidar@^3.5.1:
479 | version "3.5.2"
480 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
481 | integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
482 | dependencies:
483 | anymatch "~3.1.2"
484 | braces "~3.0.2"
485 | glob-parent "~5.1.2"
486 | is-binary-path "~2.1.0"
487 | is-glob "~4.0.1"
488 | normalize-path "~3.0.0"
489 | readdirp "~3.6.0"
490 | optionalDependencies:
491 | fsevents "~2.3.2"
492 |
493 | commander@^2.20.3:
494 | version "2.20.3"
495 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
496 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
497 |
498 | concat-map@0.0.1:
499 | version "0.0.1"
500 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
501 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
502 |
503 | content-disposition@0.5.3:
504 | version "0.5.3"
505 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
506 | integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
507 | dependencies:
508 | safe-buffer "5.1.2"
509 |
510 | content-type@~1.0.4:
511 | version "1.0.4"
512 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
513 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
514 |
515 | cookie-signature@1.0.6:
516 | version "1.0.6"
517 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
518 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
519 |
520 | cookie@0.4.0:
521 | version "0.4.0"
522 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
523 | integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
524 |
525 | core-js-pure@^3.10.2:
526 | version "3.19.0"
527 | resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.0.tgz#db6fdadfdd4dc280ec93b64c3c2e8460e6f10094"
528 | integrity sha512-UEQk8AxyCYvNAs6baNoPqDADv7BX0AmBLGxVsrAifPPx/C8EAzV4Q+2ZUJqVzfI2TQQEZITnwUkWcHpgc/IubQ==
529 |
530 | cors@^2.8.5:
531 | version "2.8.5"
532 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
533 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
534 | dependencies:
535 | object-assign "^4"
536 | vary "^1"
537 |
538 | create-require@^1.1.0:
539 | version "1.1.1"
540 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
541 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
542 |
543 | cssfilter@0.0.10:
544 | version "0.0.10"
545 | resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae"
546 | integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=
547 |
548 | debug@2.6.9:
549 | version "2.6.9"
550 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
551 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
552 | dependencies:
553 | ms "2.0.0"
554 |
555 | depd@~1.1.2:
556 | version "1.1.2"
557 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
558 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
559 |
560 | destroy@~1.0.4:
561 | version "1.0.4"
562 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
563 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
564 |
565 | diff@^4.0.1:
566 | version "4.0.2"
567 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
568 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
569 |
570 | dynamic-dedupe@^0.3.0:
571 | version "0.3.0"
572 | resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1"
573 | integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=
574 | dependencies:
575 | xtend "^4.0.0"
576 |
577 | ecdsa-sig-formatter@1.0.11:
578 | version "1.0.11"
579 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
580 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
581 | dependencies:
582 | safe-buffer "^5.0.1"
583 |
584 | ee-first@1.1.1:
585 | version "1.1.1"
586 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
587 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
588 |
589 | encodeurl@~1.0.2:
590 | version "1.0.2"
591 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
592 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
593 |
594 | escape-html@~1.0.3:
595 | version "1.0.3"
596 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
597 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
598 |
599 | etag@~1.8.1:
600 | version "1.8.1"
601 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
602 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
603 |
604 | express@^4.17.1:
605 | version "4.17.1"
606 | resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
607 | integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
608 | dependencies:
609 | accepts "~1.3.7"
610 | array-flatten "1.1.1"
611 | body-parser "1.19.0"
612 | content-disposition "0.5.3"
613 | content-type "~1.0.4"
614 | cookie "0.4.0"
615 | cookie-signature "1.0.6"
616 | debug "2.6.9"
617 | depd "~1.1.2"
618 | encodeurl "~1.0.2"
619 | escape-html "~1.0.3"
620 | etag "~1.8.1"
621 | finalhandler "~1.1.2"
622 | fresh "0.5.2"
623 | merge-descriptors "1.0.1"
624 | methods "~1.1.2"
625 | on-finished "~2.3.0"
626 | parseurl "~1.3.3"
627 | path-to-regexp "0.1.7"
628 | proxy-addr "~2.0.5"
629 | qs "6.7.0"
630 | range-parser "~1.2.1"
631 | safe-buffer "5.1.2"
632 | send "0.17.1"
633 | serve-static "1.14.1"
634 | setprototypeof "1.1.1"
635 | statuses "~1.5.0"
636 | type-is "~1.6.18"
637 | utils-merge "1.0.1"
638 | vary "~1.1.2"
639 |
640 | fast-json-stable-stringify@^2.1.0:
641 | version "2.1.0"
642 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
643 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
644 |
645 | fill-range@^7.0.1:
646 | version "7.0.1"
647 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
648 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
649 | dependencies:
650 | to-regex-range "^5.0.1"
651 |
652 | finalhandler@~1.1.2:
653 | version "1.1.2"
654 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
655 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
656 | dependencies:
657 | debug "2.6.9"
658 | encodeurl "~1.0.2"
659 | escape-html "~1.0.3"
660 | on-finished "~2.3.0"
661 | parseurl "~1.3.3"
662 | statuses "~1.5.0"
663 | unpipe "~1.0.0"
664 |
665 | forwarded@0.2.0:
666 | version "0.2.0"
667 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
668 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
669 |
670 | fresh@0.5.2:
671 | version "0.5.2"
672 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
673 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
674 |
675 | fs.realpath@^1.0.0:
676 | version "1.0.0"
677 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
678 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
679 |
680 | fsevents@~2.3.2:
681 | version "2.3.2"
682 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
683 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
684 |
685 | function-bind@^1.1.1:
686 | version "1.1.1"
687 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
688 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
689 |
690 | glob-parent@~5.1.2:
691 | version "5.1.2"
692 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
693 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
694 | dependencies:
695 | is-glob "^4.0.1"
696 |
697 | glob@^7.1.3:
698 | version "7.2.0"
699 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
700 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
701 | dependencies:
702 | fs.realpath "^1.0.0"
703 | inflight "^1.0.4"
704 | inherits "2"
705 | minimatch "^3.0.4"
706 | once "^1.3.0"
707 | path-is-absolute "^1.0.0"
708 |
709 | graphql-tag@^2.11.0:
710 | version "2.12.5"
711 | resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.5.tgz#5cff974a67b417747d05c8d9f5f3cb4495d0db8f"
712 | integrity sha512-5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ==
713 | dependencies:
714 | tslib "^2.1.0"
715 |
716 | graphql@^15.6.1:
717 | version "15.6.1"
718 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.6.1.tgz#9125bdf057553525da251e19e96dab3d3855ddfc"
719 | integrity sha512-3i5lu0z6dRvJ48QP9kFxBkJ7h4Kso7PS8eahyTFz5Jm6CvQfLtNIE8LX9N6JLnXTuwR+sIYnXzaWp6anOg0QQw==
720 |
721 | guid@^0.0.12:
722 | version "0.0.12"
723 | resolved "https://registry.yarnpkg.com/guid/-/guid-0.0.12.tgz#9137c52b185f7de12490b9bebcc1660b9025fe0c"
724 | integrity sha1-kTfFKxhffeEkkLm+vMFmC5Al/gw=
725 |
726 | has@^1.0.3:
727 | version "1.0.3"
728 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
729 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
730 | dependencies:
731 | function-bind "^1.1.1"
732 |
733 | http-errors@1.7.2:
734 | version "1.7.2"
735 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
736 | integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
737 | dependencies:
738 | depd "~1.1.2"
739 | inherits "2.0.3"
740 | setprototypeof "1.1.1"
741 | statuses ">= 1.5.0 < 2"
742 | toidentifier "1.0.0"
743 |
744 | http-errors@~1.7.2:
745 | version "1.7.3"
746 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
747 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
748 | dependencies:
749 | depd "~1.1.2"
750 | inherits "2.0.4"
751 | setprototypeof "1.1.1"
752 | statuses ">= 1.5.0 < 2"
753 | toidentifier "1.0.0"
754 |
755 | iconv-lite@0.4.24:
756 | version "0.4.24"
757 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
758 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
759 | dependencies:
760 | safer-buffer ">= 2.1.2 < 3"
761 |
762 | inflight@^1.0.4:
763 | version "1.0.6"
764 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
765 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
766 | dependencies:
767 | once "^1.3.0"
768 | wrappy "1"
769 |
770 | inherits@2, inherits@2.0.4, inherits@^2.0.1:
771 | version "2.0.4"
772 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
773 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
774 |
775 | inherits@2.0.3:
776 | version "2.0.3"
777 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
778 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
779 |
780 | ipaddr.js@1.9.1:
781 | version "1.9.1"
782 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
783 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
784 |
785 | is-binary-path@~2.1.0:
786 | version "2.1.0"
787 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
788 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
789 | dependencies:
790 | binary-extensions "^2.0.0"
791 |
792 | is-core-module@^2.2.0:
793 | version "2.8.0"
794 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548"
795 | integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==
796 | dependencies:
797 | has "^1.0.3"
798 |
799 | is-extglob@^2.1.1:
800 | version "2.1.1"
801 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
802 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
803 |
804 | is-glob@^4.0.1, is-glob@~4.0.1:
805 | version "4.0.3"
806 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
807 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
808 | dependencies:
809 | is-extglob "^2.1.1"
810 |
811 | is-number@^7.0.0:
812 | version "7.0.0"
813 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
814 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
815 |
816 | jsonwebtoken@^8.5.1:
817 | version "8.5.1"
818 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
819 | integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
820 | dependencies:
821 | jws "^3.2.2"
822 | lodash.includes "^4.3.0"
823 | lodash.isboolean "^3.0.3"
824 | lodash.isinteger "^4.0.4"
825 | lodash.isnumber "^3.0.3"
826 | lodash.isplainobject "^4.0.6"
827 | lodash.isstring "^4.0.1"
828 | lodash.once "^4.0.0"
829 | ms "^2.1.1"
830 | semver "^5.6.0"
831 |
832 | jwa@^1.4.1:
833 | version "1.4.1"
834 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
835 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
836 | dependencies:
837 | buffer-equal-constant-time "1.0.1"
838 | ecdsa-sig-formatter "1.0.11"
839 | safe-buffer "^5.0.1"
840 |
841 | jws@^3.2.2:
842 | version "3.2.2"
843 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
844 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
845 | dependencies:
846 | jwa "^1.4.1"
847 | safe-buffer "^5.0.1"
848 |
849 | lodash.includes@^4.3.0:
850 | version "4.3.0"
851 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
852 | integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=
853 |
854 | lodash.isboolean@^3.0.3:
855 | version "3.0.3"
856 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
857 | integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
858 |
859 | lodash.isinteger@^4.0.4:
860 | version "4.0.4"
861 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
862 | integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=
863 |
864 | lodash.isnumber@^3.0.3:
865 | version "3.0.3"
866 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
867 | integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=
868 |
869 | lodash.isplainobject@^4.0.6:
870 | version "4.0.6"
871 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
872 | integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
873 |
874 | lodash.isstring@^4.0.1:
875 | version "4.0.1"
876 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
877 | integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
878 |
879 | lodash.once@^4.0.0:
880 | version "4.1.1"
881 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
882 | integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
883 |
884 | lodash.sortby@^4.7.0:
885 | version "4.7.0"
886 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
887 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
888 |
889 | loglevel@^1.6.8:
890 | version "1.7.1"
891 | resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197"
892 | integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==
893 |
894 | long@^4.0.0:
895 | version "4.0.0"
896 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
897 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
898 |
899 | lru-cache@^6.0.0:
900 | version "6.0.0"
901 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
902 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
903 | dependencies:
904 | yallist "^4.0.0"
905 |
906 | make-error@^1.1.1:
907 | version "1.3.6"
908 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
909 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
910 |
911 | media-typer@0.3.0:
912 | version "0.3.0"
913 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
914 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
915 |
916 | merge-descriptors@1.0.1:
917 | version "1.0.1"
918 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
919 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
920 |
921 | methods@~1.1.2:
922 | version "1.1.2"
923 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
924 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
925 |
926 | mime-db@1.50.0:
927 | version "1.50.0"
928 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f"
929 | integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==
930 |
931 | mime-types@~2.1.24:
932 | version "2.1.33"
933 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb"
934 | integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==
935 | dependencies:
936 | mime-db "1.50.0"
937 |
938 | mime@1.6.0:
939 | version "1.6.0"
940 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
941 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
942 |
943 | minimatch@^3.0.4:
944 | version "3.0.4"
945 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
946 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
947 | dependencies:
948 | brace-expansion "^1.1.7"
949 |
950 | minimist@^1.2.5:
951 | version "1.2.5"
952 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
953 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
954 |
955 | mkdirp@^1.0.4:
956 | version "1.0.4"
957 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
958 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
959 |
960 | ms@2.0.0:
961 | version "2.0.0"
962 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
963 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
964 |
965 | ms@2.1.1:
966 | version "2.1.1"
967 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
968 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
969 |
970 | ms@^2.1.1:
971 | version "2.1.3"
972 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
973 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
974 |
975 | negotiator@0.6.2:
976 | version "0.6.2"
977 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
978 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
979 |
980 | node-fetch@^2.6.1:
981 | version "2.6.5"
982 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd"
983 | integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==
984 | dependencies:
985 | whatwg-url "^5.0.0"
986 |
987 | normalize-path@^3.0.0, normalize-path@~3.0.0:
988 | version "3.0.0"
989 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
990 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
991 |
992 | object-assign@^4:
993 | version "4.1.1"
994 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
995 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
996 |
997 | on-finished@~2.3.0:
998 | version "2.3.0"
999 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
1000 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
1001 | dependencies:
1002 | ee-first "1.1.1"
1003 |
1004 | once@^1.3.0:
1005 | version "1.4.0"
1006 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1007 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
1008 | dependencies:
1009 | wrappy "1"
1010 |
1011 | parseurl@^1.3.3, parseurl@~1.3.3:
1012 | version "1.3.3"
1013 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
1014 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
1015 |
1016 | path-is-absolute@^1.0.0:
1017 | version "1.0.1"
1018 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1019 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1020 |
1021 | path-parse@^1.0.6:
1022 | version "1.0.7"
1023 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1024 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1025 |
1026 | path-to-regexp@0.1.7:
1027 | version "0.1.7"
1028 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
1029 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
1030 |
1031 | picomatch@^2.0.4, picomatch@^2.2.1:
1032 | version "2.3.0"
1033 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
1034 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
1035 |
1036 | proxy-addr@~2.0.5:
1037 | version "2.0.7"
1038 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
1039 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
1040 | dependencies:
1041 | forwarded "0.2.0"
1042 | ipaddr.js "1.9.1"
1043 |
1044 | qs@6.7.0:
1045 | version "6.7.0"
1046 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
1047 | integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
1048 |
1049 | range-parser@~1.2.1:
1050 | version "1.2.1"
1051 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
1052 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
1053 |
1054 | raw-body@2.4.0:
1055 | version "2.4.0"
1056 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
1057 | integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
1058 | dependencies:
1059 | bytes "3.1.0"
1060 | http-errors "1.7.2"
1061 | iconv-lite "0.4.24"
1062 | unpipe "1.0.0"
1063 |
1064 | readdirp@~3.6.0:
1065 | version "3.6.0"
1066 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
1067 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1068 | dependencies:
1069 | picomatch "^2.2.1"
1070 |
1071 | resolve@^1.0.0:
1072 | version "1.20.0"
1073 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
1074 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
1075 | dependencies:
1076 | is-core-module "^2.2.0"
1077 | path-parse "^1.0.6"
1078 |
1079 | retry@0.13.1:
1080 | version "0.13.1"
1081 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
1082 | integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
1083 |
1084 | rimraf@^2.6.1:
1085 | version "2.7.1"
1086 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
1087 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
1088 | dependencies:
1089 | glob "^7.1.3"
1090 |
1091 | safe-buffer@5.1.2:
1092 | version "5.1.2"
1093 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
1094 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
1095 |
1096 | safe-buffer@^5.0.1:
1097 | version "5.2.1"
1098 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
1099 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
1100 |
1101 | "safer-buffer@>= 2.1.2 < 3":
1102 | version "2.1.2"
1103 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1104 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1105 |
1106 | semver@^5.6.0:
1107 | version "5.7.1"
1108 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
1109 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
1110 |
1111 | send@0.17.1:
1112 | version "0.17.1"
1113 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
1114 | integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
1115 | dependencies:
1116 | debug "2.6.9"
1117 | depd "~1.1.2"
1118 | destroy "~1.0.4"
1119 | encodeurl "~1.0.2"
1120 | escape-html "~1.0.3"
1121 | etag "~1.8.1"
1122 | fresh "0.5.2"
1123 | http-errors "~1.7.2"
1124 | mime "1.6.0"
1125 | ms "2.1.1"
1126 | on-finished "~2.3.0"
1127 | range-parser "~1.2.1"
1128 | statuses "~1.5.0"
1129 |
1130 | serve-static@1.14.1:
1131 | version "1.14.1"
1132 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
1133 | integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
1134 | dependencies:
1135 | encodeurl "~1.0.2"
1136 | escape-html "~1.0.3"
1137 | parseurl "~1.3.3"
1138 | send "0.17.1"
1139 |
1140 | setprototypeof@1.1.1:
1141 | version "1.1.1"
1142 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
1143 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
1144 |
1145 | sha.js@^2.4.11:
1146 | version "2.4.11"
1147 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
1148 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
1149 | dependencies:
1150 | inherits "^2.0.1"
1151 | safe-buffer "^5.0.1"
1152 |
1153 | source-map-support@^0.5.12, source-map-support@^0.5.17:
1154 | version "0.5.20"
1155 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9"
1156 | integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==
1157 | dependencies:
1158 | buffer-from "^1.0.0"
1159 | source-map "^0.6.0"
1160 |
1161 | source-map@^0.6.0:
1162 | version "0.6.1"
1163 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1164 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1165 |
1166 | "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
1167 | version "1.5.0"
1168 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
1169 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
1170 |
1171 | strip-bom@^3.0.0:
1172 | version "3.0.0"
1173 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
1174 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
1175 |
1176 | strip-json-comments@^2.0.0:
1177 | version "2.0.1"
1178 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
1179 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
1180 |
1181 | to-regex-range@^5.0.1:
1182 | version "5.0.1"
1183 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1184 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1185 | dependencies:
1186 | is-number "^7.0.0"
1187 |
1188 | toidentifier@1.0.0:
1189 | version "1.0.0"
1190 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
1191 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
1192 |
1193 | tr46@~0.0.3:
1194 | version "0.0.3"
1195 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
1196 | integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
1197 |
1198 | tree-kill@^1.2.2:
1199 | version "1.2.2"
1200 | resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
1201 | integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
1202 |
1203 | ts-node-dev@^1.1.8:
1204 | version "1.1.8"
1205 | resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066"
1206 | integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg==
1207 | dependencies:
1208 | chokidar "^3.5.1"
1209 | dynamic-dedupe "^0.3.0"
1210 | minimist "^1.2.5"
1211 | mkdirp "^1.0.4"
1212 | resolve "^1.0.0"
1213 | rimraf "^2.6.1"
1214 | source-map-support "^0.5.12"
1215 | tree-kill "^1.2.2"
1216 | ts-node "^9.0.0"
1217 | tsconfig "^7.0.0"
1218 |
1219 | ts-node@^10.4.0:
1220 | version "10.4.0"
1221 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7"
1222 | integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==
1223 | dependencies:
1224 | "@cspotcode/source-map-support" "0.7.0"
1225 | "@tsconfig/node10" "^1.0.7"
1226 | "@tsconfig/node12" "^1.0.7"
1227 | "@tsconfig/node14" "^1.0.0"
1228 | "@tsconfig/node16" "^1.0.2"
1229 | acorn "^8.4.1"
1230 | acorn-walk "^8.1.1"
1231 | arg "^4.1.0"
1232 | create-require "^1.1.0"
1233 | diff "^4.0.1"
1234 | make-error "^1.1.1"
1235 | yn "3.1.1"
1236 |
1237 | ts-node@^9.0.0:
1238 | version "9.1.1"
1239 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d"
1240 | integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==
1241 | dependencies:
1242 | arg "^4.1.0"
1243 | create-require "^1.1.0"
1244 | diff "^4.0.1"
1245 | make-error "^1.1.1"
1246 | source-map-support "^0.5.17"
1247 | yn "3.1.1"
1248 |
1249 | tsconfig@^7.0.0:
1250 | version "7.0.0"
1251 | resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7"
1252 | integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==
1253 | dependencies:
1254 | "@types/strip-bom" "^3.0.0"
1255 | "@types/strip-json-comments" "0.0.30"
1256 | strip-bom "^3.0.0"
1257 | strip-json-comments "^2.0.0"
1258 |
1259 | tslib@^2.1.0, tslib@~2.3.0:
1260 | version "2.3.1"
1261 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
1262 | integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
1263 |
1264 | type-is@~1.6.17, type-is@~1.6.18:
1265 | version "1.6.18"
1266 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
1267 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
1268 | dependencies:
1269 | media-typer "0.3.0"
1270 | mime-types "~2.1.24"
1271 |
1272 | typescript@^4.4.4:
1273 | version "4.4.4"
1274 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c"
1275 | integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==
1276 |
1277 | unpipe@1.0.0, unpipe@~1.0.0:
1278 | version "1.0.0"
1279 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
1280 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
1281 |
1282 | utils-merge@1.0.1:
1283 | version "1.0.1"
1284 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
1285 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
1286 |
1287 | uuid@^8.0.0:
1288 | version "8.3.2"
1289 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
1290 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
1291 |
1292 | value-or-promise@1.0.11:
1293 | version "1.0.11"
1294 | resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140"
1295 | integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==
1296 |
1297 | vary@^1, vary@~1.1.2:
1298 | version "1.1.2"
1299 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
1300 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
1301 |
1302 | webidl-conversions@^3.0.0:
1303 | version "3.0.1"
1304 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
1305 | integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
1306 |
1307 | whatwg-url@^5.0.0:
1308 | version "5.0.0"
1309 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
1310 | integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
1311 | dependencies:
1312 | tr46 "~0.0.3"
1313 | webidl-conversions "^3.0.0"
1314 |
1315 | wrappy@1:
1316 | version "1.0.2"
1317 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1318 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1319 |
1320 | xss@^1.0.8:
1321 | version "1.0.10"
1322 | resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.10.tgz#5cd63a9b147a755a14cb0455c7db8866120eb4d2"
1323 | integrity sha512-qmoqrRksmzqSKvgqzN0055UFWY7OKx1/9JWeRswwEVX9fCG5jcYRxa/A2DHcmZX6VJvjzHRQ2STeeVcQkrmLSw==
1324 | dependencies:
1325 | commander "^2.20.3"
1326 | cssfilter "0.0.10"
1327 |
1328 | xtend@^4.0.0:
1329 | version "4.0.2"
1330 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
1331 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
1332 |
1333 | yallist@^4.0.0:
1334 | version "4.0.0"
1335 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
1336 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
1337 |
1338 | yn@3.1.1:
1339 | version "3.1.1"
1340 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
1341 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
1342 |
--------------------------------------------------------------------------------