mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-12 14:05:16 +03:00
feat: add soft validation and 3.1 support
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9247 GitOrigin-RevId: 93bd2ae6c21e4d2cbc5b06aef0d1879cc0b23e9c
This commit is contained in:
parent
36c4deb963
commit
5d3b0e0778
@ -27,6 +27,7 @@ export default {
|
||||
fs: false,
|
||||
os: false,
|
||||
http: false,
|
||||
https: require.resolve('https-browserify'),
|
||||
path: require.resolve('path-browserify'),
|
||||
crypto: false,
|
||||
util: require.resolve('util/'),
|
||||
|
@ -7,5 +7,8 @@ import 'core-js/stable';
|
||||
import 'regenerator-runtime/runtime';
|
||||
// Needed for action codegen
|
||||
import 'browser-hrtime';
|
||||
import { Buffer } from 'buffer/';
|
||||
process.cwd = () => '';
|
||||
|
||||
(window as any).global = window;
|
||||
(window as any).Buffer = Buffer;
|
||||
|
@ -7,5 +7,8 @@ import 'core-js/stable';
|
||||
import 'regenerator-runtime/runtime';
|
||||
// Needed for action codegen
|
||||
import 'browser-hrtime';
|
||||
import { Buffer } from 'buffer/';
|
||||
process.cwd = () => '';
|
||||
|
||||
(window as any).global = window;
|
||||
(window as any).Buffer = Buffer;
|
||||
|
@ -8,21 +8,24 @@ import { FaExclamationTriangle, FaFilter, FaSearch } from 'react-icons/fa';
|
||||
import { trackCustomEvent } from '../../../Analytics';
|
||||
import { useDebouncedEffect } from '../../../../hooks/useDebounceEffect';
|
||||
import { Badge, BadgeColor } from '../../../../new-components/Badge';
|
||||
import { Oas3 } from 'openapi-to-graphql';
|
||||
import { Oas3 } from '@dancamma/openapi-to-graphql';
|
||||
import { useIsUnmounted } from '../../../../components/Services/Data/Common/tsUtils';
|
||||
import { useFormContext } from 'react-hook-form';
|
||||
import { useMetadata } from '../../../MetadataAPI';
|
||||
import { hasuraToast } from '../../../../new-components/Toasts';
|
||||
import { OasGeneratorActions } from './OASGeneratorActions';
|
||||
import { GeneratedAction, Operation } from '../OASGenerator/types';
|
||||
import uniq from 'lodash/uniq';
|
||||
|
||||
import {
|
||||
generateAction,
|
||||
getOperations,
|
||||
isOasError,
|
||||
normalizeOperationId,
|
||||
parseOas,
|
||||
} from '../OASGenerator/utils';
|
||||
import { UploadFile } from './UploadFile';
|
||||
import { IndicatorCard } from '../../../../new-components/IndicatorCard';
|
||||
import { Button } from '../../../../new-components/Button';
|
||||
|
||||
const fillToTenRows = (data: ReactNode[][]) => {
|
||||
const rowsToFill = 10 - data.length;
|
||||
@ -61,9 +64,12 @@ export const OasGeneratorForm = (props: OasGeneratorFormProps) => {
|
||||
const [operations, setOperations] = React.useState<Operation[]>([]);
|
||||
const [parsedOas, setParsedOas] = React.useState<Oas3 | null>(null);
|
||||
const [isOasTooBig, setIsOasTooBig] = React.useState(false);
|
||||
const [showEditor, setShowEditor] = React.useState(false);
|
||||
|
||||
const [selectedMethods, setSelectedMethods] = React.useState<string[]>([]);
|
||||
|
||||
const [validationErrors, setValidationErrors] = React.useState<string[]>([]);
|
||||
|
||||
const { data: metadata } = useMetadata();
|
||||
|
||||
const isUnMounted = useIsUnmounted();
|
||||
@ -138,7 +144,15 @@ export const OasGeneratorForm = (props: OasGeneratorFormProps) => {
|
||||
} else {
|
||||
trigger('url');
|
||||
}
|
||||
const ops = await getOperations(localParsedOas);
|
||||
const parsedOas = await parseOas(localParsedOas);
|
||||
const ops = Object.values(parsedOas.data.operations);
|
||||
|
||||
if (parsedOas.report.validationErrors?.length) {
|
||||
setValidationErrors(uniq(parsedOas.report.validationErrors));
|
||||
} else {
|
||||
setValidationErrors([]);
|
||||
}
|
||||
|
||||
setOperations(ops);
|
||||
|
||||
// send number of operations and file length
|
||||
@ -183,7 +197,7 @@ export const OasGeneratorForm = (props: OasGeneratorFormProps) => {
|
||||
setParsedOas(localParsedOas ?? null);
|
||||
},
|
||||
400,
|
||||
[oas, clearErrors, setError, setValue, url]
|
||||
[oas, clearErrors, setError, setValue, url, setValidationErrors]
|
||||
);
|
||||
|
||||
const createAction = async (operation: string) => {
|
||||
@ -318,15 +332,29 @@ export const OasGeneratorForm = (props: OasGeneratorFormProps) => {
|
||||
<div className="grid grid-cols-2 gap-6">
|
||||
<div>
|
||||
<div className="h-[400px] mb-4" data-testid="oas-editor">
|
||||
<CodeEditorField
|
||||
noErrorPlaceholder
|
||||
name="oas"
|
||||
placeholder="1. Paste OpenAPI spec in raw text (JSON / YAML) here"
|
||||
editorOptions={editorOptions}
|
||||
editorProps={{
|
||||
className: 'rounded`-r-none',
|
||||
}}
|
||||
/>
|
||||
{!isOasTooBig || showEditor ? (
|
||||
<CodeEditorField
|
||||
noErrorPlaceholder
|
||||
name="oas"
|
||||
placeholder="1. Paste OpenAPI spec in raw text (JSON / YAML) here"
|
||||
editorOptions={editorOptions}
|
||||
editorProps={{
|
||||
className: 'rounded`-r-none',
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
<div className="flex flex-col h-full items-center justify-center gap-2">
|
||||
<div>Editor is disabled because the spec is too large</div>
|
||||
|
||||
<Button
|
||||
onClick={() => {
|
||||
setShowEditor(true);
|
||||
}}
|
||||
>
|
||||
Enable Editor
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
@ -372,6 +400,20 @@ export const OasGeneratorForm = (props: OasGeneratorFormProps) => {
|
||||
larger than 3MB. It won't be saved for future use.
|
||||
</div>
|
||||
)}
|
||||
|
||||
{validationErrors.length > 0 && (
|
||||
<div className="text-red-500">
|
||||
{validationErrors.map(error => (
|
||||
<IndicatorCard
|
||||
className="mb-2"
|
||||
status="negative"
|
||||
headline="There is a validation error in your spec. Some operations cannot be imported."
|
||||
>
|
||||
{error}
|
||||
</IndicatorCard>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
<div>
|
||||
<div className="mt-xs">
|
||||
<h4 className="text-lg font-semibold mb-xs flex items-center mb-0">
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { RequestTransformMethod } from '../../../../metadata/types';
|
||||
import { createGraphQLSchema } from 'openapi-to-graphql';
|
||||
import { createGraphQLSchema } from '@dancamma/openapi-to-graphql';
|
||||
import z from 'zod';
|
||||
import { formSchema } from './OASGeneratorPage';
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Oas3 } from 'openapi-to-graphql';
|
||||
import { ParameterObject } from 'openapi-to-graphql/dist/types/oas3';
|
||||
import { Oas3 } from '@dancamma/openapi-to-graphql';
|
||||
import { ParameterObject } from '@dancamma/openapi-to-graphql/dist/types/oas3';
|
||||
import petStore from './petstore.json';
|
||||
import { getOperations, generateAction, generateQueryParams } from './utils';
|
||||
import { generateAction, generateQueryParams, parseOas } from './utils';
|
||||
|
||||
const tags: ParameterObject = {
|
||||
name: 'tags',
|
||||
@ -32,7 +32,8 @@ const status: ParameterObject = {
|
||||
|
||||
describe('getOperations', () => {
|
||||
it('should return an array of operations', async () => {
|
||||
const operations = await getOperations(petStore as unknown as Oas3);
|
||||
const parsedOas = await parseOas(petStore as unknown as Oas3);
|
||||
const operations = Object.values(parsedOas.data.operations);
|
||||
expect(operations).toHaveLength(4);
|
||||
expect(operations[0].path).toBe('/pets');
|
||||
expect(operations[0].method).toBe('get');
|
||||
@ -45,7 +46,7 @@ describe('getOperations', () => {
|
||||
});
|
||||
|
||||
it('throws an error if the OAS is invalid', async () => {
|
||||
await expect(getOperations({} as unknown as Oas3)).rejects.toThrow();
|
||||
await expect(parseOas({} as unknown as Oas3)).rejects.toThrow();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -14,11 +14,11 @@ import {
|
||||
Oas2,
|
||||
Oas3,
|
||||
createGraphQLSchema,
|
||||
} from 'openapi-to-graphql';
|
||||
} from '@dancamma/openapi-to-graphql';
|
||||
import {
|
||||
ReferenceObject,
|
||||
SchemaObject,
|
||||
} from 'openapi-to-graphql/dist/types/oas3';
|
||||
} from '@dancamma/openapi-to-graphql/dist/types/oas3';
|
||||
import { Microfiber } from 'microfiber';
|
||||
import { formatSdl } from 'format-graphql';
|
||||
import { getActionRequestSampleInput } from '../../../../components/Services/Actions/Add/utils';
|
||||
@ -517,7 +517,7 @@ const applyWorkarounds = (properties: (SchemaObject | ReferenceObject)[]) => {
|
||||
}
|
||||
};
|
||||
|
||||
const parseOas = async (oas: Oas2 | Oas3): Promise<Result> => {
|
||||
export const parseOas = async (oas: Oas2 | Oas3): Promise<Result> => {
|
||||
const oasCopy = JSON.parse(JSON.stringify(oas)) as Oas3;
|
||||
if (oasCopy.components?.schemas) {
|
||||
applyWorkarounds(Object.values(oasCopy.components?.schemas));
|
||||
@ -538,6 +538,18 @@ const parseOas = async (oas: Oas2 | Oas3): Promise<Result> => {
|
||||
oasValidatorOptions: {
|
||||
warnOnly: true,
|
||||
},
|
||||
softValidation: true,
|
||||
report: {
|
||||
validationErrors: [],
|
||||
warnings: [],
|
||||
numOps: 0,
|
||||
numOpsQuery: 0,
|
||||
numOpsMutation: 0,
|
||||
numOpsSubscription: 0,
|
||||
numQueriesCreated: 0,
|
||||
numMutationsCreated: 0,
|
||||
numSubscriptionsCreated: 0,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
@ -550,11 +562,6 @@ export const generateAction = async (
|
||||
return translateAction(graphqlSchema, operation);
|
||||
};
|
||||
|
||||
export const getOperations = async (oas: Oas2 | Oas3): Promise<Operation[]> => {
|
||||
const graphqlSchema = await parseOas(oas);
|
||||
return Object.values(graphqlSchema.data.operations);
|
||||
};
|
||||
|
||||
type ActionState = {
|
||||
handler: string;
|
||||
actionDefinition: {
|
||||
|
@ -10,7 +10,8 @@
|
||||
"noImplicitOverride": true,
|
||||
"noPropertyAccessFromIndexSignature": false,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"resolveJsonModule": true
|
||||
},
|
||||
"files": [],
|
||||
"include": [],
|
||||
|
@ -34,6 +34,7 @@
|
||||
"@ant-design/icons": "4.7.0",
|
||||
"@apollo/react-hooks": "^3.0.1",
|
||||
"@babel/plugin-transform-runtime": "^7.14.5",
|
||||
"@dancamma/openapi-to-graphql": "^3.0.8",
|
||||
"@graphql-codegen/core": "^1.17.8",
|
||||
"@graphql-codegen/typescript": "^1.17.10",
|
||||
"@hasura/dc-api-types": "^0.32.0",
|
||||
@ -103,7 +104,6 @@
|
||||
"microfiber": "^1.3.1",
|
||||
"moment": "^2.26.0",
|
||||
"moment-timezone": "^0.5.27",
|
||||
"openapi-to-graphql": "^2.6.3",
|
||||
"piping": "0.3.2",
|
||||
"posthog-js": "^1.4.3",
|
||||
"pretty-error": "1.2.0",
|
||||
@ -313,6 +313,7 @@
|
||||
"file-loader": "^6.2.0",
|
||||
"fork-ts-checker-webpack-plugin": "4.1.3",
|
||||
"glob": "^9.3.1",
|
||||
"https-browserify": "^1.0.0",
|
||||
"husky": "^8.0.3",
|
||||
"identity-obj-proxy": "^3.0.0",
|
||||
"ignore-loader": "0.1.2",
|
||||
|
@ -47,7 +47,7 @@ module.exports =
|
||||
jsonwebtoken deps (jwa && jws)
|
||||
*/
|
||||
stream: require.resolve('stream-browserify'),
|
||||
|
||||
https: require.resolve('https-browserify'),
|
||||
url: require.resolve('url/'),
|
||||
},
|
||||
},
|
||||
|
@ -85,6 +85,20 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@apidevtools/openapi-schemas@npm:^2.1.0":
|
||||
version: 2.1.0
|
||||
resolution: "@apidevtools/openapi-schemas@npm:2.1.0"
|
||||
checksum: 4a8f64935b9049ef21e41fa4b188f39f6bc3f5291cebd451701db1115451ccb246a739e46cc5ce9ecdec781671431db40db7851acdac84a990a45756e0f32de3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@apidevtools/swagger-methods@npm:^3.0.2":
|
||||
version: 3.0.2
|
||||
resolution: "@apidevtools/swagger-methods@npm:3.0.2"
|
||||
checksum: d06b1ac5c1956613c4c6be695612ef860cd4e962b93a509ca551735a328a856cae1e33399cac1dcbf8333ba22b231746f3586074769ef0e172cf549ec9e7eaae
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@apollo/react-common@npm:^3.1.4":
|
||||
version: 3.1.4
|
||||
resolution: "@apollo/react-common@npm:3.1.4"
|
||||
@ -241,7 +255,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.21.4":
|
||||
"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.21.4":
|
||||
version: 7.21.4
|
||||
resolution: "@babel/code-frame@npm:7.21.4"
|
||||
dependencies:
|
||||
@ -2020,6 +2034,34 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@dancamma/openapi-to-graphql@npm:^3.0.8":
|
||||
version: 3.0.8
|
||||
resolution: "@dancamma/openapi-to-graphql@npm:3.0.8"
|
||||
dependencies:
|
||||
"@readme/openapi-parser": ^2.5.0
|
||||
cross-fetch: ^3.1.4
|
||||
debug: ^4.2.0
|
||||
deep-equal: ^2.0.5
|
||||
form-data: ^4.0.0
|
||||
form-urlencoded: ^6.0.4
|
||||
graphql-scalars: ^1.10.0
|
||||
graphql-subscriptions: ^2.0.0
|
||||
graphql-upload: ^15.0.2
|
||||
json-ptr: ^2.2.0
|
||||
jsonpath-plus: ^6.0.1
|
||||
jsonpointer: ^5.0.0
|
||||
oas-validator: ^5.0.2
|
||||
pluralize: ^8.0.0
|
||||
swagger2openapi: ^7.0.2
|
||||
tslib: ^2.3.0
|
||||
url-join: 4.0.1
|
||||
ws: ^7.5.3
|
||||
peerDependencies:
|
||||
graphql: ^16.0.0
|
||||
checksum: c28b1f338a845875e4458ceeaf96f8a78cd16915c371f45db1e675eddb810d1635d7434bced7a25bb52ab85be84b4020876416cf6f60f2d5d7a3fdd8d4bd4847
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@discoveryjs/json-ext@npm:^0.5.3, @discoveryjs/json-ext@npm:^0.5.7":
|
||||
version: 0.5.7
|
||||
resolution: "@discoveryjs/json-ext@npm:0.5.7"
|
||||
@ -3420,6 +3462,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/momoa@npm:^2.0.3":
|
||||
version: 2.0.4
|
||||
resolution: "@humanwhocodes/momoa@npm:2.0.4"
|
||||
checksum: ce4680e7f32394b54b29266b0059abbd8de8a980e486f10135c52f2a64359263e50548f9fb6956b1c2e8a47478e6dd4d3ede50bf68bdf1ec1bcc6e61e02d8238
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/object-schema@npm:^1.2.1":
|
||||
version: 1.2.1
|
||||
resolution: "@humanwhocodes/object-schema@npm:1.2.1"
|
||||
@ -4543,6 +4592,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@jsdevtools/ono@npm:^7.1.3":
|
||||
version: 7.1.3
|
||||
resolution: "@jsdevtools/ono@npm:7.1.3"
|
||||
checksum: 2297fcd472ba810bffe8519d2249171132844c7174f3a16634f9260761c8c78bc0428a4190b5b6d72d45673c13918ab9844d706c3ed4ef8f62ab11a2627a08ad
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@juggle/resize-observer@npm:^3.3.1":
|
||||
version: 3.4.0
|
||||
resolution: "@juggle/resize-observer@npm:3.4.0"
|
||||
@ -6313,6 +6369,53 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@readme/better-ajv-errors@npm:^1.6.0":
|
||||
version: 1.6.0
|
||||
resolution: "@readme/better-ajv-errors@npm:1.6.0"
|
||||
dependencies:
|
||||
"@babel/code-frame": ^7.16.0
|
||||
"@babel/runtime": ^7.21.0
|
||||
"@humanwhocodes/momoa": ^2.0.3
|
||||
chalk: ^4.1.2
|
||||
json-to-ast: ^2.0.3
|
||||
jsonpointer: ^5.0.0
|
||||
leven: ^3.1.0
|
||||
peerDependencies:
|
||||
ajv: 4.11.8 - 8
|
||||
checksum: ed2a7e2b9e105f404fa1518bd4e79e3b4a9f3da6d8cb4fbdaf6664663cd32102e41723ba618619fbab6d8d966ffddabbf831a1995d541917e647da9ce4b46d48
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@readme/json-schema-ref-parser@npm:^1.2.0":
|
||||
version: 1.2.0
|
||||
resolution: "@readme/json-schema-ref-parser@npm:1.2.0"
|
||||
dependencies:
|
||||
"@jsdevtools/ono": ^7.1.3
|
||||
"@types/json-schema": ^7.0.6
|
||||
call-me-maybe: ^1.0.1
|
||||
js-yaml: ^4.1.0
|
||||
checksum: 72c7edf1a5cff2ec5789d7930a211e032fdd79589876d5802fdb731e3d93b8b845647309dbcd7511caac4eb261a086a0ce7dc41368fb07bbca2b0a0b7caf5eb0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@readme/openapi-parser@npm:^2.5.0":
|
||||
version: 2.5.0
|
||||
resolution: "@readme/openapi-parser@npm:2.5.0"
|
||||
dependencies:
|
||||
"@apidevtools/openapi-schemas": ^2.1.0
|
||||
"@apidevtools/swagger-methods": ^3.0.2
|
||||
"@jsdevtools/ono": ^7.1.3
|
||||
"@readme/better-ajv-errors": ^1.6.0
|
||||
"@readme/json-schema-ref-parser": ^1.2.0
|
||||
ajv: ^8.12.0
|
||||
ajv-draft-04: ^1.0.0
|
||||
call-me-maybe: ^1.0.1
|
||||
peerDependencies:
|
||||
openapi-types: ">=7"
|
||||
checksum: c917feb531f9e49ee1c3c51009d00e62a8833663fb1fe0c5f267b82b9f649f60b5eafdb9ab422a9910712e21fd06070cb597b446bf4f45dfc8e55049122394aa
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@reduxjs/toolkit@npm:^1.5.1":
|
||||
version: 1.9.5
|
||||
resolution: "@reduxjs/toolkit@npm:1.9.5"
|
||||
@ -9582,6 +9685,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/busboy@npm:^1.5.0":
|
||||
version: 1.5.0
|
||||
resolution: "@types/busboy@npm:1.5.0"
|
||||
dependencies:
|
||||
"@types/node": "*"
|
||||
checksum: ffa7bf25c0395f6927526b7d97e70cd2df789e4ca0d231e41855fb08542fa236891ce457d83cc50cac6e5cef6be092ab80597070dcf1413f736462690a23e987
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/cacheable-request@npm:^6.0.1":
|
||||
version: 6.0.3
|
||||
resolution: "@types/cacheable-request@npm:6.0.3"
|
||||
@ -9964,7 +10076,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9":
|
||||
"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9":
|
||||
version: 7.0.11
|
||||
resolution: "@types/json-schema@npm:7.0.11"
|
||||
checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d
|
||||
@ -10169,6 +10281,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/object-path@npm:^0.11.1":
|
||||
version: 0.11.1
|
||||
resolution: "@types/object-path@npm:0.11.1"
|
||||
checksum: 007e819d1d9dc830491b60023b1502ef1e421416d9953d6fefcda7d06eb91548eef8ee30073a9cfb6a834ac977042f6e1a761cde2d6a7973b06ddca753be91e3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/optimize-css-assets-webpack-plugin@npm:5.0.1":
|
||||
version: 5.0.1
|
||||
resolution: "@types/optimize-css-assets-webpack-plugin@npm:5.0.1"
|
||||
@ -11676,6 +11795,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv-draft-04@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "ajv-draft-04@npm:1.0.0"
|
||||
peerDependencies:
|
||||
ajv: ^8.5.0
|
||||
peerDependenciesMeta:
|
||||
ajv:
|
||||
optional: true
|
||||
checksum: 3f11fa0e7f7359bef6608657f02ab78e9cc62b1fb7bdd860db0d00351b3863a1189c1a23b72466d2d82726cab4eb20725c76f5e7c134a89865e2bfd0e6828137
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv-formats@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "ajv-formats@npm:2.1.1"
|
||||
@ -11722,7 +11853,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv@npm:^8.0.0, ajv@npm:^8.9.0":
|
||||
"ajv@npm:^8.0.0, ajv@npm:^8.12.0, ajv@npm:^8.9.0":
|
||||
version: 8.12.0
|
||||
resolution: "ajv@npm:8.12.0"
|
||||
dependencies:
|
||||
@ -13741,15 +13872,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"busboy@npm:^0.3.1":
|
||||
version: 0.3.1
|
||||
resolution: "busboy@npm:0.3.1"
|
||||
dependencies:
|
||||
dicer: 0.3.0
|
||||
checksum: d2bcb788c4595edca4ea2168ab8bf7f9558b627ddcec2fb6bbaf0aa6a10b63da48dce35ce56936570f330c5268a3204f7037021a310a895a8b1a223568e0cc1b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"busboy@npm:^1.6.0":
|
||||
version: 1.6.0
|
||||
resolution: "busboy@npm:1.6.0"
|
||||
@ -14530,6 +14652,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"code-error-fragment@npm:0.0.230":
|
||||
version: 0.0.230
|
||||
resolution: "code-error-fragment@npm:0.0.230"
|
||||
checksum: 6c5e800d6d70b30938cc85a2fc2c6069f028eadb58bceb65716b995ce6228c99906302f2c438ba50115fd81a1ee15dd95dc7d317b16a6c590e311ac7e50613f3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"codemirror-graphql@npm:^0.12.0-alpha.0":
|
||||
version: 0.12.4
|
||||
resolution: "codemirror-graphql@npm:0.12.4"
|
||||
@ -16142,15 +16271,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dicer@npm:0.3.0":
|
||||
version: 0.3.0
|
||||
resolution: "dicer@npm:0.3.0"
|
||||
dependencies:
|
||||
streamsearch: 0.1.2
|
||||
checksum: 9f61aea61fcd81457f1b43967af7e66415b7a31d393336fa05a29b221b5ba065b99e5cac46476b2da36eb7af7665bf8dad6f9500409116dc6a35ada183841598
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"didyoumean@npm:^1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "didyoumean@npm:1.2.2"
|
||||
@ -18652,6 +18772,7 @@ __metadata:
|
||||
"@babel/preset-typescript": 7.12.13
|
||||
"@babel/register": 7.9.0
|
||||
"@babel/runtime": 7.14.8
|
||||
"@dancamma/openapi-to-graphql": ^3.0.8
|
||||
"@faker-js/faker": ^7.6.0
|
||||
"@graphql-codegen/cli": 2.13.8
|
||||
"@graphql-codegen/core": ^1.17.8
|
||||
@ -18840,6 +18961,7 @@ __metadata:
|
||||
highlight.js: 9.15.8
|
||||
history: 3.3.0
|
||||
hoist-non-react-statics: 1.2.0
|
||||
https-browserify: ^1.0.0
|
||||
husky: ^8.0.3
|
||||
identity-obj-proxy: ^3.0.0
|
||||
ignore-loader: 0.1.2
|
||||
@ -18872,7 +18994,6 @@ __metadata:
|
||||
nx: 15.8.1
|
||||
nyc: 15.0.1
|
||||
octokit: ^2.0.14
|
||||
openapi-to-graphql: ^2.6.3
|
||||
os-browserify: ^0.3.0
|
||||
path-browserify: ^1.0.1
|
||||
piping: 0.3.2
|
||||
@ -19784,14 +19905,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"graphql-subscriptions@npm:^1.1.0":
|
||||
version: 1.2.1
|
||||
resolution: "graphql-subscriptions@npm:1.2.1"
|
||||
"graphql-subscriptions@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "graphql-subscriptions@npm:2.0.0"
|
||||
dependencies:
|
||||
iterall: ^1.3.0
|
||||
peerDependencies:
|
||||
graphql: ^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0
|
||||
checksum: 2b9533c6774e7be46acd6fbee528aab06429f15dc222eabd991e82c02bf74e390b638dffa1a3fd86c1e26212c40a42a0418d7f4a7c3a1edf0534978ef128e528
|
||||
graphql: ^15.7.2 || ^16.0.0
|
||||
checksum: 4735ef86462967bca2f549c5e5e30ca63fb6ddde19a81d8601f38fb12f8bda2b5f1203b33df8fd8d1154ffa3eadc2820d407e64b8fda73e319559256c508af21
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -19806,17 +19927,27 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"graphql-upload@npm:^13.0.0":
|
||||
version: 13.0.0
|
||||
resolution: "graphql-upload@npm:13.0.0"
|
||||
"graphql-upload@npm:^15.0.2":
|
||||
version: 15.0.2
|
||||
resolution: "graphql-upload@npm:15.0.2"
|
||||
dependencies:
|
||||
busboy: ^0.3.1
|
||||
"@types/busboy": ^1.5.0
|
||||
"@types/node": "*"
|
||||
"@types/object-path": ^0.11.1
|
||||
busboy: ^1.6.0
|
||||
fs-capacitor: ^6.2.0
|
||||
http-errors: ^1.8.1
|
||||
http-errors: ^2.0.0
|
||||
object-path: ^0.11.8
|
||||
peerDependencies:
|
||||
graphql: 0.13.1 - 16
|
||||
checksum: 3b4b7dd717d5cfcd1d59f3656bcc7281dbe1aaa0d64b5404eb7333db913976154349dd65cf9774a9efc3a6478b1578335c83dd0696c041e3f63efff589d7d457
|
||||
"@types/express": ^4.0.29
|
||||
"@types/koa": ^2.11.4
|
||||
graphql: ^16.3.0
|
||||
peerDependenciesMeta:
|
||||
"@types/express":
|
||||
optional: true
|
||||
"@types/koa":
|
||||
optional: true
|
||||
checksum: 635db84b50b5a5ff09bfe14e23eda374eaa7bd4496ebfcd6abcdb887ac1a489f80ced22b987ebc9691cfde44e487b4c632da708f0fcfe9e63502f6530043d599
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -20342,7 +20473,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"http-errors@npm:2.0.0":
|
||||
"http-errors@npm:2.0.0, http-errors@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "http-errors@npm:2.0.0"
|
||||
dependencies:
|
||||
@ -20355,19 +20486,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"http-errors@npm:^1.8.1":
|
||||
version: 1.8.1
|
||||
resolution: "http-errors@npm:1.8.1"
|
||||
dependencies:
|
||||
depd: ~1.1.2
|
||||
inherits: 2.0.4
|
||||
setprototypeof: 1.2.0
|
||||
statuses: ">= 1.5.0 < 2"
|
||||
toidentifier: 1.0.1
|
||||
checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"http-errors@npm:~1.6.2":
|
||||
version: 1.6.3
|
||||
resolution: "http-errors@npm:1.6.3"
|
||||
@ -20489,6 +20607,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"https-browserify@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "https-browserify@npm:1.0.0"
|
||||
checksum: 09b35353e42069fde2435760d13f8a3fb7dd9105e358270e2e225b8a94f811b461edd17cb57594e5f36ec1218f121c160ddceeec6e8be2d55e01dcbbbed8cbae
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"https-proxy-agent@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "https-proxy-agent@npm:4.0.0"
|
||||
@ -23204,6 +23329,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-to-ast@npm:^2.0.3":
|
||||
version: 2.1.0
|
||||
resolution: "json-to-ast@npm:2.1.0"
|
||||
dependencies:
|
||||
code-error-fragment: 0.0.230
|
||||
grapheme-splitter: ^1.0.4
|
||||
checksum: 1e9b051505b218573b39f3fec9054d75772413aefc2fee3e763d9033276664faa7eec26b945a71f70b9ce29685b2f13259df7dd3243e15eacf4672c62d5ba7ce
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-to-pretty-yaml@npm:^1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "json-to-pretty-yaml@npm:1.2.2"
|
||||
@ -26591,33 +26726,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"openapi-to-graphql@npm:^2.6.3":
|
||||
version: 2.6.3
|
||||
resolution: "openapi-to-graphql@npm:2.6.3"
|
||||
dependencies:
|
||||
cross-fetch: ^3.1.4
|
||||
debug: ^4.2.0
|
||||
deep-equal: ^2.0.5
|
||||
form-data: ^4.0.0
|
||||
form-urlencoded: ^6.0.4
|
||||
graphql-scalars: ^1.10.0
|
||||
graphql-subscriptions: ^1.1.0
|
||||
graphql-upload: ^13.0.0
|
||||
json-ptr: ^2.2.0
|
||||
jsonpath-plus: ^6.0.1
|
||||
jsonpointer: ^5.0.0
|
||||
oas-validator: ^5.0.2
|
||||
pluralize: ^8.0.0
|
||||
swagger2openapi: ^7.0.2
|
||||
tslib: ^2.3.0
|
||||
url-join: 4.0.1
|
||||
ws: ^7.5.3
|
||||
peerDependencies:
|
||||
graphql: ^14.0.0 || ^15.0.0
|
||||
checksum: d3dba6e0b5ff63c1deee81366c1643218aeeba99278e862b6c1c84aeb05cc9b389bbcf0ed9d982a704282228498be2dd3e3721a789d476536b41ddbbecf5c041
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"opener@npm:^1.5.1":
|
||||
version: 1.5.2
|
||||
resolution: "opener@npm:1.5.2"
|
||||
@ -32354,7 +32462,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2":
|
||||
"statuses@npm:>= 1.4.0 < 2":
|
||||
version: 1.5.0
|
||||
resolution: "statuses@npm:1.5.0"
|
||||
checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c
|
||||
@ -32495,13 +32603,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"streamsearch@npm:0.1.2":
|
||||
version: 0.1.2
|
||||
resolution: "streamsearch@npm:0.1.2"
|
||||
checksum: d2db57cbfbf7947ab9c75a7b4c80a8ef8d24850cf0a1a24258bb6956c97317ce1eab7dbcbf9c5aba3e6198611af1053b02411057bbedb99bf9c64b8275248997
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"streamsearch@npm:^1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "streamsearch@npm:1.1.0"
|
||||
|
Loading…
Reference in New Issue
Block a user