From e0cf24afe5051e72da553a6328ebc66008949a36 Mon Sep 17 00:00:00 2001 From: Peter Pistorius Date: Sun, 3 May 2020 00:03:29 +0200 Subject: [PATCH 01/25] Add a way to extract the user from the headers. --- packages/api/package.json | 3 +- packages/api/src/getUserFromContext.ts | 45 ++++++++++++++++++++++++++ packages/api/src/main.ts | 2 +- yarn.lock | 26 +++++++++++++++ 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 packages/api/src/getUserFromContext.ts diff --git a/packages/api/package.json b/packages/api/package.json index bf7fd57c0996..a409e1ad462f 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -41,9 +41,10 @@ ] }, "scripts": { - "build": "yarn build:clean && yarn build:js", + "build": "yarn build:clean && yarn build:js && yarn build:types", "build:js": "yarn cross-env NODE_ENV=production babel src -d dist --extensions \".js,.ts\" --source-maps inline && yarn move-cli ./dist/importAll.macro.js ./importAll.macro.js", "build:clean": "yarn del-cli dist importAll.macro.js", + "build:types": "tsc --declaration --emitDeclarationOnly", "prepublishOnly": "yarn build", "build:watch": "nodemon --watch src --ext 'js,ts,tsx' --ignore dist --ignore importAll.macro.js --exec 'yarn build'", "test": "yarn jest", diff --git a/packages/api/src/getUserFromContext.ts b/packages/api/src/getUserFromContext.ts new file mode 100644 index 000000000000..9b08888f23f1 --- /dev/null +++ b/packages/api/src/getUserFromContext.ts @@ -0,0 +1,45 @@ +import type { APIGatewayProxyEvent, Context } from 'aws-lambda' +import fetch from 'node-fetch' + +export type SupportedAuthTypes = 'auth0' | 'netlify' + +type NetlifyClientContext = Context & { + clientContext: { + user?: any + } +} + +// TODO: Define what an Auth0 user looks like. +const REDWOOD_AUTH_TYPE_HEADER = 'x-redwood-auth-type' + +export const getUserFromContext = async ({ + event, + context, +}: { + event: APIGatewayProxyEvent + context: NetlifyClientContext +}) => { + const type = event?.headers[REDWOOD_AUTH_TYPE_HEADER] as SupportedAuthTypes + switch (type) { + case 'netlify': + return context.clientContext?.user + case 'auth0': { + // We need a strategy for fetching, caching and invalidating users from Auth0. + // It would be amazing if Netlify could do this automatically for us: + // As an example if we passed in an `X-Redwood-Auth-Type: Auth0` header, + // and it fetch this and placed it in `clientContext.user`, + // just like Netlify identity does it. + const response = await fetch( + `https://${process.env.AUTH0_DOMAIN}/userinfo`, + { + headers: { + Authorization: event.headers?.authorization, + }, + } + ) + return response.json() + } + default: + return undefined + } +} diff --git a/packages/api/src/main.ts b/packages/api/src/main.ts index 4546aee675a3..8ab4981e911e 100644 --- a/packages/api/src/main.ts +++ b/packages/api/src/main.ts @@ -4,4 +4,4 @@ export * from './makeServices' export * from './makeMergedSchema/makeMergedSchema' export * from './functions/graphQLServer' export * from './globalContext' -export * from './auth/authHeaders' +export * from './getUserFromContext' diff --git a/yarn.lock b/yarn.lock index 3d25b94c60f8..5bdb35c710cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4413,6 +4413,7 @@ babel-plugin-tester@^9.0.0, babel-plugin-tester@^9.0.1: prettier "^2.0.1" strip-indent "^3.0.0" +<<<<<<< HEAD babel-preset-current-node-syntax@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6" @@ -4433,6 +4434,21 @@ babel-preset-jest@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== +======= +babel-plugin-tester@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/babel-plugin-tester/-/babel-plugin-tester-9.0.1.tgz#9e975a7fe278a49b3bd4b02bd3a77004819863ee" + integrity sha512-q5GXJowxsRefBDhgiZVyNPgIIHsfxtZNnMABxq+vtuoYP2JW8qaiIBBAG9/I0PgRGRpjUDXnn0IhGHGGn7UOcA== + dependencies: + lodash.mergewith "^4.6.2" + prettier "^2.0.1" + strip-indent "^3.0.0" + +babel-preset-jest@^25.2.1: + version "25.2.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.2.1.tgz#4ccd0e577f69aa11b71806edfe8b25a5c3ac93a2" + integrity sha512-zXHJBM5iR8oEO4cvdF83AQqqJf3tJrXy3x8nfu2Nlqvn4cneg4Ca8M7cQvC5S9BzDDy1O0tZ9iXru9J6E3ym+A== +>>>>>>> 73720a6... Add a way to extract the user from the headers. dependencies: babel-plugin-jest-hoist "^25.5.0" babel-preset-current-node-syntax "^0.1.2" @@ -8248,6 +8264,7 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" +<<<<<<< HEAD got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -8265,6 +8282,8 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" +======= +>>>>>>> 73720a6... Add a way to extract the user from the headers. gotrue-js@^0.9.25: version "0.9.25" resolved "https://registry.yarnpkg.com/gotrue-js/-/gotrue-js-0.9.25.tgz#eb9a3c76a2d08629afcda7872a60924d5d671c6a" @@ -8272,10 +8291,17 @@ gotrue-js@^0.9.25: dependencies: micro-api-client "^3.2.1" +<<<<<<< HEAD graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +======= +graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +>>>>>>> 73720a6... Add a way to extract the user from the headers. "graceful-readlink@>= 1.0.0": version "1.0.1" From 15041af390a8007a454e934e12a971cc3447f438 Mon Sep 17 00:00:00 2001 From: Peter Pistorius Date: Sun, 3 May 2020 12:46:04 +0200 Subject: [PATCH 02/25] Add auth package. --- packages/auth/src/AuthProvider.tsx | 80 +++ packages/auth/src/authClient.ts | 42 ++ packages/auth/src/useAuth.ts | 3 + yarn.lock | 939 ++++++++++++++++++++++++----- 4 files changed, 909 insertions(+), 155 deletions(-) diff --git a/packages/auth/src/AuthProvider.tsx b/packages/auth/src/AuthProvider.tsx index 58df76626307..6422d9b71880 100644 --- a/packages/auth/src/AuthProvider.tsx +++ b/packages/auth/src/AuthProvider.tsx @@ -1,21 +1,37 @@ +<<<<<<< HEAD import React from 'react' +======= +import type { ReactNode } from 'react' +import React, { useState, useEffect } from 'react' +>>>>>>> bb1ab34... Add auth package. import type { SupportedAuthTypes, SupportedAuthClients, Auth0User, +<<<<<<< HEAD GoTrueUser, AuthClient, MagicUser, +======= + NetlifyUser, +>>>>>>> bb1ab34... Add auth package. } from './authClient' import { createAuthClient } from './authClient' export interface AuthContextInterface { loading: boolean +<<<<<<< HEAD isAuthenticated: boolean currentUser: null | GoTrueUser | Auth0User | MagicUser logIn(): Promise logOut(): Promise +======= + authenticated: boolean + user: null | object // TODO: Provide a generic interface to the users object. + login(): Promise + logout(): Promise +>>>>>>> bb1ab34... Add auth package. getToken(): Promise client: null | SupportedAuthClients type: null | SupportedAuthTypes @@ -25,6 +41,7 @@ export const AuthContext = React.createContext>( {} ) +<<<<<<< HEAD type AuthProviderProps = { client: AuthClient type: SupportedAuthTypes @@ -35,6 +52,8 @@ type AuthProviderState = { isAuthenticated: boolean currentUser: null | Auth0User | GoTrueUser } +======= +>>>>>>> bb1ab34... Add auth package. /** * @example * ```js @@ -45,6 +64,7 @@ type AuthProviderState = { * * ``` */ +<<<<<<< HEAD export class AuthProvider extends React.Component< AuthProviderProps, AuthProviderState @@ -100,4 +120,64 @@ export class AuthProvider extends React.Component< ) } +======= +export const AuthProvider = ({ + children, + type, + client, +}: { + children: ReactNode + type: SupportedAuthTypes + client: SupportedAuthClients +}): JSX.Element => { + const [loading, setLoading] = useState(true) + const [authenticated, setAuthenticated] = useState(false) + const [user, setUser] = useState(null) + + // Map the methods from auth0 and netlify into a unified interface. + const rwClient = createAuthClient(client, type) + + // Attempt to restore the authentication state when a user visits the app again. + useEffect(() => { + const restoreAuthState = async () => { + rwClient.restoreAuthState && (await rwClient.restoreAuthState()) + + const user = await rwClient.currentUser() + setUser(user) + setAuthenticated(user !== null) + setLoading(false) + } + restoreAuthState() + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []) + + const login = async (...args) => { + const user = await rwClient.login(...args) + setUser(user) + setAuthenticated(user !== null) + } + + const logout = async () => { + await rwClient.logout() + setUser(null) + setAuthenticated(false) + } + + return ( + + {children} + + ) +>>>>>>> bb1ab34... Add auth package. } diff --git a/packages/auth/src/authClient.ts b/packages/auth/src/authClient.ts index 22a77fa249ba..49f4990f8c2e 100644 --- a/packages/auth/src/authClient.ts +++ b/packages/auth/src/authClient.ts @@ -1,3 +1,4 @@ +<<<<<<< HEAD import type { default as GoTrue, User as GoTrueUser } from 'gotrue-js' import type { Auth0Client as Auth0 } from '@auth0/auth0-spa-js' import type NetlifyIdentityNS from 'netlify-identity-widget' @@ -12,24 +13,43 @@ export type MagicUser = MagicUserMetadata export type SupportedAuthClients = Auth0 | GoTrue | NetlifyIdentity | MagicLinks export type SupportedAuthTypes = 'auth0' | 'gotrue' | 'netlify' | 'magic.link' +======= +import type { default as Netlify } from 'gotrue-js' +import type { User as NetlifyUser } from 'gotrue-js' +import type { Auth0Client as Auth0 } from '@auth0/auth0-spa-js' + +// TODO: Can also return an Auth0 user which doesn't have a definition. +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface Auth0User {} +export type { NetlifyUser } +>>>>>>> bb1ab34... Add auth package. export interface AuthClient { restoreAuthState?(): void | Promise login(options?: any): Promise logout(): void | Promise getToken(): Promise +<<<<<<< HEAD currentUser(): Promise +======= + currentUser(): Promise +>>>>>>> bb1ab34... Add auth package. client: SupportedAuthClients type: SupportedAuthTypes } export type AuthClientAuth0 = AuthClient +<<<<<<< HEAD export interface AuthClientGoTrue extends AuthClient { +======= +export interface AuthClientNetlify extends AuthClient { +>>>>>>> bb1ab34... Add auth package. login(options: { email: string password: string remember?: boolean +<<<<<<< HEAD }): Promise client: GoTrue } @@ -37,6 +57,14 @@ export interface AuthClientGoTrue extends AuthClient { export interface MagicLinksClient extends AuthClient { login(options: { email: string; showUI?: boolean }) } +======= + }): Promise + client: Netlify +} + +export type SupportedAuthClients = Auth0 | Netlify +export type SupportedAuthTypes = 'auth0' | 'netlify' +>>>>>>> bb1ab34... Add auth package. const mapAuthClientAuth0 = (client: Auth0): AuthClientAuth0 => { return { @@ -64,9 +92,15 @@ const mapAuthClientAuth0 = (client: Auth0): AuthClientAuth0 => { } } +<<<<<<< HEAD const mapAuthClientGoTrue = (client: GoTrue): AuthClientGoTrue => { return { type: 'gotrue', +======= +const mapAuthClientNetlify = (client: Netlify): AuthClientNetlify => { + return { + type: 'netlify', +>>>>>>> bb1ab34... Add auth package. client, login: async ({ email, password, remember }) => client.login(email, password, remember), @@ -82,6 +116,7 @@ const mapAuthClientGoTrue = (client: GoTrue): AuthClientGoTrue => { } } +<<<<<<< HEAD const mapAuthClientNetlify = (client: NetlifyIdentity): AuthClient => { return { type: 'netlify', @@ -135,6 +170,8 @@ const mapAuthClientMagicLinks = (client: MagicLinks): MagicLinksClient => { } } +======= +>>>>>>> bb1ab34... Add auth package. export const createAuthClient = ( client: SupportedAuthClients, type: SupportedAuthTypes @@ -142,12 +179,17 @@ export const createAuthClient = ( switch (type) { case 'auth0': return mapAuthClientAuth0(client as Auth0) +<<<<<<< HEAD case 'gotrue': return mapAuthClientGoTrue(client as GoTrue) case 'netlify': return mapAuthClientNetlify(client as NetlifyIdentity) case 'magic.link': return mapAuthClientMagicLinks(client as MagicLinks) +======= + case 'netlify': + return mapAuthClientNetlify(client as Netlify) +>>>>>>> bb1ab34... Add auth package. default: throw new Error( `The ${type} auth client is not currently supported, please consider adding it.` diff --git a/packages/auth/src/useAuth.ts b/packages/auth/src/useAuth.ts index 3a17b54139f6..62543689711c 100644 --- a/packages/auth/src/useAuth.ts +++ b/packages/auth/src/useAuth.ts @@ -6,6 +6,7 @@ import type { AuthContextInterface } from './AuthProvider' export const useAuth = (): AuthContextInterface => { return React.useContext(AuthContext) as AuthContextInterface } +<<<<<<< HEAD declare global { interface Window { @@ -20,3 +21,5 @@ declare global { } window.__REDWOOD__USE_AUTH = useAuth +======= +>>>>>>> bb1ab34... Add auth package. diff --git a/yarn.lock b/yarn.lock index 5bdb35c710cd..a111de7c97ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -61,11 +61,19 @@ tslib "^1.10.0" "@apollographql/apollo-tools@^0.4.3": +<<<<<<< HEAD version "0.4.8" resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.4.8.tgz#d81da89ee880c2345eb86bddb92b35291f6135ed" integrity sha512-W2+HB8Y7ifowcf3YyPHgDI05izyRtOeZ4MqIr7LbTArtmJ0ZHULWpn84SGMW7NAvTV1tFExpHlveHhnXuJfuGA== dependencies: apollo-env "^0.6.5" +======= + version "0.4.7" + resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.4.7.tgz#6ba9e0fa872128fbfc82a5ded1447fde932a0169" + integrity sha512-6QjZz6aLq6QXHgJ1AmSg4C4cBmhF5z3g7LPsk4g+zJoWKxiFuSIbrTe12ETtn6wgPq//e5p2agbXYydIjqs7gw== + dependencies: + apollo-env "^0.6.4" +>>>>>>> bb1ab34... Add auth package. "@apollographql/graphql-playground-html@1.6.24": version "1.6.24" @@ -73,9 +81,15 @@ integrity sha512-8GqG48m1XqyXh4mIZrtB5xOhUwSsh1WsrrsaZQOEYYql3YN9DEu9OOSg0ILzXHZo/h2Q74777YE4YzlArQzQEQ== "@auth0/auth0-spa-js@^1.7.0": +<<<<<<< HEAD version "1.8.1" resolved "https://registry.yarnpkg.com/@auth0/auth0-spa-js/-/auth0-spa-js-1.8.1.tgz#e1be74388c4fe6145259c6ca29da7635a537fbdc" integrity sha512-OoeTlFug2COCelF+hxGCWP3I/4S2H4niWp278urpmwC88h/7HFLZFvDrlMAV2tMyUiusMSa2w4lWcb2iXL/6+Q== +======= + version "1.8.0" + resolved "https://registry.yarnpkg.com/@auth0/auth0-spa-js/-/auth0-spa-js-1.8.0.tgz#538a6df39551c303d060b9c6e5516d24a6b0e024" + integrity sha512-BkabMo/YAJt2XA+vcOmVFQ7syVrA4YWre1YYEQPet2izPDwgJ4IRLuE7mqOs+v74BQjs997tsuSY4/oHAu940Q== +>>>>>>> bb1ab34... Add auth package. dependencies: abortcontroller-polyfill "^1.4.0" browser-tabs-lock "^1.2.8" @@ -389,7 +403,11 @@ resolve "^1.13.1" v8flags "^3.1.1" +<<<<<<< HEAD "@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.3.2", "@babel/parser@^7.7.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6": +======= +"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.3.2", "@babel/parser@^7.7.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6": +>>>>>>> bb1ab34... Add auth package. version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== @@ -1002,7 +1020,11 @@ dependencies: regenerator-runtime "^0.13.4" +<<<<<<< HEAD "@babel/template@^7.3.3", "@babel/template@^7.8.3", "@babel/template@^7.8.6": +======= +"@babel/template@^7.3.3", "@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6": +>>>>>>> bb1ab34... Add auth package. version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== @@ -1011,7 +1033,11 @@ "@babel/parser" "^7.8.6" "@babel/types" "^7.8.6" +<<<<<<< HEAD "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.7.0", "@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6": +======= +"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6": +>>>>>>> bb1ab34... Add auth package. version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442" integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg== @@ -1334,10 +1360,17 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" +<<<<<<< HEAD "@lerna/add@3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" integrity sha512-vhUXXF6SpufBE1EkNEXwz1VLW03f177G9uMOFMQkp6OJ30/PWg4Ekifuz9/3YfgB2/GH8Tu4Lk3O51P2Hskg/A== +======= +"@lerna/add@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.20.0.tgz#bea7edf36fc93fb72ec34cb9ba854c48d4abf309" + integrity sha512-AnH1oRIEEg/VDa3SjYq4x1/UglEAvrZuV0WssHUMN81RTZgQk3we+Mv3qZNddrZ/fBcZu2IAdN/EQ3+ie2JxKQ== +>>>>>>> bb1ab34... Add auth package. dependencies: "@evocateur/pacote" "^9.6.3" "@lerna/bootstrap" "3.21.0" @@ -2104,6 +2137,7 @@ once "^1.4.0" "@octokit/request-error@^2.0.0": +<<<<<<< HEAD version "2.0.1" resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.1.tgz#49bd71e811daffd5bdd06ef514ca47b5039682d1" integrity sha512-5lqBDJ9/TOehK82VvomQ6zFiZjPeSom8fLkFVLuYL3sKiIb5RB8iN/lenLkY7oBmyQcGP7FBMGiIZTO8jufaRQ== @@ -2116,6 +2150,24 @@ version "5.4.3" resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.3.tgz#85b78ea4ae6e1c4ac2b02528102d4cd776145935" integrity sha512-RtqMzF3mhqxmWoqVD84x2gdtbqn2inTBU/HPkWf5u0R5r7fBTaLPAcCBgukeI2gjTwD9ChL9Cu0MlTBs7B/tSw== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^2.11.1" +======= + version "2.0.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.0.tgz#94ca7293373654400fbb2995f377f9473e00834b" + integrity sha512-rtYicB4Absc60rUv74Rjpzek84UbVHGHJRu4fNVlZ1mCcyUPPuzFfG9Rn6sjHrd95DEsmjSt1Axlc699ZlbDkw== + dependencies: + "@octokit/types" "^2.0.0" +>>>>>>> bb1ab34... Add auth package. + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.2.0": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.2.tgz#74f8e5bbd39dc738a1b127629791f8ad1b3193ee" + integrity sha512-zKdnGuQ2TQ2vFk9VU8awFT4+EYf92Z/v3OlzRaSh4RIP0H6cvW1BFPXq4XYvNez+TPQjqN+0uSkCYnMFFhcFrw== dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.0.0" @@ -2149,6 +2201,7 @@ universal-user-agent "^4.0.0" "@octokit/types@^2.0.0", "@octokit/types@^2.0.1", "@octokit/types@^2.11.1": +<<<<<<< HEAD version "2.16.2" resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2" integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== @@ -2159,6 +2212,11 @@ version "4.0.1" resolved "https://registry.yarnpkg.com/@octokit/types/-/types-4.0.1.tgz#dd32ff2407699f3a0c909cdd24de17b45b7d7051" integrity sha512-Ho6h7w2h9y8RRE8r656hIj1oiSbwbIHJGF5r9G5FOwS2VdDPq8QLGvsG4x6pKHpvyGK7j+43sAc2cJKMiFoIJw== +======= + version "2.12.2" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.12.2.tgz#e9fbffa294adb54140946d436da9f73bc94b169c" + integrity sha512-1GHLI/Jll3j6F0GbYyZPFTcHZMGjAiRfkTEoRUyaVVk2IWbDdwEiClAJvXzfXCDayuGSNCqAUH8lpjZtqW9GDw== +>>>>>>> bb1ab34... Add auth package. dependencies: "@types/node" ">= 8" @@ -2179,6 +2237,7 @@ dependencies: debug "^4.1.1" +<<<<<<< HEAD "@prisma/engine-core@2.0.0-beta.6": version "2.0.0-beta.6" resolved "https://registry.yarnpkg.com/@prisma/engine-core/-/engine-core-2.0.0-beta.6.tgz#e93b1c09dce22189a0db5141f1bfc4061a3c13f8" @@ -2187,6 +2246,15 @@ "@prisma/debug" "2.0.0-beta.6" "@prisma/generator-helper" "2.0.0-beta.6" "@prisma/get-platform" "2.0.0-beta.6" +======= +"@prisma/engine-core@2.0.0-beta.4": + version "2.0.0-beta.4" + resolved "https://registry.yarnpkg.com/@prisma/engine-core/-/engine-core-2.0.0-beta.4.tgz#471e861a2fb16a0e5481808b1ff0d706b994685d" + integrity sha512-XJrhfhRaSN1kJQMjX1xmEHiooPtZXEcbXpgGTVPia8WLUo5buvnOIYL4qP5Cv0WSS4PSW68DChi+XlyGSlGNUg== + dependencies: + "@prisma/generator-helper" "2.0.0-beta.4" + "@prisma/get-platform" "2.0.0-beta.4" +>>>>>>> bb1ab34... Add auth package. bent "^7.1.2" chalk "^3.0.0" cross-fetch "^3.0.4" @@ -2197,6 +2265,7 @@ terminal-link "^2.1.1" undici mcollina/undici +<<<<<<< HEAD "@prisma/fetch-engine@2.0.0-beta.6": version "2.0.0-beta.6" resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-2.0.0-beta.6.tgz#d92523eb020c8f231d289e3d968261dea47e26b9" @@ -2204,6 +2273,14 @@ dependencies: "@prisma/debug" "2.0.0-beta.6" "@prisma/get-platform" "2.0.0-beta.6" +======= +"@prisma/fetch-engine@2.0.0-beta.4": + version "2.0.0-beta.4" + resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-2.0.0-beta.4.tgz#e3fdc4b25e52fe72774d9ebda82adeebdf1ee33c" + integrity sha512-B9kPy0JhTKPoKol5uvs/832eyRZYoVf+hRbXrEbImULmz1nojk1Rv8fBLd/MVZ+cyvdgSlYeTPR2ZBTMTP1Kgg== + dependencies: + "@prisma/get-platform" "2.0.0-beta.4" +>>>>>>> bb1ab34... Add auth package. chalk "^4.0.0" execa "^4.0.0" find-cache-dir "^3.3.1" @@ -2220,10 +2297,17 @@ rimraf "^3.0.2" tempy "^0.5.0" +<<<<<<< HEAD "@prisma/generator-helper@2.0.0-beta.6": version "2.0.0-beta.6" resolved "https://registry.yarnpkg.com/@prisma/generator-helper/-/generator-helper-2.0.0-beta.6.tgz#daec76333406dcae0b6e69f3a7eb7ae48f002906" integrity sha512-i6fkmyKD3VSnAOD6a7Py1ANrBpg1TvLKu4xw9smONi+JnNUxXGFM89/hl/SaNx4YOqh4K8EQOVQYISFO+yqAew== +======= +"@prisma/generator-helper@2.0.0-beta.4": + version "2.0.0-beta.4" + resolved "https://registry.yarnpkg.com/@prisma/generator-helper/-/generator-helper-2.0.0-beta.4.tgz#937ecfe49ac19cb2fe8d42282a0dba26d0431bb2" + integrity sha512-z4Q6vNntvkMnG15KOTWMlHrX1QBIF6Dy2gtBvgHNmrcRhhWqQLpRFs8+MffJL4TiA6/nPu0WaAOiwF3eA+7ovg== +>>>>>>> bb1ab34... Add auth package. dependencies: "@prisma/debug" "2.0.0-beta.6" "@types/cross-spawn" "^6.0.1" @@ -2231,13 +2315,21 @@ cross-spawn "^7.0.2" isbinaryfile "^4.0.6" +<<<<<<< HEAD "@prisma/get-platform@2.0.0-beta.6": version "2.0.0-beta.6" resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-2.0.0-beta.6.tgz#7a3be5601bc69060416f6a623640e6fcbdf2d68b" integrity sha512-EohZpMtpIykc2S91EDfIYv+AiJ4Gifus1AMpfu6BSvV3EgVONJE9NcIFwjkHn24eLCYT742O1YgCe/W2ei+SIw== +======= +"@prisma/get-platform@2.0.0-beta.4": + version "2.0.0-beta.4" + resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-2.0.0-beta.4.tgz#df019aca3c590c51382b1717bba404e389cd6697" + integrity sha512-usfvR2jxDghh0volcHl7st1ebJMn1vvJA8J0ZQWsspU/El+m6XR6hF3s9ORvlBh2nLIQPdhexFiOPAxp4c4FjQ== +>>>>>>> bb1ab34... Add auth package. dependencies: "@prisma/debug" "2.0.0-beta.6" +<<<<<<< HEAD "@prisma/sdk@^2.0.0-beta.6": version "2.0.0-beta.6" resolved "https://registry.yarnpkg.com/@prisma/sdk/-/sdk-2.0.0-beta.6.tgz#965f637365467447583220c228ec8c92a8f2598a" @@ -2249,6 +2341,18 @@ "@prisma/fetch-engine" "2.0.0-beta.6" "@prisma/generator-helper" "2.0.0-beta.6" "@prisma/get-platform" "2.0.0-beta.6" +======= +"@prisma/sdk@^2.0.0-beta.3": + version "2.0.0-beta.4" + resolved "https://registry.yarnpkg.com/@prisma/sdk/-/sdk-2.0.0-beta.4.tgz#41414edaa8f04bf18122063b93377838553354f8" + integrity sha512-zE1Rkjm923NopMFcWVuxCYRU8B7UUepIluD5oKc5626WxUeidFmvxnsp5YUSnqikivpu1hd22tM/jGKqOSO//A== + dependencies: + "@apexearth/copy" "^1.4.5" + "@prisma/engine-core" "2.0.0-beta.4" + "@prisma/fetch-engine" "2.0.0-beta.4" + "@prisma/generator-helper" "2.0.0-beta.4" + "@prisma/get-platform" "2.0.0-beta.4" +>>>>>>> bb1ab34... Add auth package. archiver "^3.1.1" arg "^4.1.3" chalk "3.0.0" @@ -2386,6 +2490,7 @@ integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@sinonjs/commons@^1.7.0": +<<<<<<< HEAD version "1.8.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d" integrity sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q== @@ -2396,6 +2501,25 @@ version "1.5.0" resolved "https://registry.yarnpkg.com/@snyk/cli-interface/-/cli-interface-1.5.0.tgz#b9dbe6ebfb86e67ffabf29d4e0d28a52670ac456" integrity sha512-+Qo+IO3YOXWgazlo+CKxOuWFLQQdaNCJ9cSfhFQd687/FuesaIxWdInaAdfpsLScq0c6M1ieZslXgiZELSzxbg== +======= + version "1.7.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.2.tgz#505f55c74e0272b43f6c52d81946bed7058fc0e2" + integrity sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw== + dependencies: + type-detect "4.0.8" + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@testing-library/dom@^7.2.2": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.2.2.tgz#30ab09cca132fe49b2ca61ccd9ed785c5f0a6fc5" + integrity sha512-g+gT//COYh2FgRrlgcgdkifkjqSk7wQIS7F8jbrf6yoEsh85PJUJ/QtO0bJ9QU7pQPYQgKcgqNJsOs0dlyFYag== +>>>>>>> bb1ab34... Add auth package. dependencies: tslib "^1.9.3" @@ -2611,10 +2735,17 @@ dom-accessibility-api "^0.4.4" pretty-format "^25.5.0" +<<<<<<< HEAD "@testing-library/jest-dom@^5.8.0": version "5.8.0" resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.8.0.tgz#815e830129c4dda6c8e9a725046397acec523669" integrity sha512-9Y4FxYIxfwHpUyJVqI8EOfDP2LlEBqKwXE3F+V8ightji0M2rzQB+9kqZ5UJxNs+9oXJIgvYj7T3QaXLNHVDMw== +======= +"@testing-library/jest-dom@^5.3.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.5.0.tgz#4707023e8f572021e8a84f65721303ff60828d88" + integrity sha512-7sWHrpxG4Yd8TmryI7Rtbx8Ff4mbs3ASye3oshQIuHvsCR+QHgr7rTR/PfeXvOmwUwR36wSTTAvrLKsPmr6VEQ== +>>>>>>> bb1ab34... Add auth package. dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.0.2" @@ -2626,7 +2757,11 @@ lodash "^4.17.15" redent "^3.0.0" +<<<<<<< HEAD "@testing-library/react@^10.0.4": +======= +"@testing-library/react@^10.0.1": +>>>>>>> bb1ab34... Add auth package. version "10.0.4" resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-10.0.4.tgz#8e0e299cd91acc626d81ed8489fdc13df864c31d" integrity sha512-2e1B5debfuiIGbvUuiSXybskuh7ZTVJDDvG/IxlzLOY9Co/mKFj9hIklAe2nGZYcOUxFaiqWrRZ9vCVGzJfRlQ== @@ -2663,6 +2798,7 @@ version "8.10.51" resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.51.tgz#7ad774507a3cf1d2e949ca305380c23b5af635a0" integrity sha512-XK7RerpXj4r+IO0r7qIeNqUSU6L4qhPMwNhISxozJJiUX/jdXj9WYzTShRVisEcUQHXgJ4TTBqTArM8f9Mjb8g== +<<<<<<< HEAD "@types/babel-core@^6.25.6": version "6.25.6" @@ -2711,6 +2847,10 @@ integrity sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ== "@types/babel__core@*", "@types/babel__core@^7.1.7": +======= + +"@types/babel__core@^7.1.7": +>>>>>>> bb1ab34... Add auth package. version "7.1.7" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89" integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw== @@ -2822,6 +2962,7 @@ resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== +<<<<<<< HEAD "@types/express-jwt@0.0.42": version "0.0.42" resolved "https://registry.yarnpkg.com/@types/express-jwt/-/express-jwt-0.0.42.tgz#4f04e1fadf9d18725950dc041808a4a4adf7f5ae" @@ -2834,6 +2975,12 @@ version "4.17.7" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.7.tgz#dfe61f870eb549dc6d7e12050901847c7d7e915b" integrity sha512-EMgTj/DF9qpgLXyc+Btimg+XoH7A2liE8uKul8qSmMTHCeNYzydDKFdsJskDvw42UsesCnhO63dO0Grbj8J4Dw== +======= +"@types/express-serve-static-core@*": + version "4.17.5" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.5.tgz#a00ac7dadd746ae82477443e4d480a6a93ea083c" + integrity sha512-578YH5Lt88AKoADy0b2jQGwJtrBxezXtVe/MBqWXKZpqx91SnC0pVkVCcxcytz3lWW+cHBYDi3Ysh0WXc+rAYw== +>>>>>>> bb1ab34... Add auth package. dependencies: "@types/node" "*" "@types/qs" "*" @@ -2903,6 +3050,7 @@ "@types/koa" "*" graphql "^14.5.3" +<<<<<<< HEAD "@types/hosted-git-info@^2.7.0": version "2.7.0" resolved "https://registry.yarnpkg.com/@types/hosted-git-info/-/hosted-git-info-2.7.0.tgz#5199b4df62d53f51d60520d61513eaa4b2dd3d3d" @@ -2912,6 +3060,12 @@ version "5.1.0" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== +======= +"@types/html-minifier-terser@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.0.0.tgz#7532440c138605ced1b555935c3115ddd20e8bef" + integrity sha512-q95SP4FdkmF0CwO0F2q0H6ZgudsApaY/yCtAQNRn1gduef5fGpyEphzy0YCq/N0UFvDSnLg5V8jFK/YGXlDiCw== +>>>>>>> bb1ab34... Add auth package. "@types/http-assert@*": version "1.5.1" @@ -2939,6 +3093,7 @@ "@types/istanbul-lib-report" "*" "@types/jest@*", "@types/jest@^25.1.4": +<<<<<<< HEAD version "25.2.3" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== @@ -2950,6 +3105,14 @@ version "3.12.4" resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.4.tgz#7d3b534ec35a0585128e2d332db1403ebe057e25" integrity sha512-fYMgzN+9e28R81weVN49inn/u798ruU91En1ZnGvSZzCRc5jXx9B2EDhlRaWmcO1RIxFHL8AajRXzxDuJu93+A== +======= + version "25.2.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.1.tgz#9544cd438607955381c1bdbdb97767a249297db5" + integrity sha512-msra1bCaAeEdkSyA0CZ6gW1ukMIvZ5YoJkdXw/qhQdsuuDlFTcEUrUw8CLCPt2rVRUfXlClVvK2gvPs9IokZaA== + dependencies: + jest-diff "^25.2.1" + pretty-format "^25.2.1" +>>>>>>> bb1ab34... Add auth package. "@types/json-schema@^7.0.3": version "7.0.4" @@ -3003,9 +3166,15 @@ "@types/lodash" "*" "@types/lodash@*": +<<<<<<< HEAD version "4.14.152" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.152.tgz#7e7679250adce14e749304cdb570969f77ec997c" integrity sha512-Vwf9YF2x1GE3WNeUMjT5bTHa2DqgUo87ocdgTScupY2JclZ5Nn7W2RLM/N0+oreexUk8uaVugR81NnTY/jNNXg== +======= + version "4.14.150" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" + integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w== +>>>>>>> bb1ab34... Add auth package. "@types/long@^4.0.0": version "4.0.1" @@ -3041,7 +3210,19 @@ dependencies: "@types/express" "*" +<<<<<<< HEAD "@types/node-fetch@2.5.7", "@types/node-fetch@^2.5.5": +======= +"@types/node-fetch@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.6.tgz#df8377a66e64ddf75b65b072e37b3c5c5425a96f" + integrity sha512-2w0NTwMWF1d3NJMK0Uiq2UNN8htVCyOWOD0jIPjPgC5Ph/YP4dVhs9YxxcMcuLuwAslz0dVEcZQUaqkLs3IzOQ== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node-fetch@^2.5.5": +>>>>>>> bb1ab34... Add auth package. version "2.5.7" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== @@ -3049,6 +3230,7 @@ "@types/node" "*" form-data "^3.0.0" +<<<<<<< HEAD "@types/node@*", "@types/node@>= 8", "@types/node@>=6": version "14.0.5" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.5.tgz#3d03acd3b3414cf67faf999aed11682ed121f22b" @@ -3068,6 +3250,17 @@ version "6.14.10" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.14.10.tgz#d9ce598127eb0cc02821476862d11389cb01f6a4" integrity sha512-pF4HjZGSog75kGq7B1InK/wt/N08BuPATo+7HRfv7gZUzccebwv/fmWVGs/j6LvSiLWpCuGGhql51M/wcQsNzA== +======= +"@types/node@*", "@types/node@>= 8", "@types/node@>=6", "@types/node@^13.9.5": + version "13.13.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.4.tgz#1581d6c16e3d4803eb079c87d4ac893ee7501c2c" + integrity sha512-x26ur3dSXgv5AwKS0lNfbjpCakGIduWU1DU91Zz58ONRWrIKGunmZBNv4P7N+e27sJkiGDsw/3fT4AtsqQBrBA== + +"@types/node@^10.1.0": + version "10.17.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.21.tgz#c00e9603399126925806bed2d9a1e37da506965e" + integrity sha512-PQKsydPxYxF1DsAFWmunaxd3sOi3iMt6Zmx/tgaagHYmwJ/9cRH91hQkeJZaUGWbvn0K5HlSVEXkn5U/llWPpQ== +>>>>>>> bb1ab34... Add auth package. "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -3095,15 +3288,22 @@ integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== "@types/qs@*", "@types/qs@^6.9.1": +<<<<<<< HEAD version "6.9.3" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.3.tgz#b755a0934564a200d3efdf88546ec93c369abd03" integrity sha512-7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA== +======= + version "6.9.1" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.1.tgz#937fab3194766256ee09fcd40b781740758617e7" + integrity sha512-lhbQXx9HKZAPgBkISrBcmAcMpZsmpe/Cd/hY7LGZS5OfkySUBItnPZHgQPssWYUET8elF+yCFBbP1Q0RZPTdaw== +>>>>>>> bb1ab34... Add auth package. "@types/range-parser@*": version "1.2.3" resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== +<<<<<<< HEAD "@types/react-dom@*", "@types/react-dom@16.9.8": version "16.9.8" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.8.tgz#fe4c1e11dfc67155733dfa6aa65108b4971cb423" @@ -3115,6 +3315,19 @@ version "16.9.35" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.35.tgz#a0830d172e8aadd9bd41709ba2281a3124bbd368" integrity sha512-q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ== +======= +"@types/react-dom@*", "@types/react-dom@16.9.7": + version "16.9.7" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.7.tgz#60844d48ce252d7b2dccf0c7bb937130e27c0cd2" + integrity sha512-GHTYhM8/OwUCf254WO5xqR/aqD3gC9kSTLpopWGpQLpnw23jk44RvMHsyUSEplvRJZdHxhJGMMLF0kCPYHPhQA== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@16.9.34": + version "16.9.34" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.34.tgz#f7d5e331c468f53affed17a8a4d488cd44ea9349" + integrity sha512-8AJlYMOfPe1KGLKyHpflCg5z46n0b5DbRfqDksxBLBTUpB75ypDBAO9eCUcjNwE6LCUslwTz00yyG/X9gaVtow== +>>>>>>> bb1ab34... Add auth package. dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -3164,7 +3377,11 @@ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02" integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ== +<<<<<<< HEAD "@types/testing-library__dom@*": +======= +"@types/testing-library__dom@*", "@types/testing-library__dom@^7.0.0": +>>>>>>> bb1ab34... Add auth package. version "7.0.2" resolved "https://registry.yarnpkg.com/@types/testing-library__dom/-/testing-library__dom-7.0.2.tgz#2906f8a0dce58b0746c6ab606f786bd06fe6940e" integrity sha512-8yu1gSwUEAwzg2OlPNbGq+ixhmSviGurBu1+ivxRKq1eRcwdjkmlwtPvr9VhuxTq2fNHBWN2po6Iem3Xt5A6rg== @@ -3172,9 +3389,15 @@ pretty-format "^25.1.0" "@types/testing-library__jest-dom@^5.0.2": +<<<<<<< HEAD version "5.7.0" resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.7.0.tgz#078790bf4dc89152a74428591a228ec5f9433251" integrity sha512-LoZ3uonlnAbJUz4bg6UoeFl+frfndXngmkCItSjJ8DD5WlRfVqPC5/LgJASsY/dy7AHH2YJ7PcsdASOydcVeFA== +======= + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.0.3.tgz#8efef348eeedc62e7de21acbe455a779936417c4" + integrity sha512-NdbKc6yseg6uq4UJFwimPws0iwsGugVbPoOTP2EH+PJMJKiZsoSg5F2H3XYweOyytftCOuIMuXifBUrF9CSvaQ== +>>>>>>> bb1ab34... Add auth package. dependencies: "@types/jest" "*" @@ -3204,9 +3427,15 @@ source-map "^0.6.1" "@types/webpack@^4.41.11", "@types/webpack@^4.41.8": +<<<<<<< HEAD version "4.41.13" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.13.tgz#988d114c8913d039b8a0e0502a7fe4f1f84f3d5e" integrity sha512-RYmIHOWSxnTTa765N6jJBVE45pd2SYNblEYshVDduLw6RhocazNmRzE5/ytvBD8IkDMH6DI+bcrqxh8NILimBA== +======= + version "4.41.12" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.12.tgz#0386ee2a2814368e2f2397abb036c0bf173ff6c3" + integrity sha512-BpCtM4NnBen6W+KEhrL9jKuZCXVtiH6+0b6cxdvNt2EwU949Al334PjQSl2BeAyvAX9mgoNNG21wvjP3xZJJ5w== +>>>>>>> bb1ab34... Add auth package. dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -3235,9 +3464,15 @@ integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== "@types/yargs@^15.0.0": +<<<<<<< HEAD version "15.0.5" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== +======= + version "15.0.4" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz#7e5d0f8ca25e9d5849f2ea443cf7c402decd8299" + integrity sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg== +>>>>>>> bb1ab34... Add auth package. dependencies: "@types/yargs-parser" "*" @@ -3247,15 +3482,24 @@ integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== "@typescript-eslint/eslint-plugin@^2.27.0": +<<<<<<< HEAD version "2.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== dependencies: "@typescript-eslint/experimental-utils" "2.34.0" +======= + version "2.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.30.0.tgz#312a37e80542a764d96e8ad88a105316cdcd7b05" + integrity sha512-PGejii0qIZ9Q40RB2jIHyUpRWs1GJuHP1pkoCiaeicfwO9z7Fx03NQzupuyzAmv+q9/gFNHu7lo1ByMXe8PNyg== + dependencies: + "@typescript-eslint/experimental-utils" "2.30.0" +>>>>>>> bb1ab34... Add auth package. functional-red-black-tree "^1.0.1" regexpp "^3.0.0" tsutils "^3.17.1" +<<<<<<< HEAD "@typescript-eslint/experimental-utils@2.34.0": version "2.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" @@ -3263,10 +3507,20 @@ dependencies: "@types/json-schema" "^7.0.3" "@typescript-eslint/typescript-estree" "2.34.0" +======= +"@typescript-eslint/experimental-utils@2.30.0": + version "2.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.30.0.tgz#9845e868c01f3aed66472c561d4b6bac44809dd0" + integrity sha512-L3/tS9t+hAHksy8xuorhOzhdefN0ERPDWmR9CclsIGOUqGKy6tqc/P+SoXeJRye5gazkuPO0cK9MQRnolykzkA== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.30.0" +>>>>>>> bb1ab34... Add auth package. eslint-scope "^5.0.0" eslint-utils "^2.0.0" "@typescript-eslint/parser@^2.27.0": +<<<<<<< HEAD version "2.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== @@ -3280,6 +3534,21 @@ version "2.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== +======= + version "2.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.30.0.tgz#7681c305a6f4341ae2579f5e3a75846c29eee9ce" + integrity sha512-9kDOxzp0K85UnpmPJqUzdWaCNorYYgk1yZmf4IKzpeTlSAclnFsrLjfwD9mQExctLoLoGAUXq1co+fbr+3HeFw== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.30.0" + "@typescript-eslint/typescript-estree" "2.30.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.30.0": + version "2.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.30.0.tgz#1b8e848b55144270255ffbfe4c63291f8f766615" + integrity sha512-nI5WOechrA0qAhnr+DzqwmqHsx7Ulr/+0H7bWCcClDhhWkSyZR5BmTvnBEyONwJCTWHfc5PAQExX24VD26IAVw== +>>>>>>> bb1ab34... Add auth package. dependencies: debug "^4.1.1" eslint-visitor-keys "^1.1.0" @@ -3588,7 +3857,11 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== +<<<<<<< HEAD ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.11.0, ajv@^6.12.0, ajv@^6.5.5: +======= +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: +>>>>>>> bb1ab34... Add auth package. version "6.12.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== @@ -3598,12 +3871,12 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.11.0, ajv@^6.12.0, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= +ansi-align@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" + integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== dependencies: - string-width "^2.0.0" + string-width "^3.0.0" ansi-align@^3.0.0: version "3.0.0" @@ -3720,6 +3993,7 @@ apollo-boost@0.4.7: ts-invariant "^0.4.0" tslib "^1.10.0" +<<<<<<< HEAD apollo-cache-control@^0.10.1-alpha.0: version "0.10.1-alpha.0" resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.10.1-alpha.0.tgz#3547ebb1a6a49dd822800b86c3bf27c618abdf20" @@ -3727,6 +4001,15 @@ apollo-cache-control@^0.10.1-alpha.0: dependencies: apollo-server-env "^2.4.4-alpha.0" graphql-extensions "^0.12.1-alpha.0" +======= +apollo-cache-control@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.9.1.tgz#2af4c53ef697a87808285a25f2b93ca0f183880c" + integrity sha512-9t2EcRevUrANuGhF5XUbKJEfnc6Jy2Rn7Y8nOIKlsEEC+AX7Ko4svWYTyyTxj0h0RXfiegY2nbz4sVry/pS3rA== + dependencies: + apollo-server-env "^2.4.3" + graphql-extensions "^0.11.1" +>>>>>>> bb1ab34... Add auth package. apollo-cache-inmemory@^1.6.5: version "1.6.6" @@ -3776,10 +4059,17 @@ apollo-engine-reporting-protobuf@^0.4.4: dependencies: "@apollo/protobufjs" "^1.0.3" +<<<<<<< HEAD apollo-engine-reporting-protobuf@^0.5.1-alpha.0: version "0.5.1-alpha.1" resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.5.1-alpha.1.tgz#d946a1943c52b2886dda911d54d9c9f3e33584e6" integrity sha512-c533X6iGOTKvwWwoeb+6SXEgJBCMnKGBzSUfVgLdTHJpy41VDvVteRzCWa+JwblM66LiZasxzkQXOpm5OC49MA== +======= +apollo-engine-reporting@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.7.1.tgz#469d9711507ef4c3b03f193a9b422ecf7ecff7e9" + integrity sha512-9ykddPxlC95R9CkkJaPaGriRbOGfzeKqqPXRAunyX1h4sG/8g+MJ/gGzmnNf63k6RvRUdRENCE83wPk2OeU+2A== +>>>>>>> bb1ab34... Add auth package. dependencies: "@apollo/protobufjs" "^1.0.3" @@ -3791,6 +4081,7 @@ apollo-engine-reporting@^1.8.1-alpha.0: apollo-engine-reporting-protobuf "^0.5.1-alpha.0" apollo-graphql "^0.4.0" apollo-server-caching "^0.5.1" +<<<<<<< HEAD apollo-server-env "^2.4.4-alpha.0" apollo-server-errors "^2.4.1" apollo-server-types "^0.4.1-alpha.0" @@ -3803,16 +4094,38 @@ apollo-env@^0.6.5: integrity sha512-jeBUVsGymeTHYWp3me0R2CZRZrFeuSZeICZHCeRflHTfnQtlmbSXdy5E0pOyRM9CU4JfQkKDC98S1YglQj7Bzg== dependencies: "@types/node-fetch" "2.5.7" +======= + apollo-server-env "^2.4.3" + apollo-server-errors "^2.4.1" + apollo-server-types "^0.3.1" + async-retry "^1.2.1" + graphql-extensions "^0.11.1" + +apollo-env@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.6.4.tgz#c5b9b2510428df5257846c0d96c9c907269d4b1f" + integrity sha512-8tGDMFv3sZLd76b/ZAo8GbdWU5Qt3VEUWSB+FLN41p/hVShZw0XIo2s/i8pVCTAhaWiEiD0Cr+d/zi0/h5UTxA== + dependencies: + "@types/node-fetch" "2.5.6" +>>>>>>> bb1ab34... Add auth package. core-js "^3.0.1" node-fetch "^2.2.0" sha.js "^2.4.11" apollo-graphql@^0.4.0: +<<<<<<< HEAD version "0.4.4" resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.4.4.tgz#25f456b28a4419bb6a42071f8a56e19e15bb80be" integrity sha512-i012iRKT5nfsOaNMx4MTwHw2jrlyaF1zikpejxsGHsKIf3OngGvGh3pyw20bEmwj413OrNQpRxvvIz5A7W/8xw== dependencies: apollo-env "^0.6.5" +======= + version "0.4.3" + resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.4.3.tgz#cd25641d4151c931743cc1870a9d4be9f42b556f" + integrity sha512-eAl8w6TeuY0Q3x7TVqBjt4JObA34vUyctuDn2lOmkdIqlu1EKxNAnTlRtXkjQM89qUt0rK0teU8No0a2lMNGuw== + dependencies: + apollo-env "^0.6.4" +>>>>>>> bb1ab34... Add auth package. lodash.sortby "^4.7.0" apollo-link-error@^1.0.3: @@ -3860,13 +4173,20 @@ apollo-server-caching@^0.5.1: lru-cache "^5.0.0" apollo-server-core@^2.11.0: +<<<<<<< HEAD version "2.13.1" resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.13.1.tgz#eac223696ae9da5f4990273ea89c74b77af0e156" integrity sha512-4jKF0VbpoxprhcruaGoHG5ScrquSSkQ/LVFrOLp/ukUFuooLEMb1O18tAQdgVahkNgLkRKdNJYLLyoQoj+i3dA== +======= + version "2.12.0" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.12.0.tgz#980f29788c17f029e7248d331bee1ad2e1f07e5b" + integrity sha512-BRVdOyZrRJ1ALlmis0vaOLIHHYu5K3UVKAQKIgHkRh/YY0Av4lpeEXr49ELK04LTeh0DG0pQ5YYYhaX1wFcDEw== +>>>>>>> bb1ab34... Add auth package. dependencies: "@apollographql/apollo-tools" "^0.4.3" "@apollographql/graphql-playground-html" "1.6.24" "@types/graphql-upload" "^8.0.0" +<<<<<<< HEAD "@types/ws" "^7.0.0" apollo-cache-control "^0.10.1-alpha.0" apollo-datasource "^0.7.1-alpha.0" @@ -3879,6 +4199,20 @@ apollo-server-core@^2.11.0: apollo-tracing "^0.10.1-alpha.0" fast-json-stable-stringify "^2.0.0" graphql-extensions "^0.12.1-alpha.0" +======= + "@types/ws" "^6.0.0" + apollo-cache-control "^0.9.1" + apollo-datasource "^0.7.0" + apollo-engine-reporting "^1.7.1" + apollo-server-caching "^0.5.1" + apollo-server-env "^2.4.3" + apollo-server-errors "^2.4.1" + apollo-server-plugin-base "^0.7.1" + apollo-server-types "^0.3.1" + apollo-tracing "^0.9.1" + fast-json-stable-stringify "^2.0.0" + graphql-extensions "^0.11.1" +>>>>>>> bb1ab34... Add auth package. graphql-tag "^2.9.2" graphql-tools "^4.0.0" graphql-upload "^8.0.2" @@ -3895,6 +4229,7 @@ apollo-server-env@^2.4.3: node-fetch "^2.1.2" util.promisify "^1.0.0" +<<<<<<< HEAD apollo-server-env@^2.4.4-alpha.0: version "2.4.4-alpha.0" resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.4-alpha.0.tgz#56e860b6af116cdbd05fc4bfe51d5851bde2413e" @@ -3903,6 +4238,8 @@ apollo-server-env@^2.4.4-alpha.0: node-fetch "^2.1.2" util.promisify "^1.0.0" +======= +>>>>>>> bb1ab34... Add auth package. apollo-server-errors@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.4.1.tgz#16ad49de6c9134bfb2b7dede9842e73bb239dbe2" @@ -3920,6 +4257,7 @@ apollo-server-lambda@2.11.0: apollo-server-types "^0.3.0" graphql-tools "^4.0.0" +<<<<<<< HEAD apollo-server-plugin-base@^0.8.1-alpha.0: version "0.8.1-alpha.0" resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.8.1-alpha.0.tgz#79dc1e7996a9cfc627d89b7f24d29b6174c5cd2e" @@ -3928,6 +4266,16 @@ apollo-server-plugin-base@^0.8.1-alpha.0: apollo-server-types "^0.4.1-alpha.0" apollo-server-types@^0.3.0: +======= +apollo-server-plugin-base@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.7.1.tgz#998d035723c5993171fd5aff3dbe7d2661db1a96" + integrity sha512-PRavvoWq7/Xufqc+qkDQg3Aqueq4QrPBFfoCFIjhkJ4n2d2YoqE3gTGccb8YoWusfa62ASMn6R47OdNuVtEbXw== + dependencies: + apollo-server-types "^0.3.1" + +apollo-server-types@^0.3.0, apollo-server-types@^0.3.1: +>>>>>>> bb1ab34... Add auth package. version "0.3.1" resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.3.1.tgz#9456e243dad525a78b689246f124a66d7d8ac409" integrity sha512-6nX5VC3icOGf1RZIs7/SYQZff+Cl16LQu1FHUOIk9gAMN2XjlRCyJgCeMj5YHJzQ8Mhg4BO0weWuydEg+JxLzg== @@ -3936,6 +4284,7 @@ apollo-server-types@^0.3.0: apollo-server-caching "^0.5.1" apollo-server-env "^2.4.3" +<<<<<<< HEAD apollo-server-types@^0.4.1-alpha.0: version "0.4.1-alpha.0" resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.4.1-alpha.0.tgz#b74b8ebc85d4ffb62c083b1628199e57aa1e9b51" @@ -3944,6 +4293,25 @@ apollo-server-types@^0.4.1-alpha.0: apollo-engine-reporting-protobuf "^0.5.1-alpha.0" apollo-server-caching "^0.5.1" apollo-server-env "^2.4.4-alpha.0" +======= +apollo-tracing@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.9.1.tgz#c481be727550c73fda53d20d798cbe4ad67c61bd" + integrity sha512-4wVNM6rc70XhwWxuDWrMBLaHA8NjB9pUS2sNpddQvP36ZtQfsa08XLSUxGAZT+bej+TzW26hKNtuO31RgqC9Hg== + dependencies: + apollo-server-env "^2.4.3" + graphql-extensions "^0.11.1" + +apollo-upload-client@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-13.0.0.tgz#146d1ddd85d711fcac8ca97a72d3ca6787f2b71b" + integrity sha512-lJ9/bk1BH1lD15WhWRha2J3+LrXrPIX5LP5EwiOUHv8PCORp4EUrcujrA3rI5hZeZygrTX8bshcuMdpqpSrvtA== + dependencies: + "@babel/runtime" "^7.9.2" + apollo-link "^1.2.12" + apollo-link-http-common "^0.2.14" + extract-files "^8.0.0" +>>>>>>> bb1ab34... Add auth package. apollo-tracing@^0.10.1-alpha.0: version "0.10.1-alpha.0" @@ -4404,6 +4772,7 @@ babel-plugin-module-resolver@^4.0.0: resolve "^1.13.1" babel-plugin-tester@^9.0.0, babel-plugin-tester@^9.0.1: +<<<<<<< HEAD version "9.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-tester/-/babel-plugin-tester-9.1.0.tgz#9c917ed8a898d65fe4c5e3035882be2a866212d2" integrity sha512-F+wlG1b+sN3Bwav8uMcd3Q9QAxtwMaZQ29u0r0UgP3u0T/Ws56dNoSo0Guy6GoCEXo4jc9/udh4HqdMIbSZGDA== @@ -4436,6 +4805,8 @@ babel-preset-jest@^25.5.0: integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== ======= babel-plugin-tester@^9.0.1: +======= +>>>>>>> bb1ab34... Add auth package. version "9.0.1" resolved "https://registry.yarnpkg.com/babel-plugin-tester/-/babel-plugin-tester-9.0.1.tgz#9e975a7fe278a49b3bd4b02bd3a77004819863ee" integrity sha512-q5GXJowxsRefBDhgiZVyNPgIIHsfxtZNnMABxq+vtuoYP2JW8qaiIBBAG9/I0PgRGRpjUDXnn0IhGHGGn7UOcA== @@ -4444,6 +4815,7 @@ babel-plugin-tester@^9.0.1: prettier "^2.0.1" strip-indent "^3.0.0" +<<<<<<< HEAD babel-preset-jest@^25.2.1: version "25.2.1" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.2.1.tgz#4ccd0e577f69aa11b71806edfe8b25a5c3ac93a2" @@ -4459,6 +4831,31 @@ back@1.0.x: integrity sha1-qT9ebOaXKZhNWQGiuxbjsBpNY2k= dependencies: xtend "^4.0.0" +======= +babel-preset-current-node-syntax@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6" + integrity sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +babel-preset-jest@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" + integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== + dependencies: + babel-plugin-jest-hoist "^25.5.0" + babel-preset-current-node-syntax "^0.1.2" +>>>>>>> bb1ab34... Add auth package. backo2@^1.0.2: version "1.0.2" @@ -4623,18 +5020,26 @@ boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +<<<<<<< HEAD boxen@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== +======= +boxen@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" + integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== +>>>>>>> bb1ab34... Add auth package. dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^3.0.0" + cli-boxes "^2.2.0" + string-width "^4.1.0" + term-size "^2.1.0" + type-fest "^0.8.1" + widest-line "^3.1.0" boxen@^4.2.0: version "4.2.0" @@ -5019,7 +5424,7 @@ camelcase@^2.0.0, camelcase@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= -camelcase@^4.0.0, camelcase@^4.1.0: +camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= @@ -5029,6 +5434,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +<<<<<<< HEAD camelcase@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" @@ -5039,6 +5445,13 @@ caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001043: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001064.tgz#a0f49689119ba08943b09968e118faf3f645add0" integrity sha512-hdBcQMFvJIrOhkpAZiRXz04Cmetwc9NekeuNl0qZfHOugxOhJKxsjF1RmISMPFjIF4PPx1reliIzbfN42EiQ5A== +======= +caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001043: + version "1.0.30001048" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz#4bb4f1bc2eb304e5e1154da80b93dee3f1cf447e" + integrity sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg== + +>>>>>>> bb1ab34... Add auth package. capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -5046,17 +5459,16 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +<<<<<<< HEAD chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: +======= +chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: +>>>>>>> bb1ab34... Add auth package. version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -5152,7 +5564,11 @@ chokidar@^2.0.4, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +<<<<<<< HEAD chokidar@^3.2.2, chokidar@^3.3.1, chokidar@^3.4.0: +======= +chokidar@^3.2.2, chokidar@^3.3.1: +>>>>>>> bb1ab34... Add auth package. version "3.4.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== @@ -5184,11 +5600,6 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -5224,10 +5635,10 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= +cli-boxes@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" + integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== cli-boxes@^2.2.0: version "2.2.0" @@ -5732,7 +6143,11 @@ core-js@3.6.4: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw== +<<<<<<< HEAD core-js@^3.0.1, core-js@^3.2.0, core-js@^3.2.1, core-js@^3.6.4: +======= +core-js@^3.0.1, core-js@^3.2.1, core-js@^3.6.4: +>>>>>>> bb1ab34... Add auth package. version "3.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== @@ -5786,6 +6201,7 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" +<<<<<<< HEAD create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" @@ -5794,6 +6210,9 @@ create-error-class@^3.0.0: capture-stack-trace "^1.0.0" create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: +======= +create-hash@^1.1.0, create-hash@^1.1.2: +>>>>>>> bb1ab34... Add auth package. version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -5851,6 +6270,7 @@ cross-spawn@7.0.1: shebang-command "^2.0.0" which "^2.0.1" +<<<<<<< HEAD cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -5860,6 +6280,8 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" +======= +>>>>>>> bb1ab34... Add auth package. cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6" @@ -5886,11 +6308,6 @@ crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -6023,9 +6440,15 @@ date-fns@^1.27.2: integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== date-fns@^2.0.1: +<<<<<<< HEAD version "2.14.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.14.0.tgz#359a87a265bb34ef2e38f93ecf63ac453f9bc7ba" integrity sha512-1zD+68jhFgDIM0rF05rcwYO8cExdNqxjq4xP1QKM60Q45mnO6zaMWB4tOzrIr4M4GSLntsKeE4c9Bdl2jhL/yw== +======= + version "2.12.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.12.0.tgz#01754c8a2f3368fc1119cf4625c3dad8c1845ee6" + integrity sha512-qJgn99xxKnFgB1qL4jpxU7Q2t0LOn1p8KMIveef3UZD7kqjT3tpFNNdXJelEHhE+rUgffriXriw/sOSU+cS1Hw== +>>>>>>> bb1ab34... Add auth package. dateformat@^3.0.0: version "3.0.3" @@ -6389,11 +6812,14 @@ diff-sequences@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== +<<<<<<< HEAD diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +======= +>>>>>>> bb1ab34... Add auth package. diffie-hellman@^5.0.0: version "5.0.3" @@ -6668,10 +7094,22 @@ ejs@^2.6.1: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== +<<<<<<< HEAD electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.413: version "1.3.451" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz#0c075af3e2f06d706670bde0279432802ca8c83f" integrity sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A== +======= +electron-to-chromium@^1.3.247: + version "1.3.423" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.423.tgz#1dcc9e54d642dd9b354c6609848abf8ba7b2570f" + integrity sha512-jXdnLcawJ/EMdN+j77TC3YyeAWiIjo1U63DFCKrjtLv4cu8ToyoF4HYXtFvkVVHhEtIl7lU1uDd307Xj1/YDjw== + +electron-to-chromium@^1.3.413: + version "1.3.427" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.427.tgz#ea43d02908a8c71f47ebb46e09de5a3cf8236f04" + integrity sha512-/rG5G7Opcw68/Yrb4qYkz07h3bESVRJjUl4X/FrKLXzoUJleKm6D7K7rTTz8V5LUWnd+BbTOyxJX2XprRqHD8A== +>>>>>>> bb1ab34... Add auth package. elegant-spinner@^1.0.1: version "1.0.1" @@ -6785,11 +7223,14 @@ env-paths@2.2.0, env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== +<<<<<<< HEAD env-variable@0.0.x: version "0.0.6" resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.6.tgz#74ab20b3786c545b62b4a4813ab8cf22726c9808" integrity sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg== +======= +>>>>>>> bb1ab34... Add auth package. envinfo@^7.3.1, envinfo@^7.5.1: version "7.5.1" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.1.tgz#93c26897225a00457c75e734d354ea9106a72236" @@ -6977,7 +7418,11 @@ eslint-plugin-jsx-a11y@^6.2.3: has "^1.0.3" jsx-ast-utils "^2.2.1" +<<<<<<< HEAD eslint-plugin-prettier@^3.1.3: +======= +eslint-plugin-prettier@^3.1.2: +>>>>>>> bb1ab34... Add auth package. version "3.1.3" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz#ae116a0fc0e598fdae48743a4430903de5b4e6ca" integrity sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ== @@ -7199,19 +7644,6 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -7382,6 +7814,7 @@ extract-files@^8.0.0: resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-8.1.0.tgz#46a0690d0fe77411a2e3804852adeaa65cd59288" integrity sha512-PTGtfthZK79WUMk+avLmwx3NGdU8+iVFXC2NMGxKsn0MnihOG2lvumj+AZo8CTwTrwjXDgZ5tztbRlEdRjBonQ== +<<<<<<< HEAD extract-github@0.0.x: version "0.0.5" resolved "https://registry.yarnpkg.com/extract-github/-/extract-github-0.0.5.tgz#f542536db8c19b983a3bec9db96d2ef2a5ff1a86" @@ -7397,6 +7830,8 @@ extract-zip@^1.6.7: mkdirp "^0.5.4" yauzl "^2.10.0" +======= +>>>>>>> bb1ab34... Add auth package. extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -7471,9 +7906,15 @@ fast-write-atomic@0.2.1: integrity sha512-WvJe06IfNYlr+6cO3uQkdKdy3Cb1LlCJSF8zRs2eT8yuhdbSlR9nIt+TgQ92RUxiRrQm+/S7RARnMfCs5iuAjw== fastq@^1.6.0: +<<<<<<< HEAD version "1.8.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== +======= + version "1.7.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.7.0.tgz#fcd79a08c5bd7ec5b55cd3f5c4720db551929801" + integrity sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ== +>>>>>>> bb1ab34... Add auth package. dependencies: reusify "^1.0.4" @@ -7844,9 +8285,15 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: +<<<<<<< HEAD version "1.2.13" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== +======= + version "1.2.12" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.12.tgz#db7e0d8ec3b0b45724fd4d83d43554a8f1f0de5c" + integrity sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q== +>>>>>>> bb1ab34... Add auth package. dependencies: bindings "^1.5.0" nan "^2.12.1" @@ -7855,6 +8302,7 @@ fsevents@^2.1.2, fsevents@~2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +<<<<<<< HEAD ftp@~0.3.10: version "0.3.10" @@ -7863,6 +8311,8 @@ ftp@~0.3.10: dependencies: readable-stream "1.1.x" xregexp "2.0.0" +======= +>>>>>>> bb1ab34... Add auth package. function-bind@^1.1.1: version "1.1.1" @@ -7965,11 +8415,6 @@ get-stream@^2.2.0: object-assign "^4.0.1" pinkie-promise "^2.0.0" -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -8109,12 +8554,12 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= +global-dirs@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" + integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A== dependencies: - ini "^1.3.4" + ini "^1.3.5" global-dirs@^2.0.1: version "2.0.1" @@ -8247,22 +8692,22 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= +got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: - create-error-class "^3.0.0" + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" <<<<<<< HEAD got@^9.6.0: @@ -8292,22 +8737,29 @@ gotrue-js@^0.9.25: micro-api-client "^3.2.1" <<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> bb1ab34... Add auth package. graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +<<<<<<< HEAD ======= graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== >>>>>>> 73720a6... Add a way to extract the user from the headers. +======= +>>>>>>> bb1ab34... Add auth package. "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= +<<<<<<< HEAD graphql-extensions@^0.12.1-alpha.0: version "0.12.1-alpha.0" resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.12.1-alpha.0.tgz#ee6017440e55b6b84bcf2cef746c0df19886e48e" @@ -8316,6 +8768,16 @@ graphql-extensions@^0.12.1-alpha.0: "@apollographql/apollo-tools" "^0.4.3" apollo-server-env "^2.4.4-alpha.0" apollo-server-types "^0.4.1-alpha.0" +======= +graphql-extensions@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.11.1.tgz#f543f544a047a7a4dd930123f662dfcc01527416" + integrity sha512-1bstq6YKaC579PTw9gchw2VlXqjPo3vn8NjRMaUqF2SxyYTjVSgXaCAbaeNa0B7xlLVigxi3DV1zh4A+ss+Lwg== + dependencies: + "@apollographql/apollo-tools" "^0.4.3" + apollo-server-env "^2.4.3" + apollo-server-types "^0.3.1" +>>>>>>> bb1ab34... Add auth package. graphql-iso-date@^3.6.1: version "3.6.1" @@ -8398,7 +8860,11 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== +<<<<<<< HEAD handlebars@^4.7.6: +======= +handlebars@^4.4.0: +>>>>>>> bb1ab34... Add auth package. version "4.7.6" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== @@ -8571,7 +9037,11 @@ html-encoding-sniffer@^1.0.2: dependencies: whatwg-encoding "^1.0.1" +<<<<<<< HEAD html-entities@^1.3.1: +======= +html-entities@^1.2.1: +>>>>>>> bb1ab34... Add auth package. version "1.3.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== @@ -8582,9 +9052,15 @@ html-escaper@^2.0.0: integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-minifier-terser@^5.0.1: +<<<<<<< HEAD version "5.1.1" resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== +======= + version "5.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#95d3df037f04835e9d1a09d1767c0e361a7de916" + integrity sha512-tiYE76O1zunboByeB/nFGwUEb263Z3nkNv6Lz2oLC1s6M36bLKfTrjQ+7ssVfaucVllE+N7hh/FbpbxvnIA+LQ== +>>>>>>> bb1ab34... Add auth package. dependencies: camel-case "^4.1.1" clean-css "^4.2.3" @@ -9112,13 +9588,6 @@ is-callable@^1.1.4, is-callable@^1.1.5: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -9231,13 +9700,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= +is-installed-globally@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" + integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" + global-dirs "^2.0.1" + is-path-inside "^3.0.1" is-installed-globally@^0.3.1: version "0.3.2" @@ -9257,10 +9726,10 @@ is-natural-number@^4.0.1: resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= +is-npm@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" + integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== is-npm@^4.0.0: version "4.0.0" @@ -9308,13 +9777,6 @@ is-path-in-cwd@^2.0.0: dependencies: is-path-inside "^2.1.0" -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - is-path-inside@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" @@ -9350,11 +9812,14 @@ is-promise@^2.1.0: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== +<<<<<<< HEAD is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= +======= +>>>>>>> bb1ab34... Add auth package. is-reference@^1.1.2: version "1.1.4" @@ -9370,11 +9835,6 @@ is-regex@^1.0.4, is-regex@^1.0.5: dependencies: has "^1.0.3" -is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - is-root@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" @@ -9387,7 +9847,7 @@ is-ssh@^1.3.0: dependencies: protocols "^1.1.0" -is-stream@^1.0.0, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -9447,11 +9907,14 @@ is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== +<<<<<<< HEAD isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= +======= +>>>>>>> bb1ab34... Add auth package. isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" @@ -10072,6 +10535,7 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: array-includes "^3.0.3" object.assign "^4.1.0" +<<<<<<< HEAD jszip@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.3.0.tgz#29d72c21a54990fa885b11fc843db320640d5271" @@ -10122,6 +10586,8 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" +======= +>>>>>>> bb1ab34... Add auth package. keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -10163,6 +10629,7 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +<<<<<<< HEAD kuler@0.0.x: version "0.0.0" resolved "https://registry.yarnpkg.com/kuler/-/kuler-0.0.0.tgz#b66bb46b934e550f59d818848e0abba4f7f5553c" @@ -10174,8 +10641,14 @@ latest-version@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= +======= +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== +>>>>>>> bb1ab34... Add auth package. dependencies: - package-json "^4.0.0" + package-json "^6.3.0" latest-version@^5.0.0: version "5.1.0" @@ -10603,7 +11076,11 @@ logical-not@^1.0.0: resolved "https://registry.yarnpkg.com/logical-not/-/logical-not-1.0.0.tgz#3149848c0cce1fea1f76a0e45725c7bcdb33a627" integrity sha512-l3X5Sf25wwZkprKfrfJ2YjCcxkNnitMvuqoVPAFNz1xpAMG7B4CkdELK19hafcR8K9fcUs0K0LkzZ62U+xdHpA== +<<<<<<< HEAD loglevel@^1.6.7, loglevel@^1.6.8: +======= +loglevel@^1.6.6, loglevel@^1.6.7: +>>>>>>> bb1ab34... Add auth package. version "1.6.8" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== @@ -10651,6 +11128,7 @@ lowercase-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +<<<<<<< HEAD lru-cache@^4.0.0, lru-cache@^4.0.1: version "4.1.5" @@ -10659,6 +11137,8 @@ lru-cache@^4.0.0, lru-cache@^4.0.1: dependencies: pseudomap "^1.0.2" yallist "^2.1.2" +======= +>>>>>>> bb1ab34... Add auth package. lru-cache@^5.0.0, lru-cache@^5.1.1: version "5.1.1" @@ -11004,11 +11484,14 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" +<<<<<<< HEAD millisecond@0.1.x: version "0.1.2" resolved "https://registry.yarnpkg.com/millisecond/-/millisecond-0.1.2.tgz#6cc5ad386241cab8e78aff964f87028eec92dac5" integrity sha1-bMWtOGJByrjniv+WT4cCjuyS2sU= +======= +>>>>>>> bb1ab34... Add auth package. mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": version "1.44.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" @@ -11166,7 +11649,11 @@ mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +<<<<<<< HEAD mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@~0.5.1: +======= +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: +>>>>>>> bb1ab34... Add auth package. version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -11459,6 +11946,7 @@ node-notifier@^6.0.0: which "^1.3.1" node-releases@^1.1.29, node-releases@^1.1.53: +<<<<<<< HEAD version "1.1.56" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.56.tgz#bc054a417d316e3adac90eafb7e1932802f28705" integrity sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw== @@ -11467,6 +11955,16 @@ nodemon@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.4.tgz#55b09319eb488d6394aa9818148c0c2d1c04c416" integrity sha512-Ltced+hIfTmaS28Zjv1BM552oQ3dbwPqI4+zI0SLgq+wpJhSyqgYude/aZa/3i31VCQWMfXJVxvu86abcam3uQ== +======= + version "1.1.53" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" + integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== + +nodemon@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.3.tgz#e9c64df8740ceaef1cb00e1f3da57c0a93ef3714" + integrity sha512-lLQLPS90Lqwc99IHe0U94rDgvjo+G9I4uEIxRG3evSLROcqQ9hwc0AxlSHKS4T1JW/IMj/7N5mthiN58NL/5kw== +>>>>>>> bb1ab34... Add auth package. dependencies: chokidar "^3.2.2" debug "^3.2.6" @@ -12050,6 +12548,7 @@ p-waterfall@^1.0.0: dependencies: p-reduce "^1.0.0" +<<<<<<< HEAD pac-proxy-agent@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad" @@ -12079,11 +12578,17 @@ package-json@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= +======= +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== +>>>>>>> bb1ab34... Add auth package. dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" package-json@^6.3.0: version "6.5.0" @@ -12249,7 +12754,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= @@ -12407,7 +12912,11 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== +<<<<<<< HEAD portfinder@^1.0.26: +======= +portfinder@^1.0.25: +>>>>>>> bb1ab34... Add auth package. version "1.0.26" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== @@ -12469,9 +12978,15 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.3: integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: +<<<<<<< HEAD version "7.0.30" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.30.tgz#cc9378beffe46a02cbc4506a0477d05fcea9a8e2" integrity sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ== +======= + version "7.0.28" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.28.tgz#d349ced7743475717ba91f6810efb58c51fb5dbb" + integrity sha512-YU6nVhyWIsVtlNlnAj1fHTsUKW5qxm3KEgzq2Jj6KTEFOTK8QWR12eIDvrlWhiSTK8WIBFTBhOJV4DY6dUuEbw== +>>>>>>> bb1ab34... Add auth package. dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -12489,7 +13004,7 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prepend-http@^1.0.0, prepend-http@^1.0.1: +prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= @@ -12506,12 +13021,16 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" +<<<<<<< HEAD prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== prettier@^2.0.1, prettier@^2.0.2, prettier@^2.0.5: +======= +prettier@^2.0.1, prettier@^2.0.2: +>>>>>>> bb1ab34... Add auth package. version "2.0.5" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== @@ -12577,6 +13096,7 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" +<<<<<<< HEAD "promise@>=3.2 <8": version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" @@ -12585,6 +13105,9 @@ promise-retry@^1.1.1: asap "~2.0.3" prompts@^2.0.1, prompts@^2.3.0: +======= +prompts@^2.0.1: +>>>>>>> bb1ab34... Add auth package. version "2.3.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== @@ -12637,6 +13160,7 @@ proxy-addr@~2.0.5: dependencies: forwarded "~0.1.2" ipaddr.js "1.9.1" +<<<<<<< HEAD proxy-agent@^3.1.1: version "3.1.1" @@ -12656,17 +13180,22 @@ proxy-from-env@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +======= +>>>>>>> bb1ab34... Add auth package. prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= +<<<<<<< HEAD pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= +======= +>>>>>>> bb1ab34... Add auth package. psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -12824,6 +13353,7 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" +<<<<<<< HEAD raw-body@^2.2.0: version "2.4.1" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" @@ -12835,6 +13365,9 @@ raw-body@^2.2.0: unpipe "1.0.0" rc@^1.0.1, rc@^1.1.6, rc@^1.2.8: +======= +rc@^1.2.8: +>>>>>>> bb1ab34... Add auth package. version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -12891,14 +13424,21 @@ react-error-overlay@^6.0.1, react-error-overlay@^6.0.3: integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA== react-hook-form@^5.1.3: +<<<<<<< HEAD version "5.7.2" resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-5.7.2.tgz#a84e259e5d37dd30949af4f79c4dac31101b79ac" integrity sha512-bJvY348vayIvEUmSK7Fvea/NgqbT2racA2IbnJz/aPlQ3GBtaTeDITH6rtCa6y++obZzG6E3Q8VuoXPir7QYUg== +======= + version "5.6.1" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-5.6.1.tgz#8b6017ec01731bde4f6a6bcd94955ff5e69e28cc" + integrity sha512-pqlAiWyZqngdEVUinxPSmhs9k2L/ETsTf8LU7wfwrE1bXJnslRsb4aKlYiL2z0bgGrCuksN8el5bxFbnR1/qEA== +>>>>>>> bb1ab34... Add auth package. react-is@^16.12.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +<<<<<<< HEAD react-native-webview@^8.1.2: version "8.2.1" @@ -12908,6 +13448,8 @@ react-native-webview@^8.1.2: escape-string-regexp "2.0.0" invariant "2.2.4" rnpm-plugin-windows "^0.5.1-0" +======= +>>>>>>> bb1ab34... Add auth package. react@^16.13.1: version "16.13.1" @@ -13045,6 +13587,7 @@ read@1, read@~1.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" +<<<<<<< HEAD readable-stream@1.1.x: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" @@ -13055,6 +13598,8 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" +======= +>>>>>>> bb1ab34... Add auth package. "readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" @@ -13189,14 +13734,14 @@ regexpu-core@^4.7.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.2.0" -registry-auth-token@^3.0.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== +registry-auth-token@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" + integrity sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA== dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" + rc "^1.2.8" +<<<<<<< HEAD registry-auth-token@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" @@ -13208,8 +13753,14 @@ registry-url@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= +======= +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== +>>>>>>> bb1ab34... Add auth package. dependencies: - rc "^1.0.1" + rc "^1.2.8" registry-url@^5.0.0: version "5.1.0" @@ -13642,13 +14193,14 @@ selfsigned@^1.10.7: dependencies: node-forge "0.9.0" -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== dependencies: - semver "^5.0.3" + semver "^6.3.0" +<<<<<<< HEAD semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" @@ -13657,6 +14209,9 @@ semver-diff@^3.1.1: semver "^6.3.0" "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: +======= +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: +>>>>>>> bb1ab34... Add auth package. version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -14252,7 +14807,11 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" +<<<<<<< HEAD source-map-support@^0.5.11, source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@^0.5.6, source-map-support@^0.5.7, source-map-support@~0.5.12: +======= +source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: +>>>>>>> bb1ab34... Add auth package. version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -14328,7 +14887,11 @@ spdy-transport@^3.0.0: readable-stream "^3.0.6" wbuf "^1.7.3" +<<<<<<< HEAD spdy@^4.0.2: +======= +spdy@^4.0.1: +>>>>>>> bb1ab34... Add auth package. version "4.0.2" resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== @@ -14685,9 +15248,15 @@ subscriptions-transport-ws@^0.9.11: ws "^5.2.0" sucrase@^3.10.1: +<<<<<<< HEAD version "3.15.0" resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.15.0.tgz#78596a78be7264a65b52ed8d873883413ef0220c" integrity sha512-05TJOUfMgckH7wKqfk/1p4G6q16nIeW/GHQwD44vkT0mQMqqzgfHCwkX3whNmwyOo7nVF0jDLwVu/qOBTtsscw== +======= + version "3.13.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.13.0.tgz#68eb000dea32dd2ec84b91de97c76dcb83a1a2ff" + integrity sha512-koXmWc8Iq8q7quNJ9v/TuDIRBeGul1D+QL36PnfzFvYFoQbWcYpSmpJElpSM+eCa0nFthyQqgCGrEKAepnFMtQ== +>>>>>>> bb1ab34... Add auth package. dependencies: commander "^4.0.0" glob "7.1.6" @@ -14867,12 +15436,10 @@ tempy@^0.5.0: type-fest "^0.12.0" unique-string "^2.0.0" -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= - dependencies: - execa "^0.7.0" +term-size@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" + integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw== term-size@^2.1.0: version "2.2.0" @@ -14903,9 +15470,15 @@ terser-webpack-plugin@^1.4.3: worker-farm "^1.7.0" terser@^4.1.2, terser@^4.6.3: +<<<<<<< HEAD version "4.7.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.7.0.tgz#15852cf1a08e3256a80428e865a2fa893ffba006" integrity sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw== +======= + version "4.6.13" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.13.tgz#e879a7364a5e0db52ba4891ecde007422c56a916" + integrity sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw== +>>>>>>> bb1ab34... Add auth package. dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -14991,11 +15564,6 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - timers-browserify@^2.0.4: version "2.0.11" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" @@ -15169,6 +15737,7 @@ ts-invariant@^0.4.0, ts-invariant@^0.4.4: dependencies: tslib "^1.9.3" +<<<<<<< HEAD tslib@1.11.1: version "1.11.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" @@ -15178,6 +15747,12 @@ tslib@^1, tslib@^1.10.0, tslib@^1.11.1, tslib@^1.11.2, tslib@^1.8.1, tslib@^1.9. version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +======= +tslib@1.11.1, tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.11.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== +>>>>>>> bb1ab34... Add auth package. tsutils@^3.17.1: version "3.17.1" @@ -15271,9 +15846,15 @@ typescript@3.8.3, typescript@^3.8.3: integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== uglify-js@^3.1.4: +<<<<<<< HEAD version "3.9.3" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.9.3.tgz#4a285d1658b8a2ebaef9e51366b3a0f7acd79ec2" integrity sha512-r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA== +======= + version "3.9.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.9.2.tgz#012b74fb6a2e440d9ba1f79110a479d3b1f2d48d" + integrity sha512-zGVwKslUAD/EeqOrD1nQaBmXIHl1Vw371we8cvS8I6mYK9rmgX5tv8AAeJdfsQ3Kk5mGax2SVV/AizxdNGhl7Q== +>>>>>>> bb1ab34... Add auth package. dependencies: commander "~2.20.3" @@ -15302,12 +15883,15 @@ undefsafe@^2.0.2: dependencies: debug "^2.2.0" +<<<<<<< HEAD undici@mcollina/undici: version "0.5.0" resolved "https://codeload.github.com/mcollina/undici/tar.gz/6c3d7eed592cab9c4b63d56164ecd3cc9358945a" dependencies: http-parser-js "^0.5.2" +======= +>>>>>>> bb1ab34... Add auth package. unfetch@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db" @@ -15365,13 +15949,6 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= - dependencies: - crypto-random-string "^1.0.0" - unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -15418,11 +15995,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - upath@^1.1.1, upath@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -15468,12 +16040,12 @@ url-loader@4.0.0: mime-types "^2.1.26" schema-utils "^2.6.5" -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= dependencies: - prepend-http "^1.0.1" + prepend-http "^2.0.0" url-parse-lax@^3.0.0: version "3.0.0" @@ -15583,9 +16155,15 @@ v8-compile-cache@^2.0.3: integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== v8-to-istanbul@^4.1.3: +<<<<<<< HEAD version "4.1.4" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== +======= + version "4.1.3" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz#22fe35709a64955f49a08a7c7c959f6520ad6f20" + integrity sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng== +>>>>>>> bb1ab34... Add auth package. dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" @@ -15665,6 +16243,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" +<<<<<<< HEAD watchpack-chokidar2@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" @@ -15677,6 +16256,14 @@ watchpack@^1.6.1: resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== dependencies: +======= +watchpack@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2" + integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA== + dependencies: + chokidar "^2.1.8" +>>>>>>> bb1ab34... Add auth package. graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: @@ -15708,9 +16295,15 @@ webidl-conversions@^5.0.0: integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== webpack-bundle-analyzer@^3.6.1: +<<<<<<< HEAD version "3.8.0" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16" integrity sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw== +======= + version "3.7.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.7.0.tgz#84da434e89442899b884d9ad38e466d0db02a56f" + integrity sha512-mETdjZ30a3Yf+NTB/wqTgACK7rAYQl5uxKK0WVTNmF0sM3Uv8s3R58YZMW7Rhu0Lk2Rmuhdj5dcH5Q76zCDVdA== +>>>>>>> bb1ab34... Add auth package. dependencies: acorn "^7.1.1" acorn-walk "^7.1.1" @@ -15927,12 +16520,12 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== dependencies: - string-width "^2.1.1" + string-width "^4.0.0" widest-line@^3.1.0: version "3.1.0" @@ -16099,14 +16692,20 @@ ws@^6.0.0, ws@^6.2.1: async-limiter "~1.0.0" ws@^7.0.0: +<<<<<<< HEAD version "7.3.0" resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd" integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w== +======= + version "7.2.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz#abb1370d4626a5a9cd79d8de404aa18b3465d10d" + integrity sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA== +>>>>>>> bb1ab34... Add auth package. -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== xdg-basedir@^4.0.0: version "4.0.0" @@ -16183,11 +16782,14 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +<<<<<<< HEAD yallist@^2.0.0, yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= +======= +>>>>>>> bb1ab34... Add auth package. yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -16199,9 +16801,17 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.7.2: +<<<<<<< HEAD version "1.10.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== +======= + version "1.9.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.9.2.tgz#f0cfa865f003ab707663e4f04b3956957ea564ed" + integrity sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg== + dependencies: + "@babel/runtime" "^7.9.2" +>>>>>>> bb1ab34... Add auth package. yargs-parser@^10.0.0: version "10.1.0" @@ -16210,6 +16820,17 @@ yargs-parser@^10.0.0: dependencies: camelcase "^4.1.0" +<<<<<<< HEAD +======= +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +>>>>>>> bb1ab34... Add auth package. yargs-parser@^13.1.0, yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -16226,7 +16847,11 @@ yargs-parser@^15.0.1: camelcase "^5.0.0" decamelize "^1.2.0" +<<<<<<< HEAD yargs-parser@^18.1.1, yargs-parser@^18.1.3: +======= +yargs-parser@^18.1.1: +>>>>>>> bb1ab34... Add auth package. version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -16251,7 +16876,11 @@ yargs@13.2.4: y18n "^4.0.0" yargs-parser "^13.1.0" +<<<<<<< HEAD yargs@^13.3.0, yargs@^13.3.2: +======= +yargs@^13.3.0: +>>>>>>> bb1ab34... Add auth package. version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== From c313d610047fe33a2ad8973ac2a120e6ded2155f Mon Sep 17 00:00:00 2001 From: Peter Pistorius Date: Sun, 3 May 2020 18:06:46 +0200 Subject: [PATCH 03/25] Make auth package compile with TypeScript. --- packages/auth/package.json | 6 ++++++ yarn.lock | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/auth/package.json b/packages/auth/package.json index 6a3326ed0281..bbc17e6b5477 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -8,12 +8,18 @@ "types": "dist/index.d.ts", "license": "MIT", "devDependencies": { + "react": "^16.13.1", "@auth0/auth0-spa-js": "^1.7.0", +<<<<<<< HEAD "@types/react": "16.9.35", "gotrue-js": "^0.9.25", "magic-sdk": "^1.3.5", "netlify-identity-widget": "1.6.0", "react": "^16.13.1" +======= + "@types/react": "^16.9.34", + "gotrue-js": "^0.9.25" +>>>>>>> 4e101f7... Make auth package compile with TypeScript. }, "scripts": { "build": "yarn build:js && yarn build:types", diff --git a/yarn.lock b/yarn.lock index a111de7c97ed..edff10608243 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3323,7 +3323,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@16.9.34": +"@types/react@*", "@types/react@16.9.34", "@types/react@^16.9.34": version "16.9.34" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.34.tgz#f7d5e331c468f53affed17a8a4d488cd44ea9349" integrity sha512-8AJlYMOfPe1KGLKyHpflCg5z46n0b5DbRfqDksxBLBTUpB75ypDBAO9eCUcjNwE6LCUslwTz00yyG/X9gaVtow== From edc33bf083cd18d360b40b78d545e9dd7a77eee1 Mon Sep 17 00:00:00 2001 From: Brett Jackson Date: Sat, 16 May 2020 15:44:53 -0500 Subject: [PATCH 04/25] Add IP address to the Lambda event's requestContext --- packages/dev-server/src/main.ts | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/packages/dev-server/src/main.ts b/packages/dev-server/src/main.ts index 317111c74ee3..1d885e8c41f5 100644 --- a/packages/dev-server/src/main.ts +++ b/packages/dev-server/src/main.ts @@ -21,9 +21,32 @@ export const getArgsForSide = ( const paths = getPaths() return { - port, - host, - paths: paths[side], + httpMethod: request.method, + headers: request.headers, + path: request.path, + queryStringParameters: qs.parse(request.url.split(/\?(.+)/)[1]), + requestContext: { + identity: { + sourceIp: request.ip, + }, + }, + ...parseBody(request.body), // adds `body` and `isBase64Encoded` + } as APIGatewayProxyEvent +} + +const expressResponseForLambdaResult = ( + expressResFn: Response, + lambdaResult: APIGatewayProxyResult +) => { + // The response object must be compatible with JSON.stringify according + // to the aws lambda docs, but the type definition specifies that it has + // to be a string. Let's double check this. + const { statusCode = 200, headers, body = '' } = lambdaResult + if (headers) { + Object.keys(headers).forEach((headerName) => { + const headerValue: any = headers[headerName] + expressResFn.setHeader(headerName, headerValue) + }) } } From eb56ea6f52c08d89d6d61c8933058e1467d9a0de Mon Sep 17 00:00:00 2001 From: Justin Reidy Date: Tue, 5 May 2020 14:04:49 -0400 Subject: [PATCH 05/25] enable typescript services and sdl --- packages/cli/src/commands/generate/sdl/sdl.js | 14 ++++---- .../generate/sdl/templates/sdl.ts.template | 28 +++++++++++++++ .../src/commands/generate/service/service.js | 9 +++-- .../service/templates/service.ts.template | 34 +++++++++++++++++++ .../service/templates/test.ts.template | 7 ++++ 5 files changed, 83 insertions(+), 9 deletions(-) create mode 100644 packages/cli/src/commands/generate/sdl/templates/sdl.ts.template create mode 100644 packages/cli/src/commands/generate/service/templates/service.ts.template create mode 100644 packages/cli/src/commands/generate/service/templates/test.ts.template diff --git a/packages/cli/src/commands/generate/sdl/sdl.js b/packages/cli/src/commands/generate/sdl/sdl.js index a47ab538dfea..37bac5612896 100644 --- a/packages/cli/src/commands/generate/sdl/sdl.js +++ b/packages/cli/src/commands/generate/sdl/sdl.js @@ -105,7 +105,7 @@ const sdlFromSchemaModel = async (name) => { } } -export const files = async ({ name, crud }) => { +export const files = async ({ name, crud, typescript }) => { const { query, createInput, @@ -115,8 +115,9 @@ export const files = async ({ name, crud }) => { enums, } = await sdlFromSchemaModel(pascalcase(pluralize.singular(name))) + const extension = typescript ? 'ts' : 'js' const template = generateTemplate( - path.join('sdl', 'templates', 'sdl.js.template'), + path.join('sdl', 'templates', `sdl.${extension}.template`), { name, crud, @@ -130,11 +131,11 @@ export const files = async ({ name, crud }) => { const outputPath = path.join( getPaths().api.graphql, - `${camelcase(pluralize(name))}.sdl.js` + `${camelcase(pluralize(name))}.sdl.${extension}` ) return { [outputPath]: template, - ...(await serviceFiles({ name, crud, relations })), + ...(await serviceFiles({ name, crud, relations, typescript })), } } @@ -144,15 +145,16 @@ export const builder = { services: { type: 'boolean', default: true }, crud: { type: 'boolean', default: false }, force: { type: 'boolean', default: false }, + typescript: { type: 'boolean', default: false }, } // TODO: Add --dry-run command -export const handler = async ({ model, crud, force }) => { +export const handler = async ({ model, crud, force, typescript }) => { const tasks = new Listr( [ { title: 'Generating SDL files...', task: async () => { - const f = await files({ name: model, crud }) + const f = await files({ name: model, crud, typescript }) return writeFilesTask(f, { overwriteExisting: force }) }, }, diff --git a/packages/cli/src/commands/generate/sdl/templates/sdl.ts.template b/packages/cli/src/commands/generate/sdl/templates/sdl.ts.template new file mode 100644 index 000000000000..a417a5206332 --- /dev/null +++ b/packages/cli/src/commands/generate/sdl/templates/sdl.ts.template @@ -0,0 +1,28 @@ +export const schema = gql` + type ${singularPascalName} { + ${query} + } +<% if (enums.length > 0) {%> +<% enums.forEach((enumDef, idx)=> {%> enum ${enums[idx].name} {<% enums[idx].values.forEach((enumDefValue, idk)=> { %> + ${enums[idx].values[idk].name}<% }) %> + } +<%}) %><% } %> + type Query { + ${pluralCamelName}: [${singularPascalName}!]!<% if (crud) { %> + ${singularCamelName}(id: ${idType}!): ${singularPascalName}!<% } %> + } + + input Create${singularPascalName}Input { + ${createInput} + } + + input Update${singularPascalName}Input { + ${updateInput} + }<% if (crud) { %> + + type Mutation { + create${singularPascalName}(input: Create${singularPascalName}Input!): ${singularPascalName}! + update${singularPascalName}(id: ${idType}!, input: Update${singularPascalName}Input!): ${singularPascalName}! + delete${singularPascalName}(id: ${idType}!): ${singularPascalName}! + }<% } %> +` diff --git a/packages/cli/src/commands/generate/service/service.js b/packages/cli/src/commands/generate/service/service.js index 945ace05df2b..e3d11a173ee0 100644 --- a/packages/cli/src/commands/generate/service/service.js +++ b/packages/cli/src/commands/generate/service/service.js @@ -8,21 +8,23 @@ import { export const files = async ({ name, relations, ...rest }) => { const componentName = camelcase(pluralize(name)) + const extension = rest.typescript ? 'ts' : 'js' const serviceFile = templateForComponentFile({ name, componentName: componentName, + extension: `.${extension}`, apiPathSection: 'services', generator: 'service', - templatePath: 'service.js.template', + templatePath: `service.${extension}.template`, templateVars: { relations: relations || [], ...rest }, }) const testFile = templateForComponentFile({ name, componentName: componentName, - extension: '.test.js', + extension: `.test.${extension}`, apiPathSection: 'services', generator: 'service', - templatePath: 'test.js.template', + templatePath: `test.${extension}.template`, templateVars: { relations: relations || [], ...rest }, }) @@ -42,6 +44,7 @@ export const files = async ({ name, relations, ...rest }) => { export const builder = { crud: { type: 'boolean', default: false, desc: 'Create CRUD functions' }, force: { type: 'boolean', default: false }, + typescript: { type: 'boolean', default: false }, } export const { command, desc, handler } = createYargsForComponentGeneration({ diff --git a/packages/cli/src/commands/generate/service/templates/service.ts.template b/packages/cli/src/commands/generate/service/templates/service.ts.template new file mode 100644 index 000000000000..0ad65cbd7a5e --- /dev/null +++ b/packages/cli/src/commands/generate/service/templates/service.ts.template @@ -0,0 +1,34 @@ +import { db } from 'src/lib/db' + +export const ${pluralCamelName} = () => { + return db.${singularCamelName}.findMany() +}<% if (crud) { %> + +export const ${singularCamelName} = ({ id }) => { + return db.${singularCamelName}.findOne({ + where: { id }, + }) +} + +export const create${singularPascalName} = ({ input }) => { + return db.${singularCamelName}.create({ + data: input, + }) +} + +export const update${singularPascalName} = ({ id, input }) => { + return db.${singularCamelName}.update({ + data: input, + where: { id }, + }) +} + +export const delete${singularPascalName} = ({ id }) => { + return db.${singularCamelName}.delete({ + where: { id }, + }) +}<% } %><% if (relations.length) { %> + +export const ${singularPascalName} = {<% relations.forEach(relation => { %> + ${relation}: (_obj, { root }) => db.${singularCamelName}.findOne({ where: { id: root.id } }).${relation}(),<% }) %> +}<% } %> diff --git a/packages/cli/src/commands/generate/service/templates/test.ts.template b/packages/cli/src/commands/generate/service/templates/test.ts.template new file mode 100644 index 000000000000..50cc4cc7e42c --- /dev/null +++ b/packages/cli/src/commands/generate/service/templates/test.ts.template @@ -0,0 +1,7 @@ +import { ${pluralCamelName} } from './${pluralCamelName}' + +describe('${pluralCamelName}', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) From 173dc6c8b539cd422cd326f3aed0eb3d16e41fdc Mon Sep 17 00:00:00 2001 From: Justin Reidy Date: Thu, 14 May 2020 12:39:24 -0400 Subject: [PATCH 06/25] update tests for sdl --- .../__tests__/fixtures/enumGeneratedSdl.ts | 33 ++++ .../sdl/__tests__/fixtures/multiWordSdl.ts | 24 +++ .../__tests__/fixtures/multiWordSdlCrud.ts | 31 ++++ .../sdl/__tests__/fixtures/singleWordSdl.ts | 27 ++++ .../__tests__/fixtures/singleWordSdlCrud.ts | 42 +++++ .../generate/sdl/__tests__/sdl.test.js | 153 ++++++++++++------ .../generate/sdl/templates/sdl.ts.template | 2 + 7 files changed, 262 insertions(+), 50 deletions(-) create mode 100644 packages/cli/src/commands/generate/sdl/__tests__/fixtures/enumGeneratedSdl.ts create mode 100644 packages/cli/src/commands/generate/sdl/__tests__/fixtures/multiWordSdl.ts create mode 100644 packages/cli/src/commands/generate/sdl/__tests__/fixtures/multiWordSdlCrud.ts create mode 100644 packages/cli/src/commands/generate/sdl/__tests__/fixtures/singleWordSdl.ts create mode 100644 packages/cli/src/commands/generate/sdl/__tests__/fixtures/singleWordSdlCrud.ts diff --git a/packages/cli/src/commands/generate/sdl/__tests__/fixtures/enumGeneratedSdl.ts b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/enumGeneratedSdl.ts new file mode 100644 index 000000000000..22cf0aa7d6ee --- /dev/null +++ b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/enumGeneratedSdl.ts @@ -0,0 +1,33 @@ +import gql from 'graphql-tag' + +export const schema = gql` + type Shoe { + id: Int! + color: Color! + } + + enum Color { + RED + GREEN + BLUE + } + + type Query { + shoes: [Shoe!]! + shoe(id: Int!): Shoe! + } + + input CreateShoeInput { + color: Color! + } + + input UpdateShoeInput { + color: Color + } + + type Mutation { + createShoe(input: CreateShoeInput!): Shoe! + updateShoe(id: Int!, input: UpdateShoeInput!): Shoe! + deleteShoe(id: Int!): Shoe! + } +` diff --git a/packages/cli/src/commands/generate/sdl/__tests__/fixtures/multiWordSdl.ts b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/multiWordSdl.ts new file mode 100644 index 000000000000..bd895becd864 --- /dev/null +++ b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/multiWordSdl.ts @@ -0,0 +1,24 @@ +import gql from 'graphql-tag' + +export const schema = gql` + type UserProfile { + id: Int! + username: String! + userId: Int! + user: User! + } + + type Query { + userProfiles: [UserProfile!]! + } + + input CreateUserProfileInput { + username: String! + userId: Int! + } + + input UpdateUserProfileInput { + username: String + userId: Int + } +` diff --git a/packages/cli/src/commands/generate/sdl/__tests__/fixtures/multiWordSdlCrud.ts b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/multiWordSdlCrud.ts new file mode 100644 index 000000000000..978dd3902eb1 --- /dev/null +++ b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/multiWordSdlCrud.ts @@ -0,0 +1,31 @@ +import gql from 'graphql-tag' + +export const schema = gql` + type UserProfile { + id: Int! + username: String! + userId: Int! + user: User! + } + + type Query { + userProfiles: [UserProfile!]! + userProfile(id: Int!): UserProfile! + } + + input CreateUserProfileInput { + username: String! + userId: Int! + } + + input UpdateUserProfileInput { + username: String + userId: Int + } + + type Mutation { + createUserProfile(input: CreateUserProfileInput!): UserProfile! + updateUserProfile(id: Int!, input: UpdateUserProfileInput!): UserProfile! + deleteUserProfile(id: Int!): UserProfile! + } +` diff --git a/packages/cli/src/commands/generate/sdl/__tests__/fixtures/singleWordSdl.ts b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/singleWordSdl.ts new file mode 100644 index 000000000000..70df6d89f9fe --- /dev/null +++ b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/singleWordSdl.ts @@ -0,0 +1,27 @@ +import gql from 'graphql-tag' + +export const schema = gql` + type User { + id: Int! + name: String + email: String! + isAdmin: Boolean! + profiles: UserProfile + } + + type Query { + users: [User!]! + } + + input CreateUserInput { + name: String + email: String! + isAdmin: Boolean! + } + + input UpdateUserInput { + name: String + email: String + isAdmin: Boolean + } +` diff --git a/packages/cli/src/commands/generate/sdl/__tests__/fixtures/singleWordSdlCrud.ts b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/singleWordSdlCrud.ts new file mode 100644 index 000000000000..03e2e78cb282 --- /dev/null +++ b/packages/cli/src/commands/generate/sdl/__tests__/fixtures/singleWordSdlCrud.ts @@ -0,0 +1,42 @@ +import gql from 'graphql-tag' + +export const schema = gql` + type Post { + id: Int! + title: String! + slug: String! + author: String! + body: String! + image: String + postedAt: DateTime + } + + type Query { + posts: [Post!]! + post(id: Int!): Post! + } + + input CreatePostInput { + title: String! + slug: String! + author: String! + body: String! + image: String + postedAt: DateTime + } + + input UpdatePostInput { + title: String + slug: String + author: String + body: String + image: String + postedAt: DateTime + } + + type Mutation { + createPost(input: CreatePostInput!): Post! + updatePost(id: Int!, input: UpdatePostInput!): Post! + deletePost(id: Int!): Post! + } +` diff --git a/packages/cli/src/commands/generate/sdl/__tests__/sdl.test.js b/packages/cli/src/commands/generate/sdl/__tests__/sdl.test.js index 783518f4c501..9f754c6e1bb2 100644 --- a/packages/cli/src/commands/generate/sdl/__tests__/sdl.test.js +++ b/packages/cli/src/commands/generate/sdl/__tests__/sdl.test.js @@ -8,62 +8,115 @@ afterEach(() => { jest.clearAllMocks() }) -test('returns exactly 3 files', async () => { - const files = await sdl.files({ name: 'Post', crud: false }) +const extensionForBaseArgs = (baseArgs) => + baseArgs && baseArgs.typescript ? 'ts' : 'js' - expect(Object.keys(files).length).toEqual(3) -}) +const itReturnsExactlyThreeFiles = (baseArgs = {}) => { + test('returns exactly 3 files', async () => { + const files = await sdl.files({ ...baseArgs, name: 'Post', crud: false }) + + expect(Object.keys(files).length).toEqual(3) + }) +} // in this case we'll trust that a service and test are actually created // with the correct filename, but the contents of that file should be the // job of the service tests -test('creates a service', async () => { - const files = await sdl.files({ name: 'User', crud: false }) - - expect(files).toHaveProperty([ - '/path/to/project/api/src/services/users/users.js', - ]) - expect(files).toHaveProperty([ - '/path/to/project/api/src/services/users/users.test.js', - ]) -}) - -test('creates a single word sdl file', async () => { - const files = await sdl.files({ name: 'User', crud: false }) - - expect(files['/path/to/project/api/src/graphql/users.sdl.js']).toEqual( - loadGeneratorFixture('sdl', 'singleWordSdl.js') - ) -}) - -test('creates a multi word sdl file', async () => { - const files = await sdl.files({ name: 'UserProfile', crud: false }) - - expect(files['/path/to/project/api/src/graphql/userProfiles.sdl.js']).toEqual( - loadGeneratorFixture('sdl', 'multiWordSdl.js') - ) -}) - -test('creates a single word sdl file with CRUD actions', async () => { - const files = await sdl.files({ name: 'Post', crud: true }) - - expect(files['/path/to/project/api/src/graphql/posts.sdl.js']).toEqual( - loadGeneratorFixture('sdl', 'singleWordSdlCrud.js') - ) -}) - -test('creates a multi word sdl file with CRUD actions', async () => { - const files = await sdl.files({ name: 'UserProfile', crud: true }) - - expect(files['/path/to/project/api/src/graphql/userProfiles.sdl.js']).toEqual( - loadGeneratorFixture('sdl', 'multiWordSdlCrud.js') - ) +const itCreatesAService = (baseArgs = {}) => { + test('creates a service', async () => { + const files = await sdl.files({ ...baseArgs, name: 'User', crud: false }) + const extension = extensionForBaseArgs(baseArgs) + + expect(files).toHaveProperty([ + `/path/to/project/api/src/services/users/users.${extension}`, + ]) + expect(files).toHaveProperty([ + `/path/to/project/api/src/services/users/users.test.${extension}`, + ]) + }) +} + +const itCreatesASingleWordSDLFile = (baseArgs = {}) => { + test('creates a single word sdl file', async () => { + const files = await sdl.files({ ...baseArgs, name: 'User', crud: false }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/graphql/users.sdl.${extension}`] + ).toEqual(loadGeneratorFixture('sdl', `singleWordSdl.${extension}`)) + }) +} + +const itCreatesAMultiWordSDLFile = (baseArgs = {}) => { + test('creates a multi word sdl file', async () => { + const files = await sdl.files({ + ...baseArgs, + name: 'UserProfile', + crud: false, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/graphql/userProfiles.sdl.${extension}`] + ).toEqual(loadGeneratorFixture('sdl', `multiWordSdl.${extension}`)) + }) +} + +const itCreatesASingleWordSDLFileWithCRUD = (baseArgs = {}) => { + test('creates a single word sdl file with CRUD actions', async () => { + const files = await sdl.files({ ...baseArgs, name: 'Post', crud: true }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/graphql/posts.sdl.${extension}`] + ).toEqual(loadGeneratorFixture('sdl', `singleWordSdlCrud.${extension}`)) + }) +} + +const itCreateAMultiWordSDLFileWithCRUD = (baseArgs = {}) => { + test('creates a multi word sdl file with CRUD actions', async () => { + const files = await sdl.files({ + ...baseArgs, + name: 'UserProfile', + crud: true, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/graphql/userProfiles.sdl.${extension}`] + ).toEqual(loadGeneratorFixture('sdl', `multiWordSdlCrud.${extension}`)) + }) +} + +const itCreatesASDLFileWithEnumDefinitions = (baseArgs = {}) => { + test('creates a sdl file with enum definitions', async () => { + const files = await sdl.files({ ...baseArgs, name: 'Shoe', crud: true }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/graphql/shoes.sdl.${extension}`] + ).toEqual(loadGeneratorFixture('sdl', `enumGeneratedSdl.${extension}`)) + }) +} + +describe('in javascript mode', () => { + itReturnsExactlyThreeFiles() + itCreatesAService() + itCreatesASingleWordSDLFile() + itCreatesAMultiWordSDLFile() + itCreatesASingleWordSDLFileWithCRUD() + itCreateAMultiWordSDLFileWithCRUD() + itCreatesASDLFileWithEnumDefinitions() }) -test('creates a sdl file with enum definitions', async () => { - const files = await sdl.files({ name: 'Shoe', crud: true }) +describe('in typescript mode', () => { + const baseArgs = { typescript: true } - expect(files['/path/to/project/api/src/graphql/shoes.sdl.js']).toEqual( - loadGeneratorFixture('sdl', 'enumGeneratedSdl.js') - ) + itReturnsExactlyThreeFiles(baseArgs) + itCreatesAService(baseArgs) + itCreatesASingleWordSDLFile(baseArgs) + itCreatesAMultiWordSDLFile(baseArgs) + itCreatesASingleWordSDLFileWithCRUD(baseArgs) + itCreateAMultiWordSDLFileWithCRUD(baseArgs) + itCreatesASDLFileWithEnumDefinitions(baseArgs) }) diff --git a/packages/cli/src/commands/generate/sdl/templates/sdl.ts.template b/packages/cli/src/commands/generate/sdl/templates/sdl.ts.template index a417a5206332..d06d47b031a2 100644 --- a/packages/cli/src/commands/generate/sdl/templates/sdl.ts.template +++ b/packages/cli/src/commands/generate/sdl/templates/sdl.ts.template @@ -1,3 +1,5 @@ +import gql from 'graphql-tag' + export const schema = gql` type ${singularPascalName} { ${query} From c6e8230a0491db2b0b9104c314b2f544dcb421cb Mon Sep 17 00:00:00 2001 From: Justin Reidy Date: Sat, 16 May 2020 07:27:03 -0400 Subject: [PATCH 07/25] add tests for service generation --- .../__tests__/fixtures/multiWord.test.ts | 7 + .../service/__tests__/fixtures/multiWord.ts | 5 + .../fixtures/multiWordService.test.ts | 7 + .../__tests__/fixtures/multiWordService.ts | 5 + .../fixtures/multiWordServiceCrud.test.ts | 7 + .../fixtures/multiWordServiceCrud.ts | 45 +++ .../__tests__/fixtures/multiWord_crud.test.ts | 7 + .../__tests__/fixtures/multiWord_crud.ts | 44 +++ .../__tests__/fixtures/singleWord.test.ts | 7 + .../service/__tests__/fixtures/singleWord.ts | 5 + .../fixtures/singleWordService.test.ts | 7 + .../__tests__/fixtures/singleWordService.ts | 5 + .../fixtures/singleWordServiceCrud.test.ts | 7 + .../fixtures/singleWordServiceCrud.ts | 44 +++ .../fixtures/singleWord_belongsTo.ts | 9 + .../fixtures/singleWord_crud.test.ts | 7 + .../__tests__/fixtures/singleWord_crud.ts | 44 +++ .../__tests__/fixtures/singleWord_hasMany.ts | 9 + .../__tests__/fixtures/singleWord_multiple.ts | 10 + .../service/__tests__/service.test.js | 351 +++++++++++------- .../service/templates/service.ts.template | 24 +- 21 files changed, 524 insertions(+), 132 deletions(-) create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts create mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.ts new file mode 100644 index 000000000000..0c1f26ab30ed --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.ts @@ -0,0 +1,7 @@ +import { userProfiles } from './userProfiles' + +describe('userProfiles', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.ts new file mode 100644 index 000000000000..2f54fb24b2c6 --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.ts @@ -0,0 +1,5 @@ +import { db } from 'src/lib/db' + +export const userProfiles = () => { + return db.userProfile.findMany() +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.ts new file mode 100644 index 000000000000..0c1f26ab30ed --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.ts @@ -0,0 +1,7 @@ +import { userProfiles } from './userProfiles' + +describe('userProfiles', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.ts new file mode 100644 index 000000000000..2f54fb24b2c6 --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.ts @@ -0,0 +1,5 @@ +import { db } from 'src/lib/db' + +export const userProfiles = () => { + return db.userProfile.findMany() +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.ts new file mode 100644 index 000000000000..0c1f26ab30ed --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.ts @@ -0,0 +1,7 @@ +import { userProfiles } from './userProfiles' + +describe('userProfiles', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.ts new file mode 100644 index 000000000000..57a2c078ae3d --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.ts @@ -0,0 +1,45 @@ +import { db } from 'src/lib/db' +import { + UserProfileWhereUniqueInput, + UserProfileCreateInput, + UserProfileUpdateInput, +} from '@prisma/client' + + +export const userProfiles = () => { + return db.userProfile.findMany() +} + +export const userProfile = ({ id }: UserProfileWhereUniqueInput) => { + return db.userProfile.findOne({ + where: { id }, + }) +} + +interface CreateUserProfileArgs { + input: UserProfileCreateInput +} + +export const createUserProfile = ({ input }: CreateUserProfileArgs) => { + return db.userProfile.create({ + data: input, + }) +} + +interface UpdateUserProfileArgs { + where: UserProfileWhereUniqueInput + input: UserProfileUpdateInput +} + +export const updateUserProfile = ({ id, input }: UpdateUserProfileArgs) => { + return db.userProfile.update({ + data: input, + where: { id }, + }) +} + +export const deleteUserProfile = ({ id }: UserProfileWhereUniqueInput) => { + return db.userProfile.delete({ + where: { id }, + }) +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.ts new file mode 100644 index 000000000000..0c1f26ab30ed --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.ts @@ -0,0 +1,7 @@ +import { userProfiles } from './userProfiles' + +describe('userProfiles', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.ts new file mode 100644 index 000000000000..d76defc6958a --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.ts @@ -0,0 +1,44 @@ +import { db } from 'src/lib/db' +import { + UserProfileWhereUniqueInput, + UserProfileCreateInput, + UserProfileUpdateInput, +} from '@prisma/client' + +export const userProfiles = () => { + return db.userProfile.findMany() +} + +export const userProfile = ({ id }: UserProfileWhereUniqueInput) => { + return db.userProfile.findOne({ + where: { id }, + }) +} + +interface CreateUserProfileArgs { + input: UserProfileCreateInput +} + +export const createUserProfile = ({ input }: CreateUserProfileArgs) => { + return db.userProfile.create({ + data: input, + }) +} + +interface UpdateUserProfileArgs { + where: UserProfileWhereUniqueInput + input: UserProfileUpdateInput +} + +export const updateUserProfile = ({ id, input }: UpdateUserProfileArgs) => { + return db.userProfile.update({ + data: input, + where: { id }, + }) +} + +export const deleteUserProfile = ({ id }: UserProfileWhereUniqueInput) => { + return db.userProfile.delete({ + where: { id }, + }) +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.ts new file mode 100644 index 000000000000..5a73412f0b9d --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.ts @@ -0,0 +1,7 @@ +import { users } from './users' + +describe('users', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.ts new file mode 100644 index 000000000000..b5bfed92100b --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.ts @@ -0,0 +1,5 @@ +import { db } from 'src/lib/db' + +export const users = () => { + return db.user.findMany() +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.ts new file mode 100644 index 000000000000..5a73412f0b9d --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.ts @@ -0,0 +1,7 @@ +import { users } from './users' + +describe('users', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.ts new file mode 100644 index 000000000000..b5bfed92100b --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.ts @@ -0,0 +1,5 @@ +import { db } from 'src/lib/db' + +export const users = () => { + return db.user.findMany() +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.ts new file mode 100644 index 000000000000..b5ff8afbdfc3 --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.ts @@ -0,0 +1,7 @@ +import { posts } from './posts' + +describe('posts', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.ts new file mode 100644 index 000000000000..a3af67dc165b --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.ts @@ -0,0 +1,44 @@ +import { db } from 'src/lib/db' +import { + PostWhereUniqueInput, + PostCreateInput, + PostUpdateInput, +} from '@prisma/client' + +export const posts = () => { + return db.post.findMany() +} + +export const post = ({ id }: PostWhereUniqueInput) => { + return db.post.findOne({ + where: { id }, + }) +} + +interface CreatePostArgs { + input: PostCreateInput +} + +export const createPost = ({ input }) => { + return db.post.create({ + data: input, + }) +} + +interface UpdatePostArgs { + where: PostWhereUniqueInput + input: PostUpdateInput +} + +export const updatePost = ({ id, input }) => { + return db.post.update({ + data: input, + where: { id }, + }) +} + +export const deletePost = ({ id }: PostWhereUniqueInput) => { + return db.post.delete({ + where: { id }, + }) +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts new file mode 100644 index 000000000000..b1c72da817c6 --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts @@ -0,0 +1,9 @@ +import { db } from 'src/lib/db' + +export const users = () => { + return db.user.findMany() +} + +export const User = { + identity: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).identity(), +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.ts new file mode 100644 index 000000000000..b5ff8afbdfc3 --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.ts @@ -0,0 +1,7 @@ +import { posts } from './posts' + +describe('posts', () => { + it('returns true', () => { + expect(true).toBe(true) + }) +}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.ts new file mode 100644 index 000000000000..5dd425efe5ea --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.ts @@ -0,0 +1,44 @@ +import { db } from 'src/lib/db' +import { + PostWhereUniqueInput, + PostCreateInput, + PostUpdateInput, +} from '@prisma/client' + +export const posts = () => { + return db.post.findMany() +} + +export const post = ({ id }: PostWhereUniqueInput) => { + return db.post.findOne({ + where: { id }, + }) +} + +interface CreatePostArgs { + input: PostCreateInput +} + +export const createPost = ({ input }: CreatePostArgs) => { + return db.post.create({ + data: input, + }) +} + +interface UpdatePostArgs { + where: PostWhereUniqueInput + input: PostUpdateInput +} + +export const updatePost = ({ id, input }: UpdatePostArgs) => { + return db.post.update({ + data: input, + where: { id }, + }) +} + +export const deletePost = ({ id }: PostWhereUniqueInput) => { + return db.post.delete({ + where: { id }, + }) +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts new file mode 100644 index 000000000000..200d1809af15 --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts @@ -0,0 +1,9 @@ +import { db } from 'src/lib/db' + +export const users = () => { + return db.user.findMany() +} + +export const User = { + userProfiles: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).userProfiles(), +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts new file mode 100644 index 000000000000..1dfea708f072 --- /dev/null +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts @@ -0,0 +1,10 @@ +import { db } from 'src/lib/db' + +export const users = () => { + return db.user.findMany() +} + +export const User = { + userProfiles: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).userProfiles(), + identity: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).identity(), +} diff --git a/packages/cli/src/commands/generate/service/__tests__/service.test.js b/packages/cli/src/commands/generate/service/__tests__/service.test.js index 3ae77b8b6a07..94a6f311f8db 100644 --- a/packages/cli/src/commands/generate/service/__tests__/service.test.js +++ b/packages/cli/src/commands/generate/service/__tests__/service.test.js @@ -3,144 +3,241 @@ import { loadGeneratorFixture } from 'src/lib/test' import * as service from '../service' -test('returns exactly 2 files', async () => { - const files = await service.files({ - name: 'User', - crud: false, - relations: [], +const extensionForBaseArgs = (baseArgs) => + baseArgs && baseArgs.typescript ? 'ts' : 'js' + +const itReturnsExactly2Files = (baseArgs) => { + test('returns exactly 2 files', async () => { + const files = await service.files({ + ...baseArgs, + name: 'User', + crud: false, + relations: [], + }) + + expect(Object.keys(files).length).toEqual(2) }) - - expect(Object.keys(files).length).toEqual(2) -}) - -test('creates a single word service file', async () => { - const files = await service.files({ - name: 'User', - crud: false, - relations: [], +} +const itCreatesASingleWordServiceFile = (baseArgs) => { + test('creates a single word service file', async () => { + const files = await service.files({ + ...baseArgs, + name: 'User', + crud: false, + relations: [], + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/services/users/users.${extension}`] + ).toEqual(loadGeneratorFixture('service', `singleWord.${extension}`)) }) - - expect(files['/path/to/project/api/src/services/users/users.js']).toEqual( - loadGeneratorFixture('service', 'singleWord.js') - ) -}) - -test('creates a single word service test file', async () => { - const files = await service.files({ - name: 'User', - crud: false, - relations: null, +} +const itCreatesASingleWordServiceTestFile = (baseArgs) => { + test('creates a single word service test file', async () => { + const files = await service.files({ + ...baseArgs, + name: 'User', + crud: false, + relations: null, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/services/users/users.test.${extension}`] + ).toEqual(loadGeneratorFixture('service', `singleWord.test.${extension}`)) }) - - expect( - files['/path/to/project/api/src/services/users/users.test.js'] - ).toEqual(loadGeneratorFixture('service', 'singleWord.test.js')) -}) - -test('creates a multi word service file', async () => { - const files = await service.files({ - name: 'UserProfile', - crud: false, - relations: null, +} + +const itCreatesAMultiWordServiceFile = (baseArgs) => { + test('creates a multi word service file', async () => { + const files = await service.files({ + ...baseArgs, + name: 'UserProfile', + crud: false, + relations: null, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[ + `/path/to/project/api/src/services/userProfiles/userProfiles.${extension}` + ] + ).toEqual(loadGeneratorFixture('service', `multiWord.${extension}`)) }) - - expect( - files['/path/to/project/api/src/services/userProfiles/userProfiles.js'] - ).toEqual(loadGeneratorFixture('service', 'multiWord.js')) -}) - -test('creates a multi word service test file', async () => { - const files = await service.files({ - name: 'UserProfile', - crud: false, - relations: null, +} + +const itCreatesAMultiWordServiceTestFile = (baseArgs) => { + test('creates a multi word service test file', async () => { + const files = await service.files({ + ...baseArgs, + name: 'UserProfile', + crud: false, + relations: null, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[ + `/path/to/project/api/src/services/userProfiles/userProfiles.test.${extension}` + ] + ).toEqual(loadGeneratorFixture('service', `multiWord.test.${extension}`)) }) - - expect( - files['/path/to/project/api/src/services/userProfiles/userProfiles.test.js'] - ).toEqual(loadGeneratorFixture('service', 'multiWord.test.js')) -}) - -test('creates a single word service file with CRUD actions', async () => { - const files = await service.files({ - name: 'Post', - crud: true, - relations: null, +} + +const itCreatesASingleWordServiceFileWithCRUDActions = (baseArgs) => { + test('creates a single word service file with CRUD actions', async () => { + const files = await service.files({ + ...baseArgs, + name: 'Post', + crud: true, + relations: null, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/services/posts/posts.${extension}`] + ).toEqual(loadGeneratorFixture('service', `singleWord_crud.${extension}`)) }) - - expect(files['/path/to/project/api/src/services/posts/posts.js']).toEqual( - loadGeneratorFixture('service', 'singleWord_crud.js') - ) -}) - -test('creates a service test file with CRUD actions', async () => { - const files = await service.files({ - name: 'Post', - crud: true, - relations: null, +} + +const itCreatesASingleWordServiceTestFileWithCRUDActions = (baseArgs) => { + test('creates a service test file with CRUD actions', async () => { + const files = await service.files({ + ...baseArgs, + name: 'Post', + crud: true, + relations: null, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/services/posts/posts.test.${extension}`] + ).toEqual( + loadGeneratorFixture('service', `singleWord_crud.test.${extension}`) + ) }) - - expect( - files['/path/to/project/api/src/services/posts/posts.test.js'] - ).toEqual(loadGeneratorFixture('service', 'singleWord_crud.test.js')) -}) - -test('creates a multi word service file with CRUD actions', async () => { - const files = await service.files({ - name: 'UserProfile', - crud: true, - relations: null, +} + +const itCreatesAMultiWordServiceFileWithCRUDActions = (baseArgs) => { + test('creates a multi word service file with CRUD actions', async () => { + const files = await service.files({ + ...baseArgs, + name: 'UserProfile', + crud: true, + relations: null, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[ + `/path/to/project/api/src/services/userProfiles/userProfiles.${extension}` + ] + ).toEqual(loadGeneratorFixture('service', `multiWord_crud.${extension}`)) }) - - expect( - files['/path/to/project/api/src/services/userProfiles/userProfiles.js'] - ).toEqual(loadGeneratorFixture('service', 'multiWord_crud.js')) -}) - -test('creates a multi word service test file with CRUD actions', async () => { - const files = await service.files({ - name: 'UserProfile', - crud: true, - relations: null, +} +const itCreatesAMultiWordServiceTestFileWithCRUDActions = (baseArgs) => { + test('creates a multi word service test file with CRUD actions', async () => { + const files = await service.files({ + ...baseArgs, + name: 'UserProfile', + crud: true, + relations: null, + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[ + `/path/to/project/api/src/services/userProfiles/userProfiles.test.${extension}` + ] + ).toEqual( + loadGeneratorFixture('service', `multiWord_crud.test.${extension}`) + ) }) - - expect( - files['/path/to/project/api/src/services/userProfiles/userProfiles.test.js'] - ).toEqual(loadGeneratorFixture('service', 'multiWord_crud.test.js')) -}) - -test('creates a single word service file with a hasMany relation', async () => { - const files = await service.files({ - name: 'User', - crud: false, - relations: ['userProfiles'], +} + +const itCreatesASingleWordServiceFileWithAHasManyRelation = (baseArgs) => { + test('creates a single word service file with a hasMany relation', async () => { + const files = await service.files({ + ...baseArgs, + name: 'User', + crud: false, + relations: ['userProfiles'], + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/services/users/users.${extension}`] + ).toEqual( + loadGeneratorFixture('service', `singleWord_hasMany.${extension}`) + ) }) - - expect(files['/path/to/project/api/src/services/users/users.js']).toEqual( - loadGeneratorFixture('service', 'singleWord_hasMany.js') - ) -}) - -test('creates a single word service file with a belongsTo relation', async () => { - const files = await service.files({ - name: 'User', - crud: false, - relations: ['identity'], +} + +const itCreatesASingleWordServiceFileWithABelongsToRelation = (baseArgs) => { + test('creates a single word service file with a belongsTo relation', async () => { + const files = await service.files({ + ...baseArgs, + name: 'User', + crud: false, + relations: ['identity'], + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/services/users/users.${extension}`] + ).toEqual( + loadGeneratorFixture('service', `singleWord_belongsTo.${extension}`) + ) }) - - expect(files['/path/to/project/api/src/services/users/users.js']).toEqual( - loadGeneratorFixture('service', 'singleWord_belongsTo.js') - ) -}) - -test('creates a single word service file with multiple relations', async () => { - const files = await service.files({ - name: 'User', - crud: false, - relations: ['userProfiles', 'identity'], +} + +const itCreatesASingleWordServiceFileWithMultipleRelations = (baseArgs) => { + test('creates a single word service file with multiple relations', async () => { + const files = await service.files({ + ...baseArgs, + name: 'User', + crud: false, + relations: ['userProfiles', 'identity'], + }) + const extension = extensionForBaseArgs(baseArgs) + + expect( + files[`/path/to/project/api/src/services/users/users.${extension}`] + ).toEqual( + loadGeneratorFixture('service', `singleWord_multiple.${extension}`) + ) }) +} + +describe('in javascript mode', () => { + itReturnsExactly2Files() + itCreatesASingleWordServiceFile() + itCreatesASingleWordServiceTestFile() + itCreatesAMultiWordServiceFile() + itCreatesAMultiWordServiceTestFile() + itCreatesASingleWordServiceFileWithCRUDActions() + itCreatesASingleWordServiceTestFileWithCRUDActions() + itCreatesAMultiWordServiceFileWithCRUDActions() + itCreatesAMultiWordServiceTestFileWithCRUDActions() + itCreatesASingleWordServiceFileWithAHasManyRelation() + itCreatesASingleWordServiceFileWithABelongsToRelation() + itCreatesASingleWordServiceFileWithMultipleRelations() +}) - expect(files['/path/to/project/api/src/services/users/users.js']).toEqual( - loadGeneratorFixture('service', 'singleWord_multiple.js') - ) +describe('in typescript mode', () => { + const baseArgs = { typescript: true } + + itReturnsExactly2Files(baseArgs) + itCreatesASingleWordServiceFile(baseArgs) + itCreatesASingleWordServiceTestFile(baseArgs) + itCreatesAMultiWordServiceFile(baseArgs) + itCreatesAMultiWordServiceTestFile(baseArgs) + itCreatesASingleWordServiceFileWithCRUDActions(baseArgs) + itCreatesASingleWordServiceTestFileWithCRUDActions(baseArgs) + itCreatesAMultiWordServiceFileWithCRUDActions(baseArgs) + itCreatesAMultiWordServiceTestFileWithCRUDActions(baseArgs) + itCreatesASingleWordServiceFileWithAHasManyRelation(baseArgs) + itCreatesASingleWordServiceFileWithABelongsToRelation(baseArgs) + itCreatesASingleWordServiceFileWithMultipleRelations(baseArgs) }) diff --git a/packages/cli/src/commands/generate/service/templates/service.ts.template b/packages/cli/src/commands/generate/service/templates/service.ts.template index 0ad65cbd7a5e..996dbf2723b4 100644 --- a/packages/cli/src/commands/generate/service/templates/service.ts.template +++ b/packages/cli/src/commands/generate/service/templates/service.ts.template @@ -1,29 +1,43 @@ import { db } from 'src/lib/db' - +<%if (crud) { %>import { + ${singularPascalName}WhereUniqueInput, + ${singularPascalName}CreateInput, + ${singularPascalName}UpdateInput, +} from '@prisma/client' +<% } %> export const ${pluralCamelName} = () => { return db.${singularCamelName}.findMany() }<% if (crud) { %> -export const ${singularCamelName} = ({ id }) => { +export const ${singularCamelName} = ({ id }: ${singularPascalName}WhereUniqueInput) => { return db.${singularCamelName}.findOne({ where: { id }, }) } -export const create${singularPascalName} = ({ input }) => { +interface Create${singularPascalName}Args { + input: ${singularPascalName}CreateInput +} + +export const create${singularPascalName} = ({ input }: Create${singularPascalName}Args) => { return db.${singularCamelName}.create({ data: input, }) } -export const update${singularPascalName} = ({ id, input }) => { +interface Update${singularPascalName}Args { + where: ${singularPascalName}WhereUniqueInput + input: ${singularPascalName}UpdateInput +} + +export const update${singularPascalName} = ({ id, input }: Update${singularPascalName}Args) => { return db.${singularCamelName}.update({ data: input, where: { id }, }) } -export const delete${singularPascalName} = ({ id }) => { +export const delete${singularPascalName} = ({ id }: ${singularPascalName}WhereUniqueInput) => { return db.${singularCamelName}.delete({ where: { id }, }) From 25bdd19a3620bdd53a4420b5226f8040fff82ef5 Mon Sep 17 00:00:00 2001 From: Justin Reidy Date: Sat, 16 May 2020 10:51:56 -0400 Subject: [PATCH 08/25] remote dupe test fixtures --- .../__tests__/fixtures/multiWordService.js | 5 --- .../fixtures/multiWordService.test.js | 7 --- .../fixtures/multiWordService.test.ts | 7 --- .../__tests__/fixtures/multiWordService.ts | 5 --- .../fixtures/multiWordServiceCrud.js | 30 ------------- .../fixtures/multiWordServiceCrud.test.js | 7 --- .../fixtures/multiWordServiceCrud.test.ts | 7 --- .../fixtures/multiWordServiceCrud.ts | 45 ------------------- .../__tests__/fixtures/singleWordService.js | 5 --- .../fixtures/singleWordService.test.js | 7 --- .../fixtures/singleWordService.test.ts | 7 --- .../__tests__/fixtures/singleWordService.ts | 5 --- .../fixtures/singleWordServiceCrud.js | 30 ------------- .../fixtures/singleWordServiceCrud.test.js | 7 --- .../fixtures/singleWordServiceCrud.test.ts | 7 --- .../fixtures/singleWordServiceCrud.ts | 44 ------------------ 16 files changed, 225 deletions(-) delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.js delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.js delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.ts delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.ts delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.js delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.js delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.ts delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.ts delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.js delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.js delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.ts delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.ts delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.js delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.js delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.ts delete mode 100644 packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.ts diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.js deleted file mode 100644 index 2f54fb24b2c6..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.js +++ /dev/null @@ -1,5 +0,0 @@ -import { db } from 'src/lib/db' - -export const userProfiles = () => { - return db.userProfile.findMany() -} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.js deleted file mode 100644 index 0c1f26ab30ed..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.js +++ /dev/null @@ -1,7 +0,0 @@ -import { userProfiles } from './userProfiles' - -describe('userProfiles', () => { - it('returns true', () => { - expect(true).toBe(true) - }) -}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.ts deleted file mode 100644 index 0c1f26ab30ed..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { userProfiles } from './userProfiles' - -describe('userProfiles', () => { - it('returns true', () => { - expect(true).toBe(true) - }) -}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.ts deleted file mode 100644 index 2f54fb24b2c6..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordService.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { db } from 'src/lib/db' - -export const userProfiles = () => { - return db.userProfile.findMany() -} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.js deleted file mode 100644 index 8be74a61b2e7..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.js +++ /dev/null @@ -1,30 +0,0 @@ -import { db } from 'src/lib/db' - -export const userProfiles = () => { - return db.userProfile.findMany() -} - -export const userProfile = ({ id }) => { - return db.userProfile.findOne({ - where: { id }, - }) -} - -export const createUserProfile = ({ input }) => { - return db.userProfile.create({ - data: input, - }) -} - -export const updateUserProfile = ({ id, input }) => { - return db.userProfile.update({ - data: input, - where: { id }, - }) -} - -export const deleteUserProfile = ({ id }) => { - return db.userProfile.delete({ - where: { id }, - }) -} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.js deleted file mode 100644 index 0c1f26ab30ed..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.js +++ /dev/null @@ -1,7 +0,0 @@ -import { userProfiles } from './userProfiles' - -describe('userProfiles', () => { - it('returns true', () => { - expect(true).toBe(true) - }) -}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.ts deleted file mode 100644 index 0c1f26ab30ed..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { userProfiles } from './userProfiles' - -describe('userProfiles', () => { - it('returns true', () => { - expect(true).toBe(true) - }) -}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.ts deleted file mode 100644 index 57a2c078ae3d..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWordServiceCrud.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { db } from 'src/lib/db' -import { - UserProfileWhereUniqueInput, - UserProfileCreateInput, - UserProfileUpdateInput, -} from '@prisma/client' - - -export const userProfiles = () => { - return db.userProfile.findMany() -} - -export const userProfile = ({ id }: UserProfileWhereUniqueInput) => { - return db.userProfile.findOne({ - where: { id }, - }) -} - -interface CreateUserProfileArgs { - input: UserProfileCreateInput -} - -export const createUserProfile = ({ input }: CreateUserProfileArgs) => { - return db.userProfile.create({ - data: input, - }) -} - -interface UpdateUserProfileArgs { - where: UserProfileWhereUniqueInput - input: UserProfileUpdateInput -} - -export const updateUserProfile = ({ id, input }: UpdateUserProfileArgs) => { - return db.userProfile.update({ - data: input, - where: { id }, - }) -} - -export const deleteUserProfile = ({ id }: UserProfileWhereUniqueInput) => { - return db.userProfile.delete({ - where: { id }, - }) -} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.js deleted file mode 100644 index b5bfed92100b..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.js +++ /dev/null @@ -1,5 +0,0 @@ -import { db } from 'src/lib/db' - -export const users = () => { - return db.user.findMany() -} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.js deleted file mode 100644 index 5a73412f0b9d..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.js +++ /dev/null @@ -1,7 +0,0 @@ -import { users } from './users' - -describe('users', () => { - it('returns true', () => { - expect(true).toBe(true) - }) -}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.ts deleted file mode 100644 index 5a73412f0b9d..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { users } from './users' - -describe('users', () => { - it('returns true', () => { - expect(true).toBe(true) - }) -}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.ts deleted file mode 100644 index b5bfed92100b..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordService.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { db } from 'src/lib/db' - -export const users = () => { - return db.user.findMany() -} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.js deleted file mode 100644 index be53d32bf06f..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.js +++ /dev/null @@ -1,30 +0,0 @@ -import { db } from 'src/lib/db' - -export const posts = () => { - return db.post.findMany() -} - -export const post = ({ id }) => { - return db.post.findOne({ - where: { id }, - }) -} - -export const createPost = ({ input }) => { - return db.post.create({ - data: input, - }) -} - -export const updatePost = ({ id, input }) => { - return db.post.update({ - data: input, - where: { id }, - }) -} - -export const deletePost = ({ id }) => { - return db.post.delete({ - where: { id }, - }) -} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.js deleted file mode 100644 index b5ff8afbdfc3..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.js +++ /dev/null @@ -1,7 +0,0 @@ -import { posts } from './posts' - -describe('posts', () => { - it('returns true', () => { - expect(true).toBe(true) - }) -}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.ts deleted file mode 100644 index b5ff8afbdfc3..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { posts } from './posts' - -describe('posts', () => { - it('returns true', () => { - expect(true).toBe(true) - }) -}) diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.ts deleted file mode 100644 index a3af67dc165b..000000000000 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWordServiceCrud.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { db } from 'src/lib/db' -import { - PostWhereUniqueInput, - PostCreateInput, - PostUpdateInput, -} from '@prisma/client' - -export const posts = () => { - return db.post.findMany() -} - -export const post = ({ id }: PostWhereUniqueInput) => { - return db.post.findOne({ - where: { id }, - }) -} - -interface CreatePostArgs { - input: PostCreateInput -} - -export const createPost = ({ input }) => { - return db.post.create({ - data: input, - }) -} - -interface UpdatePostArgs { - where: PostWhereUniqueInput - input: PostUpdateInput -} - -export const updatePost = ({ id, input }) => { - return db.post.update({ - data: input, - where: { id }, - }) -} - -export const deletePost = ({ id }: PostWhereUniqueInput) => { - return db.post.delete({ - where: { id }, - }) -} From b0172fd3357bfe6704876ebd13f7ea07176f8ffc Mon Sep 17 00:00:00 2001 From: Justin Reidy Date: Sun, 17 May 2020 07:59:18 -0400 Subject: [PATCH 09/25] add graphql types for generated relations in services --- packages/api/src/types.ts | 8 ++++++++ .../service/__tests__/fixtures/multiWord_crud.ts | 2 +- .../__tests__/fixtures/singleWord_belongsTo.ts | 6 +++++- .../service/__tests__/fixtures/singleWord_crud.ts | 2 +- .../__tests__/fixtures/singleWord_hasMany.ts | 6 +++++- .../__tests__/fixtures/singleWord_multiple.ts | 8 ++++++-- .../generate/service/templates/service.ts.template | 13 +++++++------ 7 files changed, 33 insertions(+), 12 deletions(-) diff --git a/packages/api/src/types.ts b/packages/api/src/types.ts index 1fa70d8776e1..1370f9da75d4 100644 --- a/packages/api/src/types.ts +++ b/packages/api/src/types.ts @@ -1,3 +1,5 @@ +import { GraphQLResolveInfo } from 'graphql' + export type Services = { [funcName: string]: any } export type ImportedServices = { [serviceName: string]: Services @@ -6,3 +8,9 @@ export interface MakeServicesInterface { services: ImportedServices } export type MakeServices = (args: MakeServicesInterface) => Services + +export interface ResolverArgs { + root: M + context: any + info: GraphQLResolveInfo +} diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.ts index d76defc6958a..a2bf9912d8f8 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.ts @@ -1,9 +1,9 @@ -import { db } from 'src/lib/db' import { UserProfileWhereUniqueInput, UserProfileCreateInput, UserProfileUpdateInput, } from '@prisma/client' +import { db } from 'src/lib/db' export const userProfiles = () => { return db.userProfile.findMany() diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts index b1c72da817c6..42948794e96c 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts @@ -1,3 +1,7 @@ +import { + UserWhereUniqueInput, +} from '@prisma/client' +import { ResolverArgs } from '@redwoodjs/api/dist/types' import { db } from 'src/lib/db' export const users = () => { @@ -5,5 +9,5 @@ export const users = () => { } export const User = { - identity: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).identity(), + identity: (_obj, { root }: ResolverArgs) => db.user.findOne({ where: { id: root.id } }).identity(), } diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.ts index 5dd425efe5ea..2b47200240d1 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.ts @@ -1,9 +1,9 @@ -import { db } from 'src/lib/db' import { PostWhereUniqueInput, PostCreateInput, PostUpdateInput, } from '@prisma/client' +import { db } from 'src/lib/db' export const posts = () => { return db.post.findMany() diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts index 200d1809af15..6c809906926e 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts @@ -1,3 +1,7 @@ +import { + UserWhereUniqueInput, +} from '@prisma/client' +import { ResolverArgs } from '@redwoodjs/api/dist/types' import { db } from 'src/lib/db' export const users = () => { @@ -5,5 +9,5 @@ export const users = () => { } export const User = { - userProfiles: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).userProfiles(), + userProfiles: (_obj, { root }: ResolverArgs) => db.user.findOne({ where: { id: root.id } }).userProfiles(), } diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts index 1dfea708f072..3daed180d7f4 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts @@ -1,3 +1,7 @@ +import { + UserWhereUniqueInput, +} from '@prisma/client' +import { ResolverArgs } from '@redwoodjs/api/dist/types' import { db } from 'src/lib/db' export const users = () => { @@ -5,6 +9,6 @@ export const users = () => { } export const User = { - userProfiles: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).userProfiles(), - identity: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).identity(), + userProfiles: (_obj, { root }: ResolverArgs) => db.user.findOne({ where: { id: root.id } }).userProfiles(), + identity: (_obj, { root }: ResolverArgs) => db.user.findOne({ where: { id: root.id } }).identity(), } diff --git a/packages/cli/src/commands/generate/service/templates/service.ts.template b/packages/cli/src/commands/generate/service/templates/service.ts.template index 996dbf2723b4..45ef7b4e1292 100644 --- a/packages/cli/src/commands/generate/service/templates/service.ts.template +++ b/packages/cli/src/commands/generate/service/templates/service.ts.template @@ -1,10 +1,11 @@ -import { db } from 'src/lib/db' -<%if (crud) { %>import { - ${singularPascalName}WhereUniqueInput, +<%if (crud || relations.length > 0) { %>import { + ${singularPascalName}WhereUniqueInput,<% if (crud) { %> ${singularPascalName}CreateInput, - ${singularPascalName}UpdateInput, + ${singularPascalName}UpdateInput,<% } %> } from '@prisma/client' -<% } %> +<% } %><% if (relations.length) { %>import { ResolverArgs } from '@redwoodjs/api/dist/types' +<% } %>import { db } from 'src/lib/db' + export const ${pluralCamelName} = () => { return db.${singularCamelName}.findMany() }<% if (crud) { %> @@ -44,5 +45,5 @@ export const delete${singularPascalName} = ({ id }: ${singularPascalName}WhereUn }<% } %><% if (relations.length) { %> export const ${singularPascalName} = {<% relations.forEach(relation => { %> - ${relation}: (_obj, { root }) => db.${singularCamelName}.findOne({ where: { id: root.id } }).${relation}(),<% }) %> + ${relation}: (_obj, { root }: ResolverArgs<${singularPascalName}WhereUniqueInput>) => db.${singularCamelName}.findOne({ where: { id: root.id } }).${relation}(),<% }) %> }<% } %> From 284c0f45bc024f9e0d86d83106eae8587110e8fd Mon Sep 17 00:00:00 2001 From: Justin Reidy Date: Mon, 18 May 2020 08:45:50 -0400 Subject: [PATCH 10/25] use only ts template for services --- packages/cli/package.json | 6 ++++ .../__tests__/fixtures/multiWord.test.js | 2 ++ .../__tests__/fixtures/multiWord.test.ts | 2 ++ .../__tests__/fixtures/multiWord_crud.test.js | 2 ++ .../__tests__/fixtures/multiWord_crud.test.ts | 2 ++ .../__tests__/fixtures/singleWord.test.js | 2 ++ .../__tests__/fixtures/singleWord.test.ts | 2 ++ .../fixtures/singleWord_belongsTo.js | 3 +- .../fixtures/singleWord_belongsTo.ts | 7 ++-- .../fixtures/singleWord_crud.test.js | 2 ++ .../fixtures/singleWord_crud.test.ts | 2 ++ .../__tests__/fixtures/singleWord_hasMany.js | 3 +- .../__tests__/fixtures/singleWord_hasMany.ts | 7 ++-- .../__tests__/fixtures/singleWord_multiple.js | 6 ++-- .../__tests__/fixtures/singleWord_multiple.ts | 10 +++--- .../service/__tests__/service.test.js | 15 ++++++++ .../src/commands/generate/service/service.js | 20 ++++++++++- .../service/templates/service.js.template | 34 ------------------- .../service/templates/test.js.template | 7 ---- .../service/templates/test.ts.template | 2 ++ packages/cli/src/lib/index.js | 4 ++- 21 files changed, 80 insertions(+), 60 deletions(-) delete mode 100644 packages/cli/src/commands/generate/service/templates/service.js.template delete mode 100644 packages/cli/src/commands/generate/service/templates/test.js.template diff --git a/packages/cli/package.json b/packages/cli/package.json index d837b789ff19..cbcc15b46e87 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -13,8 +13,14 @@ "dist" ], "dependencies": { +<<<<<<< HEAD "@prisma/sdk": "^2.0.0-beta.6", "@redwoodjs/internal": "^0.8.1", +======= + "@prisma/sdk": "^2.0.0-beta.5", + "@redwoodjs/internal": "^0.7.1-canary.8", + "babel-plugin-generator-prettier": "^1.2.0", +>>>>>>> a81200f... use only ts template for services "camelcase": "^5.3.1", "chalk": "^3.0.0", "concurrently": "^5.1.0", diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.js index 0c1f26ab30ed..7002f191355f 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.js +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.js @@ -1,4 +1,6 @@ +/* import { userProfiles } from './userProfiles' +*/ describe('userProfiles', () => { it('returns true', () => { diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.ts index 0c1f26ab30ed..7002f191355f 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord.test.ts @@ -1,4 +1,6 @@ +/* import { userProfiles } from './userProfiles' +*/ describe('userProfiles', () => { it('returns true', () => { diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.js index 0c1f26ab30ed..7002f191355f 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.js +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.js @@ -1,4 +1,6 @@ +/* import { userProfiles } from './userProfiles' +*/ describe('userProfiles', () => { it('returns true', () => { diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.ts index 0c1f26ab30ed..7002f191355f 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/multiWord_crud.test.ts @@ -1,4 +1,6 @@ +/* import { userProfiles } from './userProfiles' +*/ describe('userProfiles', () => { it('returns true', () => { diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.js index 5a73412f0b9d..bac7cb4ed5c6 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.js +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.js @@ -1,4 +1,6 @@ +/* import { users } from './users' +*/ describe('users', () => { it('returns true', () => { diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.ts index 5a73412f0b9d..bac7cb4ed5c6 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord.test.ts @@ -1,4 +1,6 @@ +/* import { users } from './users' +*/ describe('users', () => { it('returns true', () => { diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.js index b1c72da817c6..2dbdb567cce2 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.js +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.js @@ -5,5 +5,6 @@ export const users = () => { } export const User = { - identity: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).identity(), + identity: (_obj, { root }) => + db.user.findOne({ where: { id: root.id } }).identity(), } diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts index 42948794e96c..6dcc0c2b3f24 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_belongsTo.ts @@ -1,6 +1,4 @@ -import { - UserWhereUniqueInput, -} from '@prisma/client' +import { UserWhereUniqueInput } from '@prisma/client' import { ResolverArgs } from '@redwoodjs/api/dist/types' import { db } from 'src/lib/db' @@ -9,5 +7,6 @@ export const users = () => { } export const User = { - identity: (_obj, { root }: ResolverArgs) => db.user.findOne({ where: { id: root.id } }).identity(), + identity: (_obj, { root }: ResolverArgs) => + db.user.findOne({ where: { id: root.id } }).identity(), } diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.js index b5ff8afbdfc3..f23483ac34b4 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.js +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.js @@ -1,4 +1,6 @@ +/* import { posts } from './posts' +*/ describe('posts', () => { it('returns true', () => { diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.ts index b5ff8afbdfc3..f23483ac34b4 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_crud.test.ts @@ -1,4 +1,6 @@ +/* import { posts } from './posts' +*/ describe('posts', () => { it('returns true', () => { diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.js index 200d1809af15..9e66d05df5a7 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.js +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.js @@ -5,5 +5,6 @@ export const users = () => { } export const User = { - userProfiles: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).userProfiles(), + userProfiles: (_obj, { root }) => + db.user.findOne({ where: { id: root.id } }).userProfiles(), } diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts index 6c809906926e..ace7796aeda6 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_hasMany.ts @@ -1,6 +1,4 @@ -import { - UserWhereUniqueInput, -} from '@prisma/client' +import { UserWhereUniqueInput } from '@prisma/client' import { ResolverArgs } from '@redwoodjs/api/dist/types' import { db } from 'src/lib/db' @@ -9,5 +7,6 @@ export const users = () => { } export const User = { - userProfiles: (_obj, { root }: ResolverArgs) => db.user.findOne({ where: { id: root.id } }).userProfiles(), + userProfiles: (_obj, { root }: ResolverArgs) => + db.user.findOne({ where: { id: root.id } }).userProfiles(), } diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.js b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.js index 1dfea708f072..69686c8a7a6b 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.js +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.js @@ -5,6 +5,8 @@ export const users = () => { } export const User = { - userProfiles: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).userProfiles(), - identity: (_obj, { root }) => db.user.findOne({ where: { id: root.id } }).identity(), + userProfiles: (_obj, { root }) => + db.user.findOne({ where: { id: root.id } }).userProfiles(), + identity: (_obj, { root }) => + db.user.findOne({ where: { id: root.id } }).identity(), } diff --git a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts index 3daed180d7f4..b1b76038928b 100644 --- a/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts +++ b/packages/cli/src/commands/generate/service/__tests__/fixtures/singleWord_multiple.ts @@ -1,6 +1,4 @@ -import { - UserWhereUniqueInput, -} from '@prisma/client' +import { UserWhereUniqueInput } from '@prisma/client' import { ResolverArgs } from '@redwoodjs/api/dist/types' import { db } from 'src/lib/db' @@ -9,6 +7,8 @@ export const users = () => { } export const User = { - userProfiles: (_obj, { root }: ResolverArgs) => db.user.findOne({ where: { id: root.id } }).userProfiles(), - identity: (_obj, { root }: ResolverArgs) => db.user.findOne({ where: { id: root.id } }).identity(), + userProfiles: (_obj, { root }: ResolverArgs) => + db.user.findOne({ where: { id: root.id } }).userProfiles(), + identity: (_obj, { root }: ResolverArgs) => + db.user.findOne({ where: { id: root.id } }).identity(), } diff --git a/packages/cli/src/commands/generate/service/__tests__/service.test.js b/packages/cli/src/commands/generate/service/__tests__/service.test.js index 94a6f311f8db..4e8bba4e4bd8 100644 --- a/packages/cli/src/commands/generate/service/__tests__/service.test.js +++ b/packages/cli/src/commands/generate/service/__tests__/service.test.js @@ -1,8 +1,23 @@ global.__dirname = __dirname + import { loadGeneratorFixture } from 'src/lib/test' import * as service from '../service' +jest.mock('../../../../lib', () => { + const path = require('path') + const lib = jest.requireActual('../../../../lib') + return { + ...lib, + prettierOptions: () => { + return require(path.resolve( + global.__dirname + + '../../../../../lib/__tests__/fixtures/prettier.config.js' + )) + }, + } +}) + const extensionForBaseArgs = (baseArgs) => baseArgs && baseArgs.typescript ? 'ts' : 'js' diff --git a/packages/cli/src/commands/generate/service/service.js b/packages/cli/src/commands/generate/service/service.js index e3d11a173ee0..59d9a277e2b6 100644 --- a/packages/cli/src/commands/generate/service/service.js +++ b/packages/cli/src/commands/generate/service/service.js @@ -1,6 +1,11 @@ +import { resolve } from 'path' + import camelcase from 'camelcase' import pluralize from 'pluralize' +import * as prettier from 'prettier' +import * as babel from '@babel/core' +import { prettierOptions } from '../../../lib' import { templateForComponentFile, createYargsForComponentGeneration, @@ -8,7 +13,8 @@ import { export const files = async ({ name, relations, ...rest }) => { const componentName = camelcase(pluralize(name)) - const extension = rest.typescript ? 'ts' : 'js' + const extension = 'ts' + const configOptions = prettierOptions() const serviceFile = templateForComponentFile({ name, componentName: componentName, @@ -34,6 +40,18 @@ export const files = async ({ name, relations, ...rest }) => { // "path/to/fileB": "<<