From 84f0a7393bc9320702c5610f7021ba55253881d6 Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Sat, 6 Mar 2021 08:41:46 -0500 Subject: [PATCH 1/9] feat: generate expectation of json & datetime custom scalars closes #8 --- README.md | 41 +++++++++++++++++++++++++++++ src/generator/models/declaration.ts | 24 ++++++++--------- src/helpers/graphql.ts | 4 +-- 3 files changed, 55 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 32bc1cf49..10c8f88a1 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,47 @@ objectType({ }) ``` +### Custom GraphQL Scalars + +Prisma has a few native scalar types that are not supported by any native GraphQL scalar type. + +When Nexus Prisma sees a Prisma field whose type is one of these scalars, it does nothing special. It just generates them as GraphQL type references like any other. + +You are responsible for filling this gap in the scalar mapping by implementing the custom scalars in your GrpahQL API. + +The following is a guide about how you might do that. + +#### Json + +```ts +import { asNexusMethod } from 'nexus' +import { JSONObjectResolver } from 'graphql-scalars' +import { GraphQLScalarType } from 'graphql' + +const JsonScalar = new GraphQLScalarType({ + ...JSONObjectResolver, + name: 'Json', + description: + 'The `Json` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).', +}) + +// Pass this to `types` in `makeSchema` +const nexusJsonScalar = asNexusMethod(JsonScalar, 'json') +``` + +#### DateTime + +```ts +import { asNexusMethod } from 'nexus' +import { DateTimeResolver } from 'graphql-scalars' +import { GraphQLScalarType } from 'graphql' + +const dateTimeScalar = new GraphQLScalarType(DateTimeResolver) + +// Pass this to `types` in `makeSchema` +const nexusDateTimeScalar = asNexusMethod(dateTimeScalar, 'dateTime') +``` + ### Prisma ID field to GraphQL ID scalar type mapping All `@id` fields in your Prisma Schema get projected as `ID` types, not `String` types. diff --git a/src/generator/models/declaration.ts b/src/generator/models/declaration.ts index 56025c6db..0d396721d 100644 --- a/src/generator/models/declaration.ts +++ b/src/generator/models/declaration.ts @@ -1,7 +1,7 @@ import { DMMF } from '@prisma/generator-helper' import endent from 'endent' import { LiteralUnion } from 'type-fest' -import { GraphQLScalarType, graphQLScalarTypes } from '../../helpers/graphql' +import { StandardGraphQLScalarType, StandardgraphQLScalarTypes } from '../../helpers/graphql' import { PrismaScalarType } from '../../helpers/prisma' import { allCasesHandled } from '../../helpers/utils' import { jsDocForField, jsDocForModel } from '../helpers/JSDocTemplates' @@ -113,7 +113,7 @@ function renderNexusType2(field: DMMF.Field): string { } /** Map the fields type to a GraphQL type */ -export function fieldTypeToGraphQLType(field: DMMF.Field): LiteralUnion { +export function fieldTypeToGraphQLType(field: DMMF.Field): LiteralUnion { const fieldKind = field.kind switch (fieldKind) { @@ -123,33 +123,33 @@ export function fieldTypeToGraphQLType(field: DMMF.Field): LiteralUnion Date: Mon, 8 Mar 2021 08:36:23 -0500 Subject: [PATCH 2/9] update spec --- README.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 10c8f88a1..95cfd94e6 100644 --- a/README.md +++ b/README.md @@ -77,45 +77,45 @@ objectType({ }) ``` -### Custom GraphQL Scalars +### Custom GraphQL Scalars for Native Prisma Scalars Prisma has a few native scalar types that are not supported by any native GraphQL scalar type. When Nexus Prisma sees a Prisma field whose type is one of these scalars, it does nothing special. It just generates them as GraphQL type references like any other. -You are responsible for filling this gap in the scalar mapping by implementing the custom scalars in your GrpahQL API. +Nexus Prisma does not allow to directly map these Prisma scalars to GraphQL scalar `String`. Instead you should define the necessary custom scalars in your GraphQL API. -The following is a guide about how you might do that. +You can define the necessary custom scalars manually, or use the pre-prepared Nexus scalar type definitions from Nexus Prisma. -#### Json +Example: Use the pre-prepared scalar type definitions from Nexus Prisma: ```ts -import { asNexusMethod } from 'nexus' -import { JSONObjectResolver } from 'graphql-scalars' -import { GraphQLScalarType } from 'graphql' +import * as customScalars from 'nexus-prisma/scalars' +import { makeSchema } from 'nexus' -const JsonScalar = new GraphQLScalarType({ - ...JSONObjectResolver, - name: 'Json', - description: - 'The `Json` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).', +makeSchema({ + types: [customScalars], }) - -// Pass this to `types` in `makeSchema` -const nexusJsonScalar = asNexusMethod(JsonScalar, 'json') ``` -#### DateTime +Example: Use custom Nexus scalar type definitions: ```ts -import { asNexusMethod } from 'nexus' -import { DateTimeResolver } from 'graphql-scalars' import { GraphQLScalarType } from 'graphql' +import { JSONObjectResolver, DateTimeResolver } from 'graphql-scalars' +import { asNexusMethod, makeSchema } from 'nexus' + +const jsonScalar = new GraphQLScalarType({ + ...JSONObjectResolver, + // Override the default 'JsonObject' name with one that matches what Nexus Prisma expects. + name: 'Json', +}) const dateTimeScalar = new GraphQLScalarType(DateTimeResolver) -// Pass this to `types` in `makeSchema` -const nexusDateTimeScalar = asNexusMethod(dateTimeScalar, 'dateTime') +makeSchema({ + types: [asNexusMethod(jsonScalar, 'json'), asNexusMethod(dateTimeScalar, 'dateTime')], +}) ``` ### Prisma ID field to GraphQL ID scalar type mapping From 79e72fe10b4a1b483df8f5f356b3c34105634139 Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Mon, 8 Mar 2021 08:43:57 -0500 Subject: [PATCH 3/9] add installation docs --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 95cfd94e6..7111af2c9 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,15 @@ Official Prisma plugin for Nexus. **Currently in development - not to be used in Production.** Follow the progress from [here](https://github.com/graphql-nexus/nexus-plugin-prisma/issues/1039). +## Installation + +``` +npm add nexus-prisma graphql @prisma/client +npm add --dev prisma +``` + +> `graphql` and `@prisma/client` are peer dependencies. `prisma` is for the Prisma CLI which you'll probably want during development. + ## Example ```prisma @@ -226,3 +235,7 @@ If a peer dependenvy is not installed it `nexus-prisma` will log an error and th NO_PEER_DEPENDENCY_CHECK=true|1 PEER_DEPENDENCY_CHECK=false|0 ``` + +## Notes + +- Versions of `nexus-prisma` package prior to `0.20` were a completely different version of the API, and had also become deprecated at one point to migrate to `nexus-plugi-prisma` when Nexus Framework was being worked on. All of that is history. From ffc1bd75f7d89d3aa21b043b8740713dcf83dd8a Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Mon, 8 Mar 2021 08:48:44 -0500 Subject: [PATCH 4/9] add usage docs --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7111af2c9..805260224 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,13 @@ npm add --dev prisma > `graphql` and `@prisma/client` are peer dependencies. `prisma` is for the Prisma CLI which you'll probably want during development. -## Example +## Usage + +1. Add a `nexus-prisma` generator block to your Prisma Schema. +1. Run `prisma generate` in your terminal. +1. Import models from `nexus-prisma` and then pass them to your Nexus type definition and field definition configurations. In this way you will be effectively projecting models from your data layer into GraphQL types in your API layer. + +### Example ```prisma @@ -24,7 +30,7 @@ generator client { generator nexusPrisma { // This is a temporary name, soon will be just "nexus-prisma" (pending a change in Prisma core). - provider = "nexus-prisma-2" + provider = "nexus-prisma" } From 37c0655c9feb4f268c9030ba73cc8fa71498f45d Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Mon, 8 Mar 2021 09:10:22 -0500 Subject: [PATCH 5/9] document scalar type mapping --- README.md | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 805260224..2b629231d 100644 --- a/README.md +++ b/README.md @@ -92,17 +92,32 @@ objectType({ }) ``` -### Custom GraphQL Scalars for Native Prisma Scalars +### Scalar Mapping & Custom GraphQL Scalars for Native Prisma Scalars -Prisma has a few native scalar types that are not supported by any native GraphQL scalar type. +Like GraphQL Prisma has the concept of scalar types. Some of the Prisma scalars can be naturally mapped to standard GraphQL scalars. The mapping is as follows: -When Nexus Prisma sees a Prisma field whose type is one of these scalars, it does nothing special. It just generates them as GraphQL type references like any other. +**Prisma Standard Scalar to GraphQL Standard Scalar Mapping** -Nexus Prisma does not allow to directly map these Prisma scalars to GraphQL scalar `String`. Instead you should define the necessary custom scalars in your GraphQL API. +| Prisma | GraphQL | +| ------------------- | --------- | +| `Boolean` | `Boolean` | +| `String` | `String` | +| `Int` | `Int` | +| `Float` | `Float` | +| `String` with `@id` | `ID` | -You can define the necessary custom scalars manually, or use the pre-prepared Nexus scalar type definitions from Nexus Prisma. +However some of the Prisma scalars do not have a natural standard representation in GraphQL. For these cases Nexus Prisma generates code that references type names matching those scalar names in Prisma. Then, you are expected to define those custom scalar types in your GraphQL API. Nexus Prisma ships with pre-defined mappings in `nexus-prisma/scalars` you _can_ use for convenience. The mapping is as follows: -Example: Use the pre-prepared scalar type definitions from Nexus Prisma: +**Prisma Standard Scalar to GraphQL Custom Scalar Mapping** + +| Prisma | GraphQL | GraphQL Scalar Implementation | +| ---------- | ---------- | ----------------------------------------------------------------- | +| `Json` | `Json` | [JsonObject](https://github.com/Urigo/graphql-scalars#jsonobject) | +| `DateTime` | `DateTime` | [DateTime](https://github.com/Urigo/graphql-scalars#datetime) | + +While you are not required to use the implementations supplied by Nexus Prisma, you _are required to define custom scalars whose name matches the above mapping_. + +Here is an example using the Nexus Prisma pre-defined custom scalars: ```ts import * as customScalars from 'nexus-prisma/scalars' @@ -113,7 +128,7 @@ makeSchema({ }) ``` -Example: Use custom Nexus scalar type definitions: +The following is a brief example how you could roll the implementations yourself: ```ts import { GraphQLScalarType } from 'graphql' From b3a037126a8ed3efdd4e1f510da6ba347a8c03bd Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Mon, 8 Mar 2021 09:13:03 -0500 Subject: [PATCH 6/9] note unsupported scalars --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2b629231d..703485bc5 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ objectType({ ### Scalar Mapping & Custom GraphQL Scalars for Native Prisma Scalars -Like GraphQL Prisma has the concept of scalar types. Some of the Prisma scalars can be naturally mapped to standard GraphQL scalars. The mapping is as follows: +Like GraphQL [Prisma has the concept of scalar types](https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference/#model-field-scalar-types). Some of the Prisma scalars can be naturally mapped to standard GraphQL scalars. The mapping is as follows: **Prisma Standard Scalar to GraphQL Standard Scalar Mapping** @@ -115,6 +115,8 @@ However some of the Prisma scalars do not have a natural standard representation | `Json` | `Json` | [JsonObject](https://github.com/Urigo/graphql-scalars#jsonobject) | | `DateTime` | `DateTime` | [DateTime](https://github.com/Urigo/graphql-scalars#datetime) | +> **Note:** Not all Prisma scalar mappings are implemented yet: `Bytes`, `BigInt`, `Decimal`, `Unsupported` + While you are not required to use the implementations supplied by Nexus Prisma, you _are required to define custom scalars whose name matches the above mapping_. Here is an example using the Nexus Prisma pre-defined custom scalars: From 0825ad950023e32b25c20c38fe95484ab78f5ff1 Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Mon, 8 Mar 2021 09:32:26 -0500 Subject: [PATCH 7/9] script to build module facades --- .gitignore | 6 ++++ package.json | 8 +++-- plugin.js | 1 - scripts/build-module-facades.ts | 52 +++++++++++++++++++++++++++++++++ src/scalars.ts | 0 5 files changed, 64 insertions(+), 3 deletions(-) delete mode 100644 plugin.js create mode 100644 scripts/build-module-facades.ts create mode 100644 src/scalars.ts diff --git a/.gitignore b/.gitignore index 67045665d..ec401aaa1 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,9 @@ dist # TernJS port file .tern-port + +# Facades +scalars.d.ts +scalars.js +plugin.js +plugin.d.ts diff --git a/package.json b/package.json index c0dc74871..1e1f7c7f2 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,10 @@ "license": "MIT", "files": [ "dist", - "plugin.js" + "plugin.js", + "plugin.d.ts", + "scalars.js", + "scalars.d.ts" ], "bin": { "nexus-prisma": "./dist/cli/nexus-prisma.js", @@ -21,7 +24,8 @@ "dev": "tsc --build --watch", "dev:ts": "yarn dev", "dev:yalc": "nodemon --exec 'yalc push --no-scripts && chmod +x /Users/jasonkuhrt/projects/prisma/cloud/node_modules/.bin/nexus-prisma-2' --watch 'dist/**/*'", - "build": "yarn clean && tsc", + "build:module-facades": "ts-node scripts/build-module-facades", + "build": "yarn clean && tsc && yarn build:module-facades", "test": "jest", "tdd": "jest --watch", "clean": "rm -rf dist && rm -rf node_modules/.cache", diff --git a/plugin.js b/plugin.js deleted file mode 100644 index 0f5179e6c..000000000 --- a/plugin.js +++ /dev/null @@ -1 +0,0 @@ -exports.plugin = reuqire('./dist/plugin') diff --git a/scripts/build-module-facades.ts b/scripts/build-module-facades.ts new file mode 100644 index 000000000..4ac3d90d5 --- /dev/null +++ b/scripts/build-module-facades.ts @@ -0,0 +1,52 @@ +/** + * Module Facades + * + * This script builds the modules that will be consumed publically. They front the actual code inside ./dist. + * The problem being solved here is that it allows consumers to do e.g. this: + * + * Import { ... } from 'nexus/testing' + * + * Instead of: + * + * Import { ... } from 'nexus/dist/testing' + * + * Whatever modules are written here should be: + * + * 1. ignored in .gitignore. + * 2. added to the package.json files array + */ + +import * as fs from 'fs-jetpack' +import * as lo from 'lodash' +import * as os from 'os' +import * as path from 'path' +import { PackageJson } from 'type-fest' + +generateModuleFacades([ + ['scalars.d.ts', "export * from './dist/scalars'"], + ['scalars.js', "module.exports = require('./dist/scalars')"], + + ['plugin.d.ts', "export * from './dist/plugin'"], + ['plugin.js', "exports.plugin = reuqire('./dist/plugin')"], +]) + +function generateModuleFacades(facades: ModuleFacade[]) { + // Write facade files + + for (const facade of facades) { + fs.write(facade[0], facade[1] + os.EOL) + } + + // Handle package.json files array + + const packageJsonPath = path.join(__dirname, '..', 'package.json') + const packageJson = fs.read(packageJsonPath, 'json') as PackageJson + + packageJson.files = lo.uniq([...(packageJson.files ?? []), ...facades.map((facade) => facade[0])]) + + const packageJsonString = JSON.stringify(packageJson, null, 2) + os.EOL + + fs.write(packageJsonPath, packageJsonString) +} + +type ModuleFacade = [filePath: string, fileContents: string] diff --git a/src/scalars.ts b/src/scalars.ts new file mode 100644 index 000000000..e69de29bb From 89a2eeb7ff294fd948b65e3a31142aff2beb12bd Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Mon, 8 Mar 2021 13:59:21 -0500 Subject: [PATCH 8/9] add integration test --- .github/workflows/pr.yml | 1 + .github/workflows/trunk.yml | 1 + package.json | 29 +- src/generator/models/declaration.ts | 4 +- src/scalars.ts | 0 src/scalars/DateTime.ts | 5 + src/scalars/Json.ts | 12 + src/scalars/index.ts | 2 + tests/__helpers__.ts | 74 +++ tests/__snapshots__/runtime.test.ts.snap | 6 +- .../__snapshots__/scalars.test.ts.snap | 201 ++++++ tests/integration/integration.test.ts | 4 - tests/integration/scalars.test.ts | 157 +++++ tests/lib/peerDepValidator.test.ts | 44 +- tests/tsconfig.json | 1 + yarn.lock | 609 ++++++++++-------- 16 files changed, 825 insertions(+), 325 deletions(-) delete mode 100644 src/scalars.ts create mode 100644 src/scalars/DateTime.ts create mode 100644 src/scalars/Json.ts create mode 100644 src/scalars/index.ts create mode 100644 tests/integration/__snapshots__/scalars.test.ts.snap delete mode 100644 tests/integration/integration.test.ts create mode 100644 tests/integration/scalars.test.ts diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index f5df40edd..f706338e7 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -38,6 +38,7 @@ jobs: uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} + - run: yarn global add yalc - run: yarn --frozen-lockfile - run: yarn -s build - run: yarn -s test diff --git a/.github/workflows/trunk.yml b/.github/workflows/trunk.yml index f2be09aa1..fe47c42b8 100644 --- a/.github/workflows/trunk.yml +++ b/.github/workflows/trunk.yml @@ -18,6 +18,7 @@ jobs: uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} + - run: yarn global add yalc - run: yarn --frozen-lockfile - run: yarn -s build diff --git a/package.json b/package.json index 1e1f7c7f2..0c263ed94 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,7 @@ "scalars.d.ts" ], "bin": { - "nexus-prisma": "./dist/cli/nexus-prisma.js", - "nexus-prisma-2": "./dist/cli/nexus-prisma.js" + "nexus-prisma": "./dist/cli/nexus-prisma.js" }, "scripts": { "format": "prettier --write .", @@ -23,9 +22,9 @@ "lint:check": "eslint . --ext .ts,.tsx --max-warnings 0", "dev": "tsc --build --watch", "dev:ts": "yarn dev", - "dev:yalc": "nodemon --exec 'yalc push --no-scripts && chmod +x /Users/jasonkuhrt/projects/prisma/cloud/node_modules/.bin/nexus-prisma-2' --watch 'dist/**/*'", + "dev:yalc": "nodemon --exec 'yalc push --no-scripts' --watch 'dist/**/*'", "build:module-facades": "ts-node scripts/build-module-facades", - "build": "yarn clean && tsc && yarn build:module-facades", + "build": "yarn clean && yarn build:module-facades && tsc", "test": "jest", "tdd": "jest --watch", "clean": "rm -rf dist && rm -rf node_modules/.cache", @@ -36,13 +35,14 @@ }, "devDependencies": { "@prisma-labs/prettier-config": "0.1.0", - "@prisma/client": "2.17.0", - "@prisma/sdk": "^2.17.0", + "@prisma/client": "2.18.0", + "@prisma/sdk": "^2.18.0", "@types/debug": "^4.1.5", "@types/jest": "26.0.20", "@types/lodash": "^4.14.168", "@types/pluralize": "^0.0.29", "@types/semver": "^7.3.4", + "@types/strip-ansi": "^5.2.1", "@typescript-eslint/eslint-plugin": "^4.16.1", "@typescript-eslint/parser": "^4.16.1", "dripip": "0.10.0", @@ -50,7 +50,6 @@ "eslint-config-prettier": "^8.1.0", "eslint-plugin-only-warn": "^1.0.2", "execa": "^5.0.0", - "fs-jetpack": "^4.1.0", "graphql": "^15.5.0", "jest": "26.6.3", "jest-watch-typeahead": "0.6.1", @@ -58,12 +57,13 @@ "nexus": "^1.0.0", "nodemon": "^2.0.7", "prettier": "2.2.1", - "prettier-plugin-jsdoc": "^0.3.12", - "prisma": "2.17.0", - "ts-jest": "26.5.1", + "prettier-plugin-jsdoc": "^0.3.13", + "prisma": "2.18.0", + "strip-ansi": "^6.0.0", + "ts-jest": "26.5.3", "ts-node": "^9.1.1", "type-fest": "^0.21.2", - "typescript": "^4.2.2" + "typescript": "^4.2.3" }, "prettier": "@prisma-labs/prettier-config", "peerDependencies": { @@ -71,15 +71,18 @@ "nexus": "^1.0.0" }, "dependencies": { - "@prisma/generator-helper": "^2.17.0", + "@prisma/generator-helper": "^2.18.0", "debug": "^4.3.1", "endent": "^2.0.1", + "fs-jetpack": "^4.1.0", + "graphql-scalars": "^1.9.0", "kleur": "^4.1.4", "ono": "^7.1.3", "pkg-up": "^3.1.0", "pluralize": "^8.0.0", "semver": "^7.3.4", - "setset": "^0.0.6" + "setset": "^0.0.6", + "tslib": "^2.1.0" }, "nodemonConfig": { "events": { diff --git a/src/generator/models/declaration.ts b/src/generator/models/declaration.ts index 0d396721d..40efd3f6a 100644 --- a/src/generator/models/declaration.ts +++ b/src/generator/models/declaration.ts @@ -27,7 +27,7 @@ export function renderTypeScriptDeclarationForDocumentModels(dmmf: DMMF.Document // Types // - namespace $Types { + declare namespace $Types { ${models.map(renderTypeScriptDeclarationForModel).join('\n\n')} } @@ -140,7 +140,7 @@ export function fieldTypeToGraphQLType(field: DMMF.Field): LiteralUnion { return runtime } + +export function setupTestProject({ + packageJson, + tsconfigJson, +}: { + packageJson?: PackageJson + tsconfigJson?: TsConfigJson +} = {}): TestProject { + const tmpdir = fs.tmpDir() + + tmpdir.write( + 'package.json', + merge( + { + name: 'some-test-project', + version: '1.0.0', + }, + packageJson + ) + ) + + tmpdir.write( + 'tsconfig.json', + merge( + { + compilerOptions: { + strict: true, + noEmit: true, + target: 'ES2018', + module: 'CommonJS', + moduleResolution: 'Node', + }, + }, + tsconfigJson + ) + ) + + const api: TestProject = { + tmpdir, + run(command, options) { + return execa.commandSync(command, { + reject: false, + ...options, + cwd: tmpdir.cwd(), + }) + }, + } + + return api +} + +export interface TestProject { + tmpdir: FSJetpack + run(command: string, options?: execa.SyncOptions): execa.ExecaSyncReturnValue +} + +export function assertBuildPresent() { + if (fs.exists('../../dist')) { + throw new Error(`Please build package before running this test`) + } +} diff --git a/tests/__snapshots__/runtime.test.ts.snap b/tests/__snapshots__/runtime.test.ts.snap index 7d4450b9d..f88068b61 100644 --- a/tests/__snapshots__/runtime.test.ts.snap +++ b/tests/__snapshots__/runtime.test.ts.snap @@ -20,7 +20,7 @@ import * as NexusCore from 'nexus/dist/core' // Types // -namespace $Types { +declare namespace $Types { /** * ### 📔 Missing Model Documentation for \`M1\` * @@ -383,7 +383,7 @@ namespace $Types { /** * The type of this field. */ - type: NexusCore.NexusNonNullDef<'String'> + type: NexusCore.NexusNonNullDef<'DateTime'> /** * The documentation of this field. @@ -431,7 +431,7 @@ namespace $Types { /** * The type of this field. */ - type: NexusCore.NexusNonNullDef<'String'> + type: NexusCore.NexusNonNullDef<'Json'> /** * The documentation of this field. diff --git a/tests/integration/__snapshots__/scalars.test.ts.snap b/tests/integration/__snapshots__/scalars.test.ts.snap new file mode 100644 index 000000000..33c85339f --- /dev/null +++ b/tests/integration/__snapshots__/scalars.test.ts.snap @@ -0,0 +1,201 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`When bundled custom scalars are used the project type checks and generates expected GraphQL schema 1`] = ` +"### This file was generated by Nexus Schema +### Do not make changes to this file directly + + +\\"\\"\\" +A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the \`date-time\` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. +\\"\\"\\" +scalar DateTime + +\\"\\"\\" +The \`JSONObject\` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). +\\"\\"\\" +scalar Json + +type Query { + ok: Boolean! +} + +type SomeObject { + DateTimeManually: DateTime + JsonManually: Json + someDateTimeField: DateTime! + someJsonField: Json! +} +" +`; + +exports[`When bundled custom scalars are used the project type checks and generates expected GraphQL schema 2`] = ` +"/** + * This file was generated by Nexus Schema + * Do not make changes to this file directly + */ + + +import { core } from \\"nexus\\" +declare global { + interface NexusGenCustomInputMethods { + /** + * A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the \`date-time\` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. + */ + dateTime(fieldName: FieldName, opts?: core.CommonInputFieldConfig): void // \\"DateTime\\"; + /** + * The \`JSONObject\` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). + */ + json(fieldName: FieldName, opts?: core.CommonInputFieldConfig): void // \\"Json\\"; + } +} +declare global { + interface NexusGenCustomOutputMethods { + /** + * A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the \`date-time\` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. + */ + dateTime(fieldName: FieldName, ...opts: core.ScalarOutSpread): void // \\"DateTime\\"; + /** + * The \`JSONObject\` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). + */ + json(fieldName: FieldName, ...opts: core.ScalarOutSpread): void // \\"Json\\"; + } +} + + +declare global { + interface NexusGen extends NexusGenTypes {} +} + +export interface NexusGenInputs { +} + +export interface NexusGenEnums { +} + +export interface NexusGenScalars { + String: string + Int: number + Float: number + Boolean: boolean + ID: string + DateTime: any + Json: any +} + +export interface NexusGenObjects { + Query: {}; + SomeObject: { // root type + DateTimeManually?: NexusGenScalars['DateTime'] | null; // DateTime + JsonManually?: NexusGenScalars['Json'] | null; // Json + someDateTimeField: NexusGenScalars['DateTime']; // DateTime! + someJsonField: NexusGenScalars['Json']; // Json! + } +} + +export interface NexusGenInterfaces { +} + +export interface NexusGenUnions { +} + +export type NexusGenRootTypes = NexusGenObjects + +export type NexusGenAllTypes = NexusGenRootTypes & NexusGenScalars + +export interface NexusGenFieldTypes { + Query: { // field return type + ok: boolean; // Boolean! + } + SomeObject: { // field return type + DateTimeManually: NexusGenScalars['DateTime'] | null; // DateTime + JsonManually: NexusGenScalars['Json'] | null; // Json + someDateTimeField: NexusGenScalars['DateTime']; // DateTime! + someJsonField: NexusGenScalars['Json']; // Json! + } +} + +export interface NexusGenFieldTypeNames { + Query: { // field return type name + ok: 'Boolean' + } + SomeObject: { // field return type name + DateTimeManually: 'DateTime' + JsonManually: 'Json' + someDateTimeField: 'DateTime' + someJsonField: 'Json' + } +} + +export interface NexusGenArgTypes { +} + +export interface NexusGenAbstractTypeMembers { +} + +export interface NexusGenTypeInterfaces { +} + +export type NexusGenObjectNames = keyof NexusGenObjects; + +export type NexusGenInputNames = never; + +export type NexusGenEnumNames = never; + +export type NexusGenInterfaceNames = never; + +export type NexusGenScalarNames = keyof NexusGenScalars; + +export type NexusGenUnionNames = never; + +export type NexusGenObjectsUsingAbstractStrategyIsTypeOf = never; + +export type NexusGenAbstractsUsingStrategyResolveType = never; + +export type NexusGenFeaturesConfig = { + abstractTypeStrategies: { + isTypeOf: false + resolveType: true + __typename: false + } +} + +export interface NexusGenTypes { + context: any; + inputTypes: NexusGenInputs; + rootTypes: NexusGenRootTypes; + inputTypeShapes: NexusGenInputs & NexusGenEnums & NexusGenScalars; + argTypes: NexusGenArgTypes; + fieldTypes: NexusGenFieldTypes; + fieldTypeNames: NexusGenFieldTypeNames; + allTypes: NexusGenAllTypes; + typeInterfaces: NexusGenTypeInterfaces; + objectNames: NexusGenObjectNames; + inputNames: NexusGenInputNames; + enumNames: NexusGenEnumNames; + interfaceNames: NexusGenInterfaceNames; + scalarNames: NexusGenScalarNames; + unionNames: NexusGenUnionNames; + allInputTypes: NexusGenTypes['inputNames'] | NexusGenTypes['enumNames'] | NexusGenTypes['scalarNames']; + allOutputTypes: NexusGenTypes['objectNames'] | NexusGenTypes['enumNames'] | NexusGenTypes['unionNames'] | NexusGenTypes['interfaceNames'] | NexusGenTypes['scalarNames']; + allNamedTypes: NexusGenTypes['allInputTypes'] | NexusGenTypes['allOutputTypes'] + abstractTypes: NexusGenTypes['interfaceNames'] | NexusGenTypes['unionNames']; + abstractTypeMembers: NexusGenAbstractTypeMembers; + objectsUsingAbstractStrategyIsTypeOf: NexusGenObjectsUsingAbstractStrategyIsTypeOf; + abstractsUsingStrategyResolveType: NexusGenAbstractsUsingStrategyResolveType; + features: NexusGenFeaturesConfig; +} + + +declare global { + interface NexusGenPluginTypeConfig { + } + interface NexusGenPluginFieldConfig { + } + interface NexusGenPluginInputFieldConfig { + } + interface NexusGenPluginSchemaConfig { + } + interface NexusGenPluginArgConfig { + } +}" +`; diff --git a/tests/integration/integration.test.ts b/tests/integration/integration.test.ts deleted file mode 100644 index 38729a27d..000000000 --- a/tests/integration/integration.test.ts +++ /dev/null @@ -1,4 +0,0 @@ -it.todo('allows projects to work with models before generation without error via internal runtime proxy') -it.todo('is not typesafe before generation') -it.todo('is typesafe after generation') -it.todo('is filled with runtime data after generation') diff --git a/tests/integration/scalars.test.ts b/tests/integration/scalars.test.ts new file mode 100644 index 000000000..19a6db915 --- /dev/null +++ b/tests/integration/scalars.test.ts @@ -0,0 +1,157 @@ +import * as Execa from 'execa' +import stripAnsi from 'strip-ansi' +import { assertBuildPresent, createSchema, setupTestProject, TestProject } from '../__helpers__' + +function setupTestProjectCase({ + prismaSchema, + main, + testProject, +}: { + testProject: TestProject + prismaSchema: string + main: string +}) { + testProject.tmpdir.write('main.ts', main) + testProject.tmpdir.write('prisma/schema.prisma', prismaSchema) +} + +interface ProjectResult { + runFirstBuild: Execa.ExecaSyncReturnValue + runReflectPrisma: Execa.ExecaSyncReturnValue + runReflectNexus: Execa.ExecaSyncReturnValue + runSecondBuildStdout: Execa.ExecaSyncReturnValue + graphqlSchema?: string + typegen?: string +} + +function runTestProject(testProject: TestProject): ProjectResult { + const commandConfig: Execa.SyncOptions = { + reject: false, + cwd: testProject.tmpdir.cwd(), + } + const runFirstBuild = Execa.commandSync(`npm run build`, commandConfig) + const runReflectPrisma = Execa.commandSync(`npm run reflect:prisma`, commandConfig) + const runReflectNexus = Execa.commandSync(`npm run reflect:nexus`, commandConfig) + const runSecondBuildStdout = Execa.commandSync(`npm run build`, commandConfig) + const graphqlSchema = testProject.tmpdir.read('schema.graphql') + const typegen = testProject.tmpdir.read('typegen.ts') + + return { + runFirstBuild, + runReflectPrisma, + runReflectNexus, + runSecondBuildStdout, + graphqlSchema, + typegen, + } +} + +function setupTestNexusPrismaProject(): TestProject { + const testProject = setupTestProject({ + packageJson: { + scripts: { + 'reflect:prisma': 'prisma generate', + 'reflect:nexus': 'ts-node --transpile-only main', + build: 'tsc', + }, + dependencies: { + '@prisma/client': '^2.18.0', + '@types/node': '^14.14.32', + graphql: '^15.5.0', + nexus: '^1.0.0', + prisma: '^2.18.0', + 'ts-node': '^9.1.1', + typescript: '^4.2.3', + }, + }, + }) + + Execa.commandSync(`yalc publish --no-scripts`) + testProject.run(`yalc add nexus-prisma`) + testProject.run(`npm install`) + + return testProject +} + +let testProject: TestProject + +beforeAll(() => { + assertBuildPresent() + testProject = setupTestNexusPrismaProject() +}) + +it('When bundled custom scalars are used the project type checks and generates expected GraphQL schema', () => { + setupTestProjectCase({ + testProject, + main: ` + import { makeSchema, objectType } from 'nexus' + import { M1 } from 'nexus-prisma' + import * as customScalars from 'nexus-prisma/scalars' + import * as Path from 'path' + + const SomeObject = objectType({ + name: 'SomeObject', + definition(t) { + t.json('JsonManually') + t.dateTime('DateTimeManually') + t.field(M1.someJsonField.name, M1.someJsonField) + t.field(M1.someDateTimeField.name, M1.someDateTimeField) + }, + }) + + makeSchema({ + types: [customScalars, SomeObject], + shouldGenerateArtifacts: true, + shouldExitAfterGenerateArtifacts: true, + outputs: { + schema: true, + typegen: Path.join(__dirname, 'typegen.ts'), + }, + }) + + // wait for output generation + setTimeout(() => {}, 1000) + `, + prismaSchema: createSchema(` + model M1 { + id String @id + someJsonField Json + someDateTimeField DateTime + } + `), + }) + + // uncomment this to see dir (helpful to go there yourself and manually debug) + // console.log(testProject.tmpdir.cwd()) + + const results = runTestProject(testProject) + + // uncomment this to see the raw results (helpful for debugging) + // dump(results) + + expect(results.runFirstBuild.exitCode).toBe(2) + + expect(stripAnsi(results.runFirstBuild.stdout)).toMatch( + /.*error TS2305: Module '"nexus-prisma"' has no exported member 'M1'.*/ + ) + expect(stripAnsi(results.runFirstBuild.stdout)).toMatch( + /.*error TS2339: Property 'json' does not exist on type 'ObjectDefinitionBlock<"SomeObject">'.*/ + ) + expect(stripAnsi(results.runFirstBuild.stdout)).toMatch( + /.*error TS2339: Property 'dateTime' does not exist on type 'ObjectDefinitionBlock<"SomeObject">'.*/ + ) + + expect(results.runReflectPrisma.exitCode).toBe(0) + + expect(stripAnsi(results.runReflectPrisma.stdout)).toMatch(/.*Generated Nexus Prisma.*/) + + expect(results.runReflectNexus.exitCode).toBe(0) + + expect(stripAnsi(results.runReflectNexus.stdout)).toMatch(/.*Generated Artifacts.*/) + + expect(results.runSecondBuildStdout.exitCode).toBe(0) + + expect(results.graphqlSchema).toMatchSnapshot() + + expect(results.typegen).toMatchSnapshot() +}) diff --git a/tests/lib/peerDepValidator.test.ts b/tests/lib/peerDepValidator.test.ts index dda23ec9e..f89da7477 100644 --- a/tests/lib/peerDepValidator.test.ts +++ b/tests/lib/peerDepValidator.test.ts @@ -1,9 +1,8 @@ import endent from 'endent' -import * as execa from 'execa' -import * as fs from 'fs-jetpack' -import { FSJetpack } from 'fs-jetpack/types' +import * as Execa from 'execa' import { merge, omit } from 'lodash' import { PackageJson } from 'type-fest' +import { assertBuildPresent, setupTestProject, TestProject } from '../__helpers__' /** Setup */ @@ -17,29 +16,17 @@ const peerDep = { name: 'charlie', } -process.exit - -let tmpdir: FSJetpack +let testProject: TestProject beforeAll(() => { - if (fs.exists('../../dist')) { - throw new Error(`Please build package before running this test`) - } - - tmpdir = fs.tmpDir() - // console.log(tmpdir.cwd()) - - // Setup project + assertBuildPresent() + testProject = setupTestProject() - tmpdir.write('package.json', { - name: 'myapp', - version: '1.0.0', - dependencies: {}, - }) + const { tmpdir } = testProject // setup alpha dep that has peer dep requirements - execa.commandSync(`yarn add kleur semver tslib endent debug fs-jetpack --production`, { cwd: tmpdir.cwd() }) + Execa.commandSync(`yarn add kleur semver tslib endent debug fs-jetpack --production`, { cwd: tmpdir.cwd() }) tmpdir.write(`node_modules/${requireer.name}/package.json`, { name: requireer.name, @@ -88,7 +75,7 @@ beforeAll(() => { }) beforeEach(() => { - tmpdir.remove(`node_modules/${peerDep.name}`) + testProject.tmpdir.remove(`node_modules/${peerDep.name}`) }) /** Helpers */ @@ -105,21 +92,20 @@ function setupDep({ packageJson?: (defaultPackageJson: PackageJson) => PackageJson | string }): void { const depdir = `node_modules/${name}` - tmpdir.write(`${depdir}/package.json`, packageJson({ name, version, main: './index.js' })) - tmpdir.write(`${depdir}/index.js`, main) + testProject.tmpdir.write(`${depdir}/package.json`, packageJson({ name, version, main: './index.js' })) + testProject.tmpdir.write(`${depdir}/index.js`, main) } function setupPeerDepRequirement({ name, range }: { name: string; range: string }) { - const old = tmpdir.read(`node_modules/${requireer.name}/package.json`, 'json') - tmpdir.write( + const old = testProject.tmpdir.read(`node_modules/${requireer.name}/package.json`, 'json') + testProject.tmpdir.write( `node_modules/${requireer.name}/package.json`, merge(old, { peerDependencies: { [name]: range } }) ) } function runValidatePeerDependencies() { - return execa.commandSync('node validatePeerDependencies.js', { - cwd: tmpdir.cwd(), + return testProject.run('node validatePeerDependencies.js', { env: { ...process.env, FORCE_COLOR: '0', @@ -128,14 +114,12 @@ function runValidatePeerDependencies() { } function runEnforceValidPeerDependencies(params?: { env?: Record }) { - return execa.commandSync('node enforceValidPeerDependencies.js', { - cwd: tmpdir.cwd(), + return testProject.run('node enforceValidPeerDependencies.js', { env: { ...process.env, FORCE_COLOR: '0', ...params?.env, }, - reject: false, }) } diff --git a/tests/tsconfig.json b/tests/tsconfig.json index 08a25d9b5..07b82a625 100644 --- a/tests/tsconfig.json +++ b/tests/tsconfig.json @@ -3,6 +3,7 @@ "references": [{ "path": ".." }], "include": [".."], "compilerOptions": { + "strict": true, "tsBuildInfoFile": "node_modules/.cache/.tsbuildinfo.test", "rootDir": ".." } diff --git a/yarn.lock b/yarn.lock index 42708d2b3..63a483085 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,36 +16,52 @@ dependencies: "@babel/highlight" "^7.12.13" +"@babel/compat-data@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.8.tgz#5b783b9808f15cef71547f1b691f34f8ff6003a6" + integrity sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog== + "@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.17.tgz#993c5e893333107a2815d8e0d73a2c3755e280b2" - integrity sha512-V3CuX1aBywbJvV2yzJScRxeiiw0v2KZZYYE3giywxzFJL13RiyPjaaDwhDnxmgFTTS7FgvM2ijr4QmKNIu0AtQ== + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.8.tgz#c191d9c5871788a591d69ea1dc03e5843a3680fb" + integrity sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg== dependencies: "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.12.17" - "@babel/helper-module-transforms" "^7.12.17" - "@babel/helpers" "^7.12.17" - "@babel/parser" "^7.12.17" + "@babel/generator" "^7.13.0" + "@babel/helper-compilation-targets" "^7.13.8" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helpers" "^7.13.0" + "@babel/parser" "^7.13.4" "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.17" - "@babel/types" "^7.12.17" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" convert-source-map "^1.7.0" debug "^4.1.0" - gensync "^1.0.0-beta.1" + gensync "^1.0.0-beta.2" json5 "^2.1.2" lodash "^4.17.19" - semver "^5.4.1" + semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.17.tgz#9ef1dd792d778b32284411df63f4f668a9957287" - integrity sha512-DSA7ruZrY4WI8VxuS1jWSRezFnghEoYEFrZcw9BizQRmOZiUsiHl59+qEARGPqPikwA/GPTyRCi7isuCK/oyqg== +"@babel/generator@^7.13.0": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz#3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39" + integrity sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw== dependencies: - "@babel/types" "^7.12.17" + "@babel/types" "^7.13.0" jsesc "^2.5.1" source-map "^0.5.0" +"@babel/helper-compilation-targets@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz#02bdb22783439afb11b2f009814bdd88384bd468" + integrity sha512-pBljUGC1y3xKLn1nrx2eAhurLMA8OqBtBP/JwG4U8skN7kf8/aqwwxpV1N6T0e7r6+7uNitIa/fUxPFagSXp3A== + dependencies: + "@babel/compat-data" "^7.13.8" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "^6.3.0" + "@babel/helper-function-name@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" @@ -62,12 +78,12 @@ dependencies: "@babel/types" "^7.12.13" -"@babel/helper-member-expression-to-functions@^7.12.13": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.17.tgz#f82838eb06e1235307b6d71457b6670ff71ee5ac" - integrity sha512-Bzv4p3ODgS/qpBE0DiJ9qf5WxSmrQ8gVTe8ClMfwwsY2x/rhykxxy3bXzG7AGTnPB2ij37zGJ/Q/6FruxHxsxg== +"@babel/helper-member-expression-to-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz#6aa4bb678e0f8c22f58cdb79451d30494461b091" + integrity sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ== dependencies: - "@babel/types" "^7.12.17" + "@babel/types" "^7.13.0" "@babel/helper-module-imports@^7.12.13": version "7.12.13" @@ -76,19 +92,19 @@ dependencies: "@babel/types" "^7.12.13" -"@babel/helper-module-transforms@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.17.tgz#7c75b987d6dfd5b48e575648f81eaac891539509" - integrity sha512-sFL+p6zOCQMm9vilo06M4VHuTxUAwa6IxgL56Tq1DVtA0ziAGTH1ThmJq7xwPqdQlgAbKX3fb0oZNbtRIyA5KQ== +"@babel/helper-module-transforms@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz#42eb4bd8eea68bab46751212c357bfed8b40f6f1" + integrity sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw== dependencies: "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" "@babel/helper-simple-access" "^7.12.13" "@babel/helper-split-export-declaration" "^7.12.13" "@babel/helper-validator-identifier" "^7.12.11" "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.17" - "@babel/types" "^7.12.17" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" lodash "^4.17.19" "@babel/helper-optimise-call-expression@^7.12.13": @@ -99,19 +115,19 @@ "@babel/types" "^7.12.13" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.8.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb" - integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA== + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" + integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== -"@babel/helper-replace-supers@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz#00ec4fb6862546bd3d0aff9aac56074277173121" - integrity sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg== +"@babel/helper-replace-supers@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz#6034b7b51943094cb41627848cb219cb02be1d24" + integrity sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw== dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.13.0" "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" "@babel/helper-simple-access@^7.12.13": version "7.12.13" @@ -132,16 +148,21 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/helpers@^7.12.17": +"@babel/helper-validator-option@^7.12.17": version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.17.tgz#71e03d2981a6b5ee16899964f4101dc8471d60bc" - integrity sha512-tEpjqSBGt/SFEsFikKds1sLNChKKGGR17flIgQKXH4fG6m9gTgl3gnOC1giHNyaBCSKuTfxaSzHi7UnvqiVKxg== + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" + integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== + +"@babel/helpers@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.0.tgz#7647ae57377b4f0408bf4f8a7af01c42e41badc0" + integrity sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ== dependencies: "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.17" - "@babel/types" "^7.12.17" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" -"@babel/highlight@^7.10.4": +"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": version "7.13.8" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.8.tgz#10b2dac78526424dfc1f47650d0e415dfd9dc481" integrity sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw== @@ -150,19 +171,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/highlight@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" - integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.17.tgz#bc85d2d47db38094e5bb268fc761716e7d693848" - integrity sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.0", "@babel/parser@^7.13.4": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" + integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -257,25 +269,25 @@ "@babel/parser" "^7.12.13" "@babel/types" "^7.12.13" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.13", "@babel/traverse@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.17.tgz#40ec8c7ffb502c4e54c7f95492dc11b88d718619" - integrity sha512-LGkTqDqdiwC6Q7fWSwQoas/oyiEYw6Hqjve5KOSykXkmFJFqzvGMb9niaUEag3Rlve492Mkye3gLw9FTv94fdQ== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.0.tgz#6d95752475f86ee7ded06536de309a65fc8966cc" + integrity sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ== dependencies: "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.12.17" + "@babel/generator" "^7.13.0" "@babel/helper-function-name" "^7.12.13" "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.12.17" - "@babel/types" "^7.12.17" + "@babel/parser" "^7.13.0" + "@babel/types" "^7.13.0" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.12.17", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.17.tgz#9d711eb807e0934c90b8b1ca0eb1f7230d150963" - integrity sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ== +"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.0.tgz#74424d2816f0171b4100f0ab34e9a374efdf7f80" + integrity sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA== dependencies: "@babel/helper-validator-identifier" "^7.12.11" lodash "^4.17.19" @@ -647,29 +659,29 @@ "@octokit/types" "^6.0.3" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-5.1.0.tgz#661fd03c7d55fbcb0a0937d3353d87dea012f52c" - integrity sha512-bodZvSYgycbUuuKrC/anCBUExvaSSWzMMFz0xl7pcJujxnmGxvqvcFHktjx1ZOSyeNKLfYF0QCgibaHUGsZTng== +"@octokit/openapi-types@^5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-5.3.1.tgz#a49d119a1b9e47b7a9f5133ab14be2d8afaa183d" + integrity sha512-TvVk2QuIA0lQZcIMd6xbdGaGDVeNYIOa3l1ZVagAIk5K3t/WMYbcg4BISNDhzdVhm/TgQB26frAgd/GV81aHJA== "@octokit/plugin-paginate-rest@^2.6.2": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.10.0.tgz#5925156d809c94b7bfc47b28e17488415548fa67" - integrity sha512-71OsKBSMcQEu/6lfVbhv5C5ikU1rn10rKot/WiV7do7fyfElQ2eCUQFogHPbj0ci5lnKAjvahOiMAr6lcvL8Qw== + version "2.11.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.11.0.tgz#3568c43896a3355f4a0bbb3a64f443b2abdc760d" + integrity sha512-7L9xQank2G3r1dGqrVPo1z62V5utbykOUzlmNHPz87Pww/JpZQ9KyG5CHtUzgmB4n5iDRKYNK/86A8D98HP0yA== dependencies: - "@octokit/types" "^6.10.0" + "@octokit/types" "^6.11.0" "@octokit/plugin-request-log@^1.0.2": version "1.0.3" resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz#70a62be213e1edc04bb8897ee48c311482f9700d" integrity sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ== -"@octokit/plugin-rest-endpoint-methods@4.10.3": - version "4.10.3" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.10.3.tgz#d78ddf926bca3b81a4d9b79a463d32b3750a4485" - integrity sha512-CsNQeVY34Vs9iea2Z9/TCPlebxv6KpjO9f1BUPz+14qundTSYT9kgf8j5wA1k37VstfBQ4xnuURYdnbGzJBJXw== +"@octokit/plugin-rest-endpoint-methods@4.13.4": + version "4.13.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.13.4.tgz#093b130d558760f6bc912c6f622ce502522410af" + integrity sha512-MGxptzVfiP8O+aydC/riheYzS/yJ9P16M29OuvtZep/sF5sKuOCQP8Wf83YCKXRsQF+ZpYfke2snbPPSIMZKzg== dependencies: - "@octokit/types" "^6.8.3" + "@octokit/types" "^6.12.0" deprecation "^2.3.1" "@octokit/request-error@^2.0.0": @@ -696,51 +708,51 @@ universal-user-agent "^6.0.0" "@octokit/rest@^18.0.3": - version "18.1.1" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.1.1.tgz#bd7053c28db3577c936029e9da6bfbd046474a2f" - integrity sha512-ZcCHMyfGT1qtJD72usigAfUQ6jU89ZUPFb2AOubR6WZ7/RRFVZUENVm1I2yvJBUicqTujezPW9cY1+o3Mb4rNA== + version "18.3.4" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.3.4.tgz#8e7ab02cd509e2fe7e71917a54254a8f8b827f20" + integrity sha512-NES0pHbwyFB1D0jrLkdnIXgEmze/gLE0JoSNgfAe4vwD77/qaQGO/lRWNuPPsoBVBjiW6mmA9CU5cYHujJTKQA== dependencies: "@octokit/core" "^3.2.3" "@octokit/plugin-paginate-rest" "^2.6.2" "@octokit/plugin-request-log" "^1.0.2" - "@octokit/plugin-rest-endpoint-methods" "4.10.3" + "@octokit/plugin-rest-endpoint-methods" "4.13.4" -"@octokit/types@^6.0.3", "@octokit/types@^6.10.0", "@octokit/types@^6.7.1", "@octokit/types@^6.8.3": - version "6.10.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.10.0.tgz#243faa864b0955f574012d52e179de38ac9ebafe" - integrity sha512-aMDo10kglofejJ96edCBIgQLVuzMDyjxmhdgEcoUUD64PlHYSrNsAGqN0wZtoiX4/PCQ3JLA50IpkP1bcKD/cA== +"@octokit/types@^6.0.3", "@octokit/types@^6.11.0", "@octokit/types@^6.12.0", "@octokit/types@^6.7.1": + version "6.12.1" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.12.1.tgz#74cc9240d84706d1f2f5970425c90af016b0a9ac" + integrity sha512-eZTTWJxGBon01Ra4EX86rvlMZGkU5SeJ8BtwQlsv2wEqZttpjtefLetJndZTVbJ25qFKoyKMWsRFnwlOx7ZaDQ== dependencies: - "@octokit/openapi-types" "^5.1.0" + "@octokit/openapi-types" "^5.3.1" "@prisma-labs/prettier-config@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@prisma-labs/prettier-config/-/prettier-config-0.1.0.tgz#ef6cb5f89487974ca997516e9b39d5ccbefeeaad" integrity sha512-P0h2y+gnIxFP2HdsTYSYHWmabGBlxyVjnUepsrRe8gAF36mxOonGsbsQmKt/Q9H9CMjrSkFoDe5F5HLi2iW5/Q== -"@prisma/client@2.17.0": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-2.17.0.tgz#e38462796c2e824504763416f5e3a7219d70652d" - integrity sha512-tzsBxtx9J1epOGCiBeXur1tEz81UIdWg2G/HpDmflXKcv/MJb+KCWSKSsEW49eXcvVwRgxNyxLoCO6CwvjQKcg== +"@prisma/client@2.18.0": + version "2.18.0" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-2.18.0.tgz#bff0a206f3caf7525583c703146f835dee0b5ad6" + integrity sha512-tRu0bdYNKIdWnFIbtgUmZyPgtDLV3AgwO8NYXirlbSn5poygbSaV87UfOBh1NmrvjS9EBP5dQv+bs62sVB84hA== dependencies: - "@prisma/engines-version" "2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223" + "@prisma/engines-version" "2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1" -"@prisma/debug@2.17.0": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-2.17.0.tgz#0caa176d5c81e6cf1ad71c5da5e5796f4cb621ae" - integrity sha512-ZKjPqOhtSQUPJMmGQJT+XU3cmGzljgdAcJrXb5TcwEPSznUhsuCcC6MItbJ6QB+n1Aeeg3kK0CniRBlF8ZGw4A== +"@prisma/debug@2.18.0": + version "2.18.0" + resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-2.18.0.tgz#850abd31c0a9ea43638805bdba6446ea483e9a1b" + integrity sha512-t9JBGWKMbcBvXuxf9irI0qC1DfEP9k1G4/1P5LMlhBDMn43Jlu2UEmqYEqWtZUbyB0IHslXobn1hcb/9ibi/LA== dependencies: debug "4.3.2" ms "^2.1.3" -"@prisma/engine-core@2.17.0": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@prisma/engine-core/-/engine-core-2.17.0.tgz#c37c8d66d34c030a53c5bd172179c00ea79560ec" - integrity sha512-AVOCq+Mn4HISp8h4nle3ip3K8hnC7ns83pJSslozblAJILvPZ62fEee30aM3jWClnNGEIkfChB2qbe8lDELCBw== +"@prisma/engine-core@2.18.0": + version "2.18.0" + resolved "https://registry.yarnpkg.com/@prisma/engine-core/-/engine-core-2.18.0.tgz#260fb1e78a25042484d70b7280334c96b72fa02e" + integrity sha512-GsYLoCrnPtTBvlp7557ZUqboFx92UaJYbWVXxudrSGkyUSpJlnkAcqvBbsUflgC/dhANH+H1+8AdUNl9SAVUxQ== dependencies: - "@prisma/debug" "2.17.0" - "@prisma/engines" "2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223" - "@prisma/generator-helper" "2.17.0" - "@prisma/get-platform" "2.17.0" + "@prisma/debug" "2.18.0" + "@prisma/engines" "2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1" + "@prisma/generator-helper" "2.18.0" + "@prisma/get-platform" "2.18.0" chalk "^4.0.0" execa "^5.0.0" get-stream "^6.0.0" @@ -750,23 +762,23 @@ terminal-link "^2.1.1" undici "3.3.3" -"@prisma/engines-version@2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223": - version "2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223.tgz#9ae6ed4467a0febff8afaf216c1bb67225f51b84" - integrity sha512-9idv5blqPUlvUPVT48eVi3T0RS/NBklUcjrla3jWyV8AYfB2BdaG/Zci7H5ajyYLnfZZHG9tBpP0LcveQCFH8A== +"@prisma/engines-version@2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1": + version "2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1.tgz#c595c9d85ab2c67b67d0eb7bfbb0a3b05b41fdbe" + integrity sha512-+Eljsb1XItfq9B6vRTA1Oe4CQOGAxbsjtPAIORZwaU4Gt9RybnXapFlrQ8Mac89PXeSgcO4RnPSLEYhcd3kSVg== -"@prisma/engines@2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223": - version "2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223.tgz#08bc3633fd27fb1935805ef16c37802ed713db5b" - integrity sha512-FKjVD6NYbGiQhwas3hA2uMpNchz+Mf3tv5qA8Ci9cAkKHGqt3jWjjUAK9juVBqeOcv4OPimQYMrkRX6SvaxBjg== +"@prisma/engines@2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1": + version "2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1.tgz#647a7e2735b08fe28425be135120bb54ea408256" + integrity sha512-Q5q5mQePRFSSGbd/14Ogq1RNkebbbwskiTbWsvrSq14t9Us0rC9Xsecd4mr4rEAy8Yd6sXEJW4czZ/88DGzz2w== -"@prisma/fetch-engine@2.17.0": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-2.17.0.tgz#1814c421e648d0a911d158bbef761eb2256aa31d" - integrity sha512-LgFT40aZyGhJsGU+X9YXYxGhlK0diUlS/ZtxEyoNtFWy6dmToVvfn8il3tmTT6aC2rkTe1ppdDVXjPPip/CIlQ== +"@prisma/fetch-engine@2.18.0": + version "2.18.0" + resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-2.18.0.tgz#95e855df2c836ab0995f530277f476db6a15a73e" + integrity sha512-jaMXZLZAED5H+9mbo/Gt72B7RAj00tJOQNh8UDVD5008RBqu/XuX29gw9ZHJjGCuedZ2qX2Bi+ZSfVtSKnQOnQ== dependencies: - "@prisma/debug" "2.17.0" - "@prisma/get-platform" "2.17.0" + "@prisma/debug" "2.18.0" + "@prisma/get-platform" "2.18.0" chalk "^4.0.0" execa "^5.0.0" find-cache-dir "^3.3.1" @@ -783,39 +795,39 @@ temp-dir "^2.0.0" tempy "^1.0.0" -"@prisma/generator-helper@2.17.0", "@prisma/generator-helper@^2.17.0": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@prisma/generator-helper/-/generator-helper-2.17.0.tgz#545485f3eccc3d20de88798ccbf17bbdca2be062" - integrity sha512-65CzPE/Redp8Un+pNK5y3sRkA2lXnDvNlSklrbs7nl6tFa9ZEVGoVAAt9ZdQy12g95S1Npj6LPO3qWbZxwnCbg== +"@prisma/generator-helper@2.18.0", "@prisma/generator-helper@^2.18.0": + version "2.18.0" + resolved "https://registry.yarnpkg.com/@prisma/generator-helper/-/generator-helper-2.18.0.tgz#c0222cba59940dafd284b3b089713884fce265e8" + integrity sha512-k+spncRdTE+k+1EFIxiBGSYr8e++uXvkHDA7UmQViLkOHTg7dxL3bQoDUM49r54Lzqt81wRaEGbaRlw5JGLGNQ== dependencies: - "@prisma/debug" "2.17.0" + "@prisma/debug" "2.18.0" "@types/cross-spawn" "^6.0.1" chalk "^4.0.0" cross-spawn "^7.0.2" -"@prisma/get-platform@2.17.0": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-2.17.0.tgz#80a7706eb52e1dfae6c20c9fdd7a74057f1ddf3d" - integrity sha512-xqH1F3qm+hSgxBznNMhGj5xy3YS/osGtvE+tRxFNugx7Dw9OaVgCvvj1glVjBHSQbb0XXwfHRjYfp7zQjuLzlw== +"@prisma/get-platform@2.18.0": + version "2.18.0" + resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-2.18.0.tgz#b94a1cfb68140901b4ec87924474c4c1c45dbe4a" + integrity sha512-OIoC65Fz1KaPYhH+K0iq+Du/qUSiwk59gGvLRVIJ/9KhVmA/gIjUTLnhJsIGpKD5cyVlP6Xva3VeKM6V7PsG6w== dependencies: - "@prisma/debug" "2.17.0" + "@prisma/debug" "2.18.0" -"@prisma/sdk@^2.17.0": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@prisma/sdk/-/sdk-2.17.0.tgz#e604b0a5f39669ba27cd1b88a1cb878671788f70" - integrity sha512-8EsU36rZEH16IyaJWbiBR0ORp/CiZf8XHBt95fzRQhFYAvI7uVYyQETdaLyn/jDPxcQDgz36CdbyzVXmscJwIQ== +"@prisma/sdk@^2.18.0": + version "2.18.0" + resolved "https://registry.yarnpkg.com/@prisma/sdk/-/sdk-2.18.0.tgz#7fb6025d807041735fde32a583a7f5e407ff1f37" + integrity sha512-lUyeDmNcaE0UmH75clO8WqbwJ5adSWZjmrRDJCDwqZhs7w+d0XASVHFXfLVdbryYI56bzuRYIodDTS4MH0yk0A== dependencies: - "@prisma/debug" "2.17.0" - "@prisma/engine-core" "2.17.0" - "@prisma/engines" "2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223" - "@prisma/fetch-engine" "2.17.0" - "@prisma/generator-helper" "2.17.0" - "@prisma/get-platform" "2.17.0" + "@prisma/debug" "2.18.0" + "@prisma/engine-core" "2.18.0" + "@prisma/engines" "2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1" + "@prisma/fetch-engine" "2.18.0" + "@prisma/generator-helper" "2.18.0" + "@prisma/get-platform" "2.18.0" "@timsuchanek/copy" "^1.4.5" archiver "^4.0.0" arg "^5.0.0" chalk "4.1.0" - checkpoint-client "1.1.18" + checkpoint-client "1.1.19" cli-truncate "^2.1.0" dotenv "^8.2.0" execa "^5.0.0" @@ -823,7 +835,7 @@ global-dirs "^3.0.0" globby "^11.0.0" has-yarn "^2.1.0" - is-ci "^2.0.0" + is-ci "^3.0.0" make-dir "^3.0.2" node-fetch "2.6.1" p-map "^4.0.0" @@ -958,7 +970,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.0.20", "@types/jest@26.x": +"@types/jest@26.0.20": version "26.0.20" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== @@ -977,9 +989,9 @@ integrity sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q== "@types/node@*": - version "14.14.29" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.29.tgz#2bbaefda2b715f9a0cd31c55b55b9092c5920e59" - integrity sha512-z1PF7SVwqolmqu21eoWM82FPx699C2sCmrxTcCRotRn+2gt9Ve4dwmZsDntxgGyEHFHXYaqMcMMCdPKUeTKXsA== + version "14.14.32" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.32.tgz#90c5c4a8d72bbbfe53033f122341343249183448" + integrity sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1004,9 +1016,9 @@ integrity sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA== "@types/prettier@^2.0.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.1.tgz#374e31645d58cb18a07b3ecd8e9dede4deb2cccd" - integrity sha512-DxZZbyMAM9GWEzXL+BMZROWz9oo6A9EilwwOMET2UVu2uZTqMWS5S69KVtuVKaRjCUpcrOXRalet86/OpG4kqw== + version "2.2.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.2.tgz#e2280c89ddcbeef340099d6968d8c86ba155fdf6" + integrity sha512-i99hy7Ki19EqVOl77WplDrvgNugHnsSjECVR/wUrzw2TJXz1zlUfT2ngGckR6xN7yFYaijsMAqPkOLx9HgUqHg== "@types/retry@^0.12.0": version "0.12.0" @@ -1023,6 +1035,13 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== +"@types/strip-ansi@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@types/strip-ansi/-/strip-ansi-5.2.1.tgz#acd97f1f091e332bb7ce697c4609eb2370fa2a92" + integrity sha512-1l5iM0LBkVU8JXxnIoBqNvg+yyOXxPeN6DNoD+7A9AN1B8FhYPSeIXgyNqwIqg1uzipTgVC2hmuDzB0u9qw/PA== + dependencies: + strip-ansi "*" + "@types/yargs-parser@*": version "20.2.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" @@ -1105,7 +1124,7 @@ "@typescript-eslint/types" "4.16.1" eslint-visitor-keys "^2.0.0" -abab@^2.0.3: +abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== @@ -1138,6 +1157,11 @@ acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +acorn@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.5.tgz#a3bfb872a74a6a7f661bc81b9849d9cac12601b7" + integrity sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg== + agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -1164,9 +1188,9 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: uri-js "^4.2.2" ajv@^7.0.2: - version "7.1.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84" - integrity sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ== + version "7.2.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.2.1.tgz#a5ac226171912447683524fa2f1248fcf8bac83d" + integrity sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -1452,9 +1476,9 @@ bcrypt-pbkdf@^1.0.0: tweetnacl "^0.14.3" before-after-hook@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.1.tgz#99ae36992b5cfab4a83f6bee74ab27835f28f405" - integrity sha512-5ekuQOvO04MDj7kYZJaMab2S8SPjGJbotVNyv7QYFCOAwrGZs/YnoDNlh1U+m5hl7H2D/+n0taaAV/tfyd3KMA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.0.tgz#09c40d92e936c64777aa385c4e9b904f8147eaf0" + integrity sha512-jH6rKQIfroBbhEXVmI7XmXe3ix5S/PgJqpzdDPnR8JGLHWNYLsYZ6tK5iWOF/Ra3oqEX0NobXGlzbiylIzVphQ== binary-extensions@^2.0.0: version "2.2.0" @@ -1525,6 +1549,17 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== +browserslist@^4.14.5: + version "4.16.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== + dependencies: + caniuse-lite "^1.0.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -1600,6 +1635,11 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== +caniuse-lite@^1.0.30001181: + version "1.0.30001197" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001197.tgz#47ad15b977d2f32b3ec2fe2b087e0c50443771db" + integrity sha512-8aE+sqBqtXz4G8g35Eg/XEaFr2N7rd/VQ6eABGBmNtcB8cN6qNJhMi6oSFy4UWWZgqgL3filHT8Nha4meu3tsw== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -1642,18 +1682,18 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -checkpoint-client@1.1.18: - version "1.1.18" - resolved "https://registry.yarnpkg.com/checkpoint-client/-/checkpoint-client-1.1.18.tgz#7ce9d0fe3601393603235fb514334cc5dc4cbcf8" - integrity sha512-tTvUGOs/0Hncjq3Ko9h9Yx8facRrMpKsYXDBo7vSkl+sFKL7bxU56rQektBeEK7WcaLzGNmP2UfRfWar5P9qXA== +checkpoint-client@1.1.19: + version "1.1.19" + resolved "https://registry.yarnpkg.com/checkpoint-client/-/checkpoint-client-1.1.19.tgz#8a32bddbbc6acf6e20542f18780b71e5e0b981ed" + integrity sha512-aChSq/qsvyu3TXAJdtKgA03JxzUD/w3fwKpUhILPGFnHEO8OHx+cg6dgjuchQsIs2r3lSPPcwzgi21xohqTrmQ== dependencies: - ci-info "2.0.0" + ci-info "3.1.1" env-paths "2.2.0" fast-write-atomic "0.2.1" make-dir "3.1.0" - ms "2.1.2" + ms "2.1.3" node-fetch "2.6.1" - uuid "8.3.0" + uuid "8.3.2" chokidar@^3.2.2: version "3.5.1" @@ -1675,7 +1715,12 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -ci-info@2.0.0, ci-info@^2.0.0: +ci-info@3.1.1, ci-info@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.1.1.tgz#9a32fcefdf7bcdb6f0a7e1c0f8098ec57897b80a" + integrity sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ== + +ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== @@ -1783,6 +1828,11 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +colorette@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -1922,7 +1972,7 @@ cssom@~0.3.6: resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== -cssstyle@^2.2.0: +cssstyle@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== @@ -1952,7 +2002,7 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: dependencies: ms "2.1.2" -debug@4.3.2: +debug@4.3.2, debug@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -1978,7 +2028,7 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decimal.js@^10.2.0: +decimal.js@^10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== @@ -2162,6 +2212,11 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +electron-to-chromium@^1.3.649: + version "1.3.682" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.682.tgz#f4b5c8d4479df96b61e508a721d6c32c1262ef23" + integrity sha512-zok2y37qR00U14uM6qBz/3iIjWHom2eRfC2S1StA0RslP7x34jX+j4mxv80t8OEOHLJPVG54ZPeaFxEI7gPrwg== + emittery@^0.7.1: version "0.7.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" @@ -2212,6 +2267,11 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-goat@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" @@ -2232,13 +2292,13 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== dependencies: esprima "^4.0.1" - estraverse "^4.2.0" + estraverse "^5.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: @@ -2350,7 +2410,7 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== @@ -2530,9 +2590,9 @@ fast-write-atomic@0.2.1: integrity sha512-WvJe06IfNYlr+6cO3uQkdKdy3Cb1LlCJSF8zRs2eT8yuhdbSlR9nIt+TgQ92RUxiRrQm+/S7RARnMfCs5iuAjw== fastq@^1.6.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.1.tgz#8b8f2ac8bf3632d67afcd65dac248d5fdc45385e" - integrity sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== dependencies: reusify "^1.0.4" @@ -2700,7 +2760,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gensync@^1.0.0-beta.1: +gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -2752,9 +2812,9 @@ git-config-path@^2.0.0: integrity sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA== glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -2830,6 +2890,13 @@ graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +graphql-scalars@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/graphql-scalars/-/graphql-scalars-1.9.0.tgz#fd3171cafc6f51b71d58f6a8ff89ea97477c16d3" + integrity sha512-31bBDnHdBapb2wknLCjNzTSjKfVEtm+0HxI7DKM7jQ4Uipk1o1aMUCYCkYunmRDdgQaI03u1MD5KutLf7yHnvw== + dependencies: + tslib "~2.1.0" + graphql@^15.5.0: version "15.5.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" @@ -3058,11 +3125,6 @@ ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -3101,6 +3163,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-ci@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" + integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== + dependencies: + ci-info "^3.1.1" + is-core-module@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" @@ -3220,9 +3289,9 @@ is-path-cwd@^2.2.0: integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-inside@^3.0.1, is-path-inside@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" - integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" @@ -3768,35 +3837,35 @@ jsbn@~0.1.0: integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdom@^16.4.0: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== + version "16.5.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.0.tgz#9e453505600cc5a70b385750d35256f380730cc4" + integrity sha512-QxZH0nmDTnTTVI0YDm4RUlaUPl5dcyn62G5TMDNfMmTW+J1u1v9gCR8WR+WZ6UghAa7nKJjDOFaI00eMMWvJFQ== dependencies: - abab "^2.0.3" - acorn "^7.1.1" + abab "^2.0.5" + acorn "^8.0.5" acorn-globals "^6.0.0" cssom "^0.4.4" - cssstyle "^2.2.0" + cssstyle "^2.3.0" data-urls "^2.0.0" - decimal.js "^10.2.0" + decimal.js "^10.2.1" domexception "^2.0.1" - escodegen "^1.14.1" + escodegen "^2.0.0" html-encoding-sniffer "^2.0.1" is-potential-custom-element-name "^1.0.0" nwsapi "^2.2.0" - parse5 "5.1.1" + parse5 "6.0.1" request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" + request-promise-native "^1.0.9" + saxes "^5.0.1" symbol-tree "^3.2.4" - tough-cookie "^3.0.1" + tough-cookie "^4.0.0" w3c-hr-time "^1.0.2" w3c-xmlserializer "^2.0.0" webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" - ws "^7.2.3" + ws "^7.4.4" xml-name-validator "^3.0.0" jsesc@^2.5.1: @@ -4021,12 +4090,7 @@ lodash.union@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= -lodash@4.x, lodash@^4.17.19, lodash@^4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -lodash@^4.17.15, lodash@^4.17.21: +lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4205,7 +4269,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1, ms@^2.1.3: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -4277,6 +4341,11 @@ node-notifier@^8.0.0: uuid "^8.3.0" which "^2.0.2" +node-releases@^1.1.70: + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + nodemon@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.7.tgz#6f030a0a0ebe3ea1ba2a38f71bf9bab4841ced32" @@ -4551,10 +4620,10 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== pascalcase@^0.1.1: version "0.1.1" @@ -4657,10 +4726,10 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier-plugin-jsdoc@^0.3.12: - version "0.3.12" - resolved "https://registry.yarnpkg.com/prettier-plugin-jsdoc/-/prettier-plugin-jsdoc-0.3.12.tgz#96c15944d00d7bbf026af343a585eff249ec83d5" - integrity sha512-cFdVJOgu2LMB5em0f/jB2kVzNmXlTE/3WRVXgjVgmJEwpR2uliEudHTZ0wHuP1exzvl61BGeZWg4mY3sCH1cLA== +prettier-plugin-jsdoc@^0.3.13: + version "0.3.13" + resolved "https://registry.yarnpkg.com/prettier-plugin-jsdoc/-/prettier-plugin-jsdoc-0.3.13.tgz#02894b1b5acbf8a06b930d8e57d39a81eb047afc" + integrity sha512-muq5DMqpMMogRJIiA1eeyVFkjG8H9dU7miXIGQP4qXQgC2IS36wL+Y5WCHN92rowP8DHlQj6dR1eoA8SztnogA== dependencies: binary-search-bounds "^2.0.5" comment-parser "^1.1.2" @@ -4691,12 +4760,12 @@ printj@~1.1.0: resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== -prisma@2.17.0: - version "2.17.0" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-2.17.0.tgz#686469914ed13d4b0926ee5f17efb7a9ab741e8a" - integrity sha512-NypJI7OCXCfDkRKubbVb3nmPeRJ1SjQfg6QAwK06KsreBZl1F96rFz2iB2bl4kIrhLAbIySBjwUJlG87Jsxt7g== +prisma@2.18.0: + version "2.18.0" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-2.18.0.tgz#b19a2d4a487b8b62759777be55506567af41f6ae" + integrity sha512-03po/kFW3/oGHtnANgZiKYz22KEx6NpdaIP2r4eievmVam9f2+0PdP4x/KSFdMCT6B6VHh+3ILTi2z3bYosCgA== dependencies: - "@prisma/engines" "2.17.0-35.3c463ebd78b1d21d8fdacdd27899e280cf686223" + "@prisma/engines" "2.18.0-34.da6fafb57b24e0b61ca20960c64e2d41f9e8cff1" process-nextick-args@~2.0.0: version "2.0.1" @@ -4716,7 +4785,7 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -psl@^1.1.28: +psl@^1.1.28, psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== @@ -4873,7 +4942,7 @@ request-promise-core@1.1.4: dependencies: lodash "^4.17.19" -request-promise-native@^1.0.8: +request-promise-native@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== @@ -5050,7 +5119,7 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -saxes@^5.0.0: +saxes@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== @@ -5064,7 +5133,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -5163,13 +5232,13 @@ simple-get@^3.0.2: simple-concat "^1.0.0" simple-git@^2.17.0: - version "2.35.0" - resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-2.35.0.tgz#7d8b30531a6f082184e012b7ec50ae1f39bcc051" - integrity sha512-VuXs2/HyZmZm43Z5IjvU+ahTmURh/Hmb/egmgNdFZuu8OEnW2emCalnL/4jRQkXeJvfzCTnev6wo5jtDmWw0Dw== + version "2.36.1" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-2.36.1.tgz#70c44d1b8e8a39fbab7d56db4295935b90dd3aaf" + integrity sha512-bN18Ea/4IJgqgbZyE9VpVEUkAu9vyP0VWP7acP0CRC1p/N80GGJ0HhIVeFJsm8TdJLBowiJpdLesQuAZ5TFSKw== dependencies: "@kwsites/file-exists" "^1.1.1" "@kwsites/promise-deferred" "^1.1.1" - debug "^4.3.1" + debug "^4.3.2" sisteransi@^1.0.5: version "1.0.5" @@ -5367,9 +5436,9 @@ string-width@^3.0.0: strip-ansi "^5.1.0" string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" @@ -5389,7 +5458,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@6.0.0, strip-ansi@^6.0.0: +strip-ansi@*, strip-ansi@6.0.0, strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== @@ -5635,14 +5704,14 @@ tough-cookie@^2.3.3, tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" + psl "^1.1.33" punycode "^2.1.1" + universalify "^0.1.2" tr46@^2.0.2: version "2.0.2" @@ -5651,12 +5720,11 @@ tr46@^2.0.2: dependencies: punycode "^2.1.1" -ts-jest@26.5.1: - version "26.5.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.1.tgz#4d53ee4481552f57c1624f0bd3425c8b17996150" - integrity sha512-G7Rmo3OJMvlqE79amJX8VJKDiRcd7/r61wh9fnvvG8cAjhA9edklGw/dCxRSQmfZ/z8NDums5srSVgwZos1qfg== +ts-jest@26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.3.tgz#a6ee00ba547be3b09877550df40a1465d0295554" + integrity sha512-nBiiFGNvtujdLryU7MiMQh1iPmnZ/QvOskBbD2kURiI1MwqvxlxNnaAB/z9TbslMqCsSbu5BXvSSQPc5tvHGeA== dependencies: - "@types/jest" "26.x" bs-logger "0.x" buffer-from "1.x" fast-json-stable-stringify "2.x" @@ -5685,15 +5753,15 @@ tslib@^1.8.1, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.3: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tsutils@^3.17.1: - version "3.20.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.20.0.tgz#ea03ea45462e146b53d70ce0893de453ff24f698" - integrity sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg== + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" @@ -5765,10 +5833,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" - integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== +typescript@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" + integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== undefsafe@^2.0.3: version "2.0.3" @@ -5804,7 +5872,7 @@ universal-user-agent@^6.0.0: resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.0: +universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -5873,25 +5941,20 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -uuid@8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" - integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== +uuid@8.3.2, uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.3.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - v8-compile-cache@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" - integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== v8-to-istanbul@^7.0.0: version "7.1.0" @@ -6044,10 +6107,10 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^7.2.3: - version "7.4.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" - integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== +ws@^7.4.4: + version "7.4.4" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" + integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== xdg-basedir@^4.0.0: version "4.0.0" @@ -6075,9 +6138,9 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yargs-parser@20.x: - version "20.2.5" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.5.tgz#5d37729146d3f894f39fc94b6796f5b239513186" - integrity sha512-jYRGS3zWy20NtDtK2kBgo/TlAoy5YUuhD9/LZ7z7W4j1Fdw2cqD0xEEclf8fxc8xjD6X5Qr+qQQwCEsP8iRiYg== + version "20.2.6" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" + integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== yargs-parser@^18.1.2: version "18.1.3" From e72ba2ef8b853bcbcc310254f6cefbaf2f6120c4 Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Mon, 8 Mar 2021 14:01:46 -0500 Subject: [PATCH 9/9] format --- .github/workflows/trunk.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/trunk.yml b/.github/workflows/trunk.yml index fe47c42b8..d79103d1f 100644 --- a/.github/workflows/trunk.yml +++ b/.github/workflows/trunk.yml @@ -5,7 +5,6 @@ on: branches: [main] jobs: - test: strategy: matrix: