mirror of
https://github.com/BradNut/gQuery
synced 2025-09-08 17:40:18 +00:00
updates gquery to work in prod
This commit is contained in:
parent
2de47b51a2
commit
9d51ed7b20
9 changed files with 275 additions and 229 deletions
|
|
@ -44,7 +44,7 @@ docs coming soon
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
// Cache becomes populated with data available for SSR
|
// Cache becomes populated with data available for SSR
|
||||||
import { gCache } from '@leveluptuts/gQuery'
|
import { gCache } from '@leveluptuts/g-query'
|
||||||
|
|
||||||
// $: console.log($gCache.seriesList)
|
// $: console.log($gCache.seriesList)
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,24 @@
|
||||||
|
import { visit, concatAST, Kind, } from "graphql";
|
||||||
|
import "@graphql-codegen/plugin-helpers";
|
||||||
import { ClientSideBaseVisitor, } from "@graphql-codegen/visitor-plugin-common";
|
import { ClientSideBaseVisitor, } from "@graphql-codegen/visitor-plugin-common";
|
||||||
import { concatAST, Kind, visit, } from "graphql";
|
|
||||||
import { pascalCase } from "pascal-case";
|
import { pascalCase } from "pascal-case";
|
||||||
module.exports = {
|
console.log("codegen.ts");
|
||||||
plugin: (schema, documents, config) => {
|
export const plugin = (schema, documents, config) => {
|
||||||
const allAst = concatAST(documents.map((d) => d.document));
|
console.log("config", config);
|
||||||
const allFragments = [
|
const allAst = concatAST(documents.map((d) => d.document));
|
||||||
...allAst.definitions.filter((d) => d.kind === Kind.FRAGMENT_DEFINITION).map((fragmentDef) => ({
|
const allFragments = [
|
||||||
node: fragmentDef,
|
...allAst.definitions.filter((d) => d.kind === Kind.FRAGMENT_DEFINITION).map((fragmentDef) => ({
|
||||||
name: fragmentDef.name.value,
|
node: fragmentDef,
|
||||||
onType: fragmentDef.typeCondition.name.value,
|
name: fragmentDef.name.value,
|
||||||
isExternal: false,
|
onType: fragmentDef.typeCondition.name.value,
|
||||||
})),
|
isExternal: false,
|
||||||
...(config.externalFragments || []),
|
})),
|
||||||
];
|
...(config.externalFragments || []),
|
||||||
const visitor = new ClientSideBaseVisitor(schema, allFragments, {}, { documentVariableSuffix: "Doc" }, documents);
|
];
|
||||||
const visitorResult = visit(allAst, { leave: visitor });
|
const visitor = new ClientSideBaseVisitor(schema, allFragments, {}, { documentVariableSuffix: "Doc" }, documents);
|
||||||
const operations = allAst.definitions.filter((d) => d.kind === Kind.OPERATION_DEFINITION);
|
const visitorResult = visit(allAst, { leave: visitor });
|
||||||
const defaultTypes = `
|
const operations = allAst.definitions.filter((d) => d.kind === Kind.OPERATION_DEFINITION);
|
||||||
|
const defaultTypes = `
|
||||||
|
|
||||||
type FetchWrapperArgs<T> = {
|
type FetchWrapperArgs<T> = {
|
||||||
fetch: typeof fetch,
|
fetch: typeof fetch,
|
||||||
|
|
@ -26,39 +28,51 @@ type FetchWrapperArgs<T> = {
|
||||||
type SubscribeWrapperArgs<T> = {
|
type SubscribeWrapperArgs<T> = {
|
||||||
variables?: T,
|
variables?: T,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface CacheFunctionOptions {
|
||||||
|
update?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
`;
|
`;
|
||||||
const ops = operations
|
const ops = operations
|
||||||
.map((o) => {
|
.map((o) => {
|
||||||
var _a;
|
var _a;
|
||||||
if (o) {
|
if (o) {
|
||||||
const name = ((_a = o === null || o === void 0 ? void 0 : o.name) === null || _a === void 0 ? void 0 : _a.value) || "";
|
const name = ((_a = o === null || o === void 0 ? void 0 : o.name) === null || _a === void 0 ? void 0 : _a.value) || "";
|
||||||
// const dsl = `export const ${pascalCase(op.name.value)}Doc = gql\`
|
// const dsl = `export const ${pascalCase(op.name.value)}Doc = gql\`
|
||||||
// ${documents.find((d) => d.rawSDL.includes(`${op.operation} ${op.name.value}`)).rawSDL}\``
|
// ${documents.find((d) => d.rawSDL.includes(`${op.operation} ${op.name.value}`)).rawSDL}\``
|
||||||
const op = `${pascalCase(name)}${pascalCase(o.operation)}`;
|
const op = `${pascalCase(name)}${pascalCase(o.operation)}`;
|
||||||
const opv = `${op}Variables`;
|
const opv = `${op}Variables`;
|
||||||
let operations = "";
|
let operations = "";
|
||||||
if (o.operation === "query") {
|
if (o.operation === "query") {
|
||||||
operations += `
|
operations += `
|
||||||
export const ${name} = ({ variables, fetch}: FetchWrapperArgs<${opv}>):
|
export const ${name} = ({ variables, fetch}: FetchWrapperArgs<${opv}>):
|
||||||
Promise<GFetchReturnWithErrors<${op}>> =>
|
Promise<GFetchReturnWithErrors<${op}>> =>
|
||||||
g.fetch<${op}>({
|
g.fetch<${op}>({
|
||||||
queries: [{ query: ${pascalCase(name)}Doc, variables }],
|
queries: [{ query: ${pascalCase(name)}Doc, variables }],
|
||||||
fetch
|
fetch
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// Cached
|
||||||
|
export async function get${pascalCase(name)}(variables, options?: CacheFunctionOptions) {
|
||||||
|
await gQuery('user', { query: ${name}, variables }, options)
|
||||||
|
}
|
||||||
|
|
||||||
`;
|
`;
|
||||||
// If config is set to have subscription query, also write the
|
// If config is set to have subscription query, also write the
|
||||||
if (config.subscriptionQuery) {
|
if (config.subscriptionQuery) {
|
||||||
operations += `
|
operations += `
|
||||||
export const ${name}Subscribe = ({ variables }: SubscribeWrapperArgs<${opv}>):
|
export const ${name}Subscribe = ({ variables }: SubscribeWrapperArgs<${opv}>):
|
||||||
Readable<GFetchReturnWithErrors<${op}>> =>
|
Readable<GFetchReturnWithErrors<${op}>> =>
|
||||||
g.oFetch<${op}>({
|
g.oFetch<${op}>({
|
||||||
queries: [{ query: ${pascalCase(name)}Doc, variables }]
|
queries: [{ query: ${pascalCase(name)}Doc, variables }]
|
||||||
})
|
})
|
||||||
`;
|
`;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (o.operation === "mutation") {
|
}
|
||||||
operations += `
|
else if (o.operation === "mutation") {
|
||||||
|
operations += `
|
||||||
export const ${name} = ({ variables }: SubscribeWrapperArgs<${opv}>):
|
export const ${name} = ({ variables }: SubscribeWrapperArgs<${opv}>):
|
||||||
Promise<GFetchReturnWithErrors<${op}>> =>
|
Promise<GFetchReturnWithErrors<${op}>> =>
|
||||||
g.fetch<${op}>({
|
g.fetch<${op}>({
|
||||||
|
|
@ -66,52 +80,52 @@ Promise<GFetchReturnWithErrors<${op}>> =>
|
||||||
fetch,
|
fetch,
|
||||||
})
|
})
|
||||||
`;
|
`;
|
||||||
}
|
|
||||||
return operations;
|
|
||||||
}
|
}
|
||||||
})
|
return operations;
|
||||||
.join("\n");
|
}
|
||||||
const imports = [
|
})
|
||||||
`import type { Readable } from "svelte/store"`,
|
.join("\n");
|
||||||
`import { g } from '${config.gFetchPath}'`,
|
const imports = [
|
||||||
`import type { GFetchReturnWithErrors } from '$graphql/gfetchLib'`,
|
`import type { Readable } from "svelte/store"`,
|
||||||
`import gql from "graphql-tag"`,
|
`import { g } from '${config.gPath}'`,
|
||||||
];
|
`import type { GFetchReturnWithErrors } from '@leveluptuts/g-query'`,
|
||||||
// let schemaInputs = getCachedDocumentNodeFromSchema(schema).definitions.filter((d) => {
|
`import { gQuery } from '@leveluptuts/g-query'`,
|
||||||
// return d.kind === 'InputObjectTypeDefinition'
|
`import gql from "graphql-tag"`,
|
||||||
// })
|
];
|
||||||
// let inputs = schemaInputs
|
// let schemaInputs = getCachedDocumentNodeFromSchema(schema).definitions.filter((d) => {
|
||||||
// .map((d) => {
|
// return d.kind === 'InputObjectTypeDefinition'
|
||||||
// console.log('/* START */')
|
// })
|
||||||
// // @ts-ignore
|
// let inputs = schemaInputs
|
||||||
// console.log('NAME: ', d.fields[0].name.value)
|
// .map((d) => {
|
||||||
// // @ts-ignore
|
// console.log('/* START */')
|
||||||
// let isReq = d.fields[0]?.type?.kind === 'NonNullType'
|
// // @ts-ignore
|
||||||
// console.log('REQUIRED: ', isReq ? '✅' : '❌')
|
// console.log('NAME: ', d.fields[0].name.value)
|
||||||
// // @ts-ignore
|
// // @ts-ignore
|
||||||
// console.log('TYPE: ', isReq ? d.fields[0]?.type?.type?.name?.value : d.fields[0]?.type?.name?.value)
|
// let isReq = d.fields[0]?.type?.kind === 'NonNullType'
|
||||||
// // @ts-ignore
|
// console.log('REQUIRED: ', isReq ? '✅' : '❌')
|
||||||
// // @ts-ignore
|
// // @ts-ignore
|
||||||
// console.log('d.fields[0]', d.fields[0]?.type)
|
// console.log('TYPE: ', isReq ? d.fields[0]?.type?.type?.name?.value : d.fields[0]?.type?.name?.value)
|
||||||
// console.log('/* END */')
|
// // @ts-ignore
|
||||||
// console.log('')
|
// // @ts-ignore
|
||||||
// return `
|
// console.log('d.fields[0]', d.fields[0]?.type)
|
||||||
// const inputName = {
|
// console.log('/* END */')
|
||||||
// ${d.fields[0].name.value}: ${isReq ? d.fields[0]?.type?.type?.name?.value : d.fields[0]?.type?.name?.value}
|
// console.log('')
|
||||||
// }
|
// return `
|
||||||
// `
|
// const inputName = {
|
||||||
// })
|
// ${d.fields[0].name.value}: ${isReq ? d.fields[0]?.type?.type?.name?.value : d.fields[0]?.type?.name?.value}
|
||||||
// .join('\n')
|
// }
|
||||||
// console.log('inputs', inputs)
|
// `
|
||||||
return {
|
// })
|
||||||
prepend: imports,
|
// .join('\n')
|
||||||
content: [
|
// console.log('inputs', inputs)
|
||||||
defaultTypes,
|
return {
|
||||||
visitor.fragments,
|
prepend: imports,
|
||||||
...visitorResult.definitions.filter((t) => typeof t == "string"),
|
content: [
|
||||||
ops,
|
defaultTypes,
|
||||||
].join("\n"),
|
visitor.fragments,
|
||||||
};
|
...visitorResult.definitions.filter((t) => typeof t == "string"),
|
||||||
},
|
ops,
|
||||||
|
].join("\n"),
|
||||||
|
};
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=codegen.js.map
|
//# sourceMappingURL=codegen.js.map
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["codegen.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["codegen.ts"],"names":[],"mappings":"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"}
|
||||||
|
|
@ -1,48 +1,61 @@
|
||||||
|
import {
|
||||||
|
visit,
|
||||||
|
GraphQLSchema,
|
||||||
|
concatAST,
|
||||||
|
Kind,
|
||||||
|
FragmentDefinitionNode,
|
||||||
|
OperationDefinitionNode,
|
||||||
|
} from "graphql";
|
||||||
|
import {
|
||||||
|
Types,
|
||||||
|
PluginValidateFn,
|
||||||
|
PluginFunction,
|
||||||
|
} from "@graphql-codegen/plugin-helpers";
|
||||||
import type { CodegenPlugin } from "@graphql-codegen/plugin-helpers";
|
import type { CodegenPlugin } from "@graphql-codegen/plugin-helpers";
|
||||||
import {
|
import {
|
||||||
LoadedFragment,
|
LoadedFragment,
|
||||||
ClientSideBaseVisitor,
|
ClientSideBaseVisitor,
|
||||||
} from "@graphql-codegen/visitor-plugin-common";
|
} from "@graphql-codegen/visitor-plugin-common";
|
||||||
import {
|
|
||||||
concatAST,
|
|
||||||
FragmentDefinitionNode,
|
|
||||||
Kind,
|
|
||||||
OperationDefinitionNode,
|
|
||||||
visit,
|
|
||||||
} from "graphql";
|
|
||||||
import { pascalCase } from "pascal-case";
|
import { pascalCase } from "pascal-case";
|
||||||
|
|
||||||
module.exports = {
|
console.log("codegen.ts");
|
||||||
plugin: (schema, documents, config) => {
|
|
||||||
const allAst = concatAST(documents.map((d) => d.document));
|
|
||||||
|
|
||||||
const allFragments: LoadedFragment[] = [
|
export const plugin: PluginFunction<any> = (
|
||||||
...(
|
schema: GraphQLSchema,
|
||||||
allAst.definitions.filter(
|
documents: Types.DocumentFile[],
|
||||||
(d) => d.kind === Kind.FRAGMENT_DEFINITION
|
config
|
||||||
) as FragmentDefinitionNode[]
|
) => {
|
||||||
).map((fragmentDef) => ({
|
console.log("config", config);
|
||||||
node: fragmentDef,
|
const allAst = concatAST(documents.map((d) => d.document));
|
||||||
name: fragmentDef.name.value,
|
|
||||||
onType: fragmentDef.typeCondition.name.value,
|
|
||||||
isExternal: false,
|
|
||||||
})),
|
|
||||||
...(config.externalFragments || []),
|
|
||||||
];
|
|
||||||
|
|
||||||
const visitor = new ClientSideBaseVisitor(
|
const allFragments: LoadedFragment[] = [
|
||||||
schema,
|
...(
|
||||||
allFragments,
|
allAst.definitions.filter(
|
||||||
{},
|
(d) => d.kind === Kind.FRAGMENT_DEFINITION
|
||||||
{ documentVariableSuffix: "Doc" },
|
) as FragmentDefinitionNode[]
|
||||||
documents
|
).map((fragmentDef) => ({
|
||||||
);
|
node: fragmentDef,
|
||||||
const visitorResult = visit(allAst, { leave: visitor });
|
name: fragmentDef.name.value,
|
||||||
|
onType: fragmentDef.typeCondition.name.value,
|
||||||
|
isExternal: false,
|
||||||
|
})),
|
||||||
|
...(config.externalFragments || []),
|
||||||
|
];
|
||||||
|
|
||||||
const operations = allAst.definitions.filter(
|
const visitor = new ClientSideBaseVisitor(
|
||||||
(d) => d.kind === Kind.OPERATION_DEFINITION
|
schema,
|
||||||
) as OperationDefinitionNode[];
|
allFragments,
|
||||||
const defaultTypes = `
|
{},
|
||||||
|
{ documentVariableSuffix: "Doc" },
|
||||||
|
documents
|
||||||
|
);
|
||||||
|
const visitorResult = visit(allAst, { leave: visitor });
|
||||||
|
|
||||||
|
const operations = allAst.definitions.filter(
|
||||||
|
(d) => d.kind === Kind.OPERATION_DEFINITION
|
||||||
|
) as OperationDefinitionNode[];
|
||||||
|
const defaultTypes = `
|
||||||
|
|
||||||
type FetchWrapperArgs<T> = {
|
type FetchWrapperArgs<T> = {
|
||||||
fetch: typeof fetch,
|
fetch: typeof fetch,
|
||||||
|
|
@ -52,39 +65,53 @@ type FetchWrapperArgs<T> = {
|
||||||
type SubscribeWrapperArgs<T> = {
|
type SubscribeWrapperArgs<T> = {
|
||||||
variables?: T,
|
variables?: T,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface CacheFunctionOptions {
|
||||||
|
update?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const ops = operations
|
const ops = operations
|
||||||
.map((o) => {
|
.map((o) => {
|
||||||
if (o) {
|
if (o) {
|
||||||
const name = o?.name?.value || "";
|
const name = o?.name?.value || "";
|
||||||
// const dsl = `export const ${pascalCase(op.name.value)}Doc = gql\`
|
// const dsl = `export const ${pascalCase(op.name.value)}Doc = gql\`
|
||||||
// ${documents.find((d) => d.rawSDL.includes(`${op.operation} ${op.name.value}`)).rawSDL}\``
|
// ${documents.find((d) => d.rawSDL.includes(`${op.operation} ${op.name.value}`)).rawSDL}\``
|
||||||
const op = `${pascalCase(name)}${pascalCase(o.operation)}`;
|
const op = `${pascalCase(name)}${pascalCase(o.operation)}`;
|
||||||
const opv = `${op}Variables`;
|
const opv = `${op}Variables`;
|
||||||
let operations = "";
|
let operations = "";
|
||||||
|
|
||||||
if (o.operation === "query") {
|
if (o.operation === "query") {
|
||||||
operations += `
|
operations += `
|
||||||
export const ${name} = ({ variables, fetch}: FetchWrapperArgs<${opv}>):
|
export const ${name} = ({ variables, fetch}: FetchWrapperArgs<${opv}>):
|
||||||
Promise<GFetchReturnWithErrors<${op}>> =>
|
Promise<GFetchReturnWithErrors<${op}>> =>
|
||||||
g.fetch<${op}>({
|
g.fetch<${op}>({
|
||||||
queries: [{ query: ${pascalCase(name)}Doc, variables }],
|
queries: [{ query: ${pascalCase(name)}Doc, variables }],
|
||||||
fetch
|
fetch
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// Cached
|
||||||
|
export async function get${pascalCase(
|
||||||
|
name
|
||||||
|
)}(variables, options?: CacheFunctionOptions) {
|
||||||
|
await gQuery('user', { query: ${name}, variables }, options)
|
||||||
|
}
|
||||||
|
|
||||||
`;
|
`;
|
||||||
// If config is set to have subscription query, also write the
|
// If config is set to have subscription query, also write the
|
||||||
if (config.subscriptionQuery) {
|
if (config.subscriptionQuery) {
|
||||||
operations += `
|
operations += `
|
||||||
export const ${name}Subscribe = ({ variables }: SubscribeWrapperArgs<${opv}>):
|
export const ${name}Subscribe = ({ variables }: SubscribeWrapperArgs<${opv}>):
|
||||||
Readable<GFetchReturnWithErrors<${op}>> =>
|
Readable<GFetchReturnWithErrors<${op}>> =>
|
||||||
g.oFetch<${op}>({
|
g.oFetch<${op}>({
|
||||||
queries: [{ query: ${pascalCase(name)}Doc, variables }]
|
queries: [{ query: ${pascalCase(name)}Doc, variables }]
|
||||||
})
|
})
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
} else if (o.operation === "mutation") {
|
} else if (o.operation === "mutation") {
|
||||||
operations += `
|
operations += `
|
||||||
export const ${name} = ({ variables }: SubscribeWrapperArgs<${opv}>):
|
export const ${name} = ({ variables }: SubscribeWrapperArgs<${opv}>):
|
||||||
Promise<GFetchReturnWithErrors<${op}>> =>
|
Promise<GFetchReturnWithErrors<${op}>> =>
|
||||||
g.fetch<${op}>({
|
g.fetch<${op}>({
|
||||||
|
|
@ -92,56 +119,56 @@ Promise<GFetchReturnWithErrors<${op}>> =>
|
||||||
fetch,
|
fetch,
|
||||||
})
|
})
|
||||||
`;
|
`;
|
||||||
}
|
|
||||||
|
|
||||||
return operations;
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
.join("\n");
|
|
||||||
|
|
||||||
const imports = [
|
return operations;
|
||||||
`import type { Readable } from "svelte/store"`,
|
}
|
||||||
`import { g } from '${config.gFetchPath}'`,
|
})
|
||||||
`import type { GFetchReturnWithErrors } from '$graphql/gfetchLib'`,
|
.join("\n");
|
||||||
`import gql from "graphql-tag"`,
|
|
||||||
];
|
|
||||||
|
|
||||||
// let schemaInputs = getCachedDocumentNodeFromSchema(schema).definitions.filter((d) => {
|
const imports = [
|
||||||
// return d.kind === 'InputObjectTypeDefinition'
|
`import type { Readable } from "svelte/store"`,
|
||||||
// })
|
`import { g } from '${config.gPath}'`,
|
||||||
// let inputs = schemaInputs
|
`import type { GFetchReturnWithErrors } from '@leveluptuts/g-query'`,
|
||||||
// .map((d) => {
|
`import { gQuery } from '@leveluptuts/g-query'`,
|
||||||
// console.log('/* START */')
|
`import gql from "graphql-tag"`,
|
||||||
// // @ts-ignore
|
];
|
||||||
// console.log('NAME: ', d.fields[0].name.value)
|
|
||||||
// // @ts-ignore
|
|
||||||
// let isReq = d.fields[0]?.type?.kind === 'NonNullType'
|
|
||||||
// console.log('REQUIRED: ', isReq ? '✅' : '❌')
|
|
||||||
// // @ts-ignore
|
|
||||||
// console.log('TYPE: ', isReq ? d.fields[0]?.type?.type?.name?.value : d.fields[0]?.type?.name?.value)
|
|
||||||
// // @ts-ignore
|
|
||||||
// // @ts-ignore
|
|
||||||
// console.log('d.fields[0]', d.fields[0]?.type)
|
|
||||||
// console.log('/* END */')
|
|
||||||
// console.log('')
|
|
||||||
|
|
||||||
// return `
|
// let schemaInputs = getCachedDocumentNodeFromSchema(schema).definitions.filter((d) => {
|
||||||
// const inputName = {
|
// return d.kind === 'InputObjectTypeDefinition'
|
||||||
// ${d.fields[0].name.value}: ${isReq ? d.fields[0]?.type?.type?.name?.value : d.fields[0]?.type?.name?.value}
|
// })
|
||||||
// }
|
// let inputs = schemaInputs
|
||||||
// `
|
// .map((d) => {
|
||||||
// })
|
// console.log('/* START */')
|
||||||
// .join('\n')
|
// // @ts-ignore
|
||||||
// console.log('inputs', inputs)
|
// console.log('NAME: ', d.fields[0].name.value)
|
||||||
|
// // @ts-ignore
|
||||||
|
// let isReq = d.fields[0]?.type?.kind === 'NonNullType'
|
||||||
|
// console.log('REQUIRED: ', isReq ? '✅' : '❌')
|
||||||
|
// // @ts-ignore
|
||||||
|
// console.log('TYPE: ', isReq ? d.fields[0]?.type?.type?.name?.value : d.fields[0]?.type?.name?.value)
|
||||||
|
// // @ts-ignore
|
||||||
|
// // @ts-ignore
|
||||||
|
// console.log('d.fields[0]', d.fields[0]?.type)
|
||||||
|
// console.log('/* END */')
|
||||||
|
// console.log('')
|
||||||
|
|
||||||
return {
|
// return `
|
||||||
prepend: imports,
|
// const inputName = {
|
||||||
content: [
|
// ${d.fields[0].name.value}: ${isReq ? d.fields[0]?.type?.type?.name?.value : d.fields[0]?.type?.name?.value}
|
||||||
defaultTypes,
|
// }
|
||||||
visitor.fragments,
|
// `
|
||||||
...visitorResult.definitions.filter((t) => typeof t == "string"),
|
// })
|
||||||
ops,
|
// .join('\n')
|
||||||
].join("\n"),
|
// console.log('inputs', inputs)
|
||||||
};
|
|
||||||
},
|
return {
|
||||||
} as CodegenPlugin;
|
prepend: imports,
|
||||||
|
content: [
|
||||||
|
defaultTypes,
|
||||||
|
visitor.fragments,
|
||||||
|
...visitorResult.definitions.filter((t) => typeof t == "string"),
|
||||||
|
ops,
|
||||||
|
].join("\n"),
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,10 @@ export default function levelupViteCodegen(options) {
|
||||||
if (!options.output) {
|
if (!options.output) {
|
||||||
throw new Error("No output directory specified");
|
throw new Error("No output directory specified");
|
||||||
}
|
}
|
||||||
const { schema, output } = options;
|
if (!options.gPath) {
|
||||||
console.log(`${process.cwd()}/${output}/${outputFile}`);
|
throw new Error("No gPath directory specified. gPath is where you've initialized the 'g' client");
|
||||||
|
}
|
||||||
|
const { schema, output, gPath } = options;
|
||||||
return {
|
return {
|
||||||
name: "levelup-vite-codegen",
|
name: "levelup-vite-codegen",
|
||||||
async buildStart() {
|
async buildStart() {
|
||||||
|
|
@ -44,23 +46,21 @@ export default function levelupViteCodegen(options) {
|
||||||
[`${process.cwd()}/${output}/gquery-types.generated.ts`]: {
|
[`${process.cwd()}/${output}/gquery-types.generated.ts`]: {
|
||||||
plugins: ["typescript"],
|
plugins: ["typescript"],
|
||||||
},
|
},
|
||||||
// [`${process.cwd()}/${output}/${outputFile}`]: {
|
[`${process.cwd()}/${output}`]: {
|
||||||
// // preset: "import-types",
|
config: {
|
||||||
// // presetConfig: {
|
gPath,
|
||||||
// // typesPath: `${output}/${outputFile}`,
|
},
|
||||||
// // },
|
preset: "near-operation-file",
|
||||||
// // preset: "near-operation-file",
|
presetConfig: {
|
||||||
// // presetConfig: {
|
extension: ".generated.ts",
|
||||||
// // extension: ".generated.ts",
|
folder: "./",
|
||||||
// // folder: "./",
|
baseTypesPath: `gquery-types.generated.ts`,
|
||||||
// // baseTypesPath: `${output}/${outputFile}`,
|
},
|
||||||
// // },
|
plugins: [
|
||||||
// plugins: [
|
"typescript-operations",
|
||||||
// "typescript",
|
"@leveluptuts/g-query/codegen-plugin",
|
||||||
// // "typescript-operations",
|
],
|
||||||
// "../packages/gQueryCodegen/codegen.js",
|
},
|
||||||
// ],
|
|
||||||
// },
|
|
||||||
},
|
},
|
||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,uCAAuC;AAEvC,4EAA4E;AAC5E,4BAA4B;AAC5B,gCAAgC;AAChC,mEAAmE;AAEnE,qDAAqD;AACrD,8CAA8C;AAE9C,wEAAwE;AACxE,MAAM,UAAU,GAAG,qBAAqB,CAAC;AACzC,mBAAmB;AACnB,mBAAmB;AACnB,wJAAwJ;AACxJ,0BAA0B;AAC1B,wCAAwC;AACxC,eAAe;AACf,yCAAyC;AACzC,QAAQ;AACR,yEAAyE;AACzE,SAAS;AACT,OAAO;AACP,iBAAiB;AACjB,oCAAoC;AACpC,OAAO;AACP,KAAK;AAEL,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAO;IAChD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAE5B,KAAK,CAAC,UAAU;YACd,IAAI;gBACF,MAAM,cAAc,GAAG,MAAM,QAAQ,CACnC;oBACE,MAAM;oBACN,SAAS,EAAE,oBAAoB;oBAC/B,SAAS,EAAE;wBACT,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,MAAM,4BAA4B,CAAC,EAAE;4BACxD,OAAO,EAAE,CAAC,YAAY,CAAC;yBACxB;wBACD,kDAAkD;wBAClD,+BAA+B;wBAC/B,uBAAuB;wBACvB,+CAA+C;wBAC/C,UAAU;wBACV,sCAAsC;wBACtC,uBAAuB;wBACvB,qCAAqC;wBACrC,uBAAuB;wBACvB,mDAAmD;wBACnD,UAAU;wBACV,eAAe;wBACf,oBAAoB;wBACpB,oCAAoC;wBACpC,8CAA8C;wBAC9C,OAAO;wBACP,KAAK;qBACN;iBACF,EACD,IAAI,CACL,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CACT,0FAA0F,CAC3F,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,uFAAuF,CACxF,CAAC;aACH;YACD,OAAO;QACT,CAAC;QAED,SAAS,CAAC,GAAG,EAAE,EAAE,IAAG,CAAC;KACtB,CAAC;AACJ,CAAC"}
|
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,uCAAuC;AAEvC,4EAA4E;AAC5E,4BAA4B;AAC5B,gCAAgC;AAChC,mEAAmE;AAEnE,qDAAqD;AACrD,8CAA8C;AAE9C,wEAAwE;AACxE,MAAM,UAAU,GAAG,qBAAqB,CAAC;AACzC,mBAAmB;AACnB,mBAAmB;AACnB,wJAAwJ;AACxJ,0BAA0B;AAC1B,wCAAwC;AACxC,eAAe;AACf,yCAAyC;AACzC,QAAQ;AACR,yEAAyE;AACzE,SAAS;AACT,OAAO;AACP,iBAAiB;AACjB,oCAAoC;AACpC,OAAO;AACP,KAAK;AAEL,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAO;IAChD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAClB,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;KACH;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,sBAAsB;QAE5B,KAAK,CAAC,UAAU;YACd,IAAI;gBACF,MAAM,cAAc,GAAG,MAAM,QAAQ,CACnC;oBACE,MAAM;oBACN,SAAS,EAAE,oBAAoB;oBAC/B,SAAS,EAAE;wBACT,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,MAAM,4BAA4B,CAAC,EAAE;4BACxD,OAAO,EAAE,CAAC,YAAY,CAAC;yBACxB;wBACD,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC,EAAE;4BAC9B,MAAM,EAAE;gCACN,KAAK;6BACN;4BACD,MAAM,EAAE,qBAAqB;4BAC7B,YAAY,EAAE;gCACZ,SAAS,EAAE,eAAe;gCAC1B,MAAM,EAAE,IAAI;gCACZ,aAAa,EAAE,2BAA2B;6BAC3C;4BACD,OAAO,EAAE;gCACP,uBAAuB;gCACvB,qCAAqC;6BACtC;yBACF;qBACF;iBACF,EACD,IAAI,CACL,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CACT,0FAA0F,CAC3F,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,uFAAuF,CACxF,CAAC;aACH;YACD,OAAO;QACT,CAAC;QAED,SAAS,CAAC,GAAG,EAAE,EAAE,IAAG,CAAC;KACtB,CAAC;AACJ,CAAC"}
|
||||||
|
|
@ -36,9 +36,14 @@ export default function levelupViteCodegen(options) {
|
||||||
if (!options.output) {
|
if (!options.output) {
|
||||||
throw new Error("No output directory specified");
|
throw new Error("No output directory specified");
|
||||||
}
|
}
|
||||||
|
if (!options.gPath) {
|
||||||
|
throw new Error(
|
||||||
|
"No gPath directory specified. gPath is where you've initialized the 'g' client"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const { schema, output, gPath } = options;
|
||||||
|
|
||||||
const { schema, output } = options;
|
|
||||||
console.log(`${process.cwd()}/${output}/${outputFile}`);
|
|
||||||
return {
|
return {
|
||||||
name: "levelup-vite-codegen",
|
name: "levelup-vite-codegen",
|
||||||
|
|
||||||
|
|
@ -52,23 +57,21 @@ export default function levelupViteCodegen(options) {
|
||||||
[`${process.cwd()}/${output}/gquery-types.generated.ts`]: {
|
[`${process.cwd()}/${output}/gquery-types.generated.ts`]: {
|
||||||
plugins: ["typescript"],
|
plugins: ["typescript"],
|
||||||
},
|
},
|
||||||
// [`${process.cwd()}/${output}/${outputFile}`]: {
|
[`${process.cwd()}/${output}`]: {
|
||||||
// // preset: "import-types",
|
config: {
|
||||||
// // presetConfig: {
|
gPath,
|
||||||
// // typesPath: `${output}/${outputFile}`,
|
},
|
||||||
// // },
|
preset: "near-operation-file",
|
||||||
// // preset: "near-operation-file",
|
presetConfig: {
|
||||||
// // presetConfig: {
|
extension: ".generated.ts",
|
||||||
// // extension: ".generated.ts",
|
folder: "./",
|
||||||
// // folder: "./",
|
baseTypesPath: `gquery-types.generated.ts`,
|
||||||
// // baseTypesPath: `${output}/${outputFile}`,
|
},
|
||||||
// // },
|
plugins: [
|
||||||
// plugins: [
|
"typescript-operations",
|
||||||
// "typescript",
|
"@leveluptuts/g-query/codegen-plugin",
|
||||||
// // "typescript-operations",
|
],
|
||||||
// "../packages/gQueryCodegen/codegen.js",
|
},
|
||||||
// ],
|
|
||||||
// },
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
true
|
true
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@graphql-codegen/cli": "^2.2.0",
|
"@graphql-codegen/cli": "^2.2.0",
|
||||||
|
"@graphql-codegen/typescript-operations": "^2.1.6",
|
||||||
"camel-case": "^4.1.2",
|
"camel-case": "^4.1.2",
|
||||||
"pascal-case": "^3.1.2",
|
"pascal-case": "^3.1.2",
|
||||||
"svelte": "^3.43.1",
|
"svelte": "^3.43.1",
|
||||||
|
|
@ -12,6 +13,8 @@
|
||||||
},
|
},
|
||||||
"description": "Not like jQuery. A GraphQL Fetcher & Cache for Svelte Kit",
|
"description": "Not like jQuery. A GraphQL Fetcher & Cache for Svelte Kit",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@graphql-codegen/import-types-preset": "^2.1.4",
|
||||||
|
"@graphql-codegen/near-operation-file-preset": "^2.1.4",
|
||||||
"@graphql-codegen/plugin-helpers": "^2.1.1",
|
"@graphql-codegen/plugin-helpers": "^2.1.1",
|
||||||
"@graphql-codegen/visitor-plugin-common": "^2.2.1",
|
"@graphql-codegen/visitor-plugin-common": "^2.2.1",
|
||||||
"graphql": "^15.6.1",
|
"graphql": "^15.6.1",
|
||||||
|
|
@ -19,7 +22,9 @@
|
||||||
},
|
},
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./dist/index.js",
|
".": "./dist/index.js",
|
||||||
|
"./*": "./dist/index.js",
|
||||||
"./codegen": "./codegen/plugin.js",
|
"./codegen": "./codegen/plugin.js",
|
||||||
|
"./codegen-plugin": "./codegen/codegen.js",
|
||||||
"./package.json": "./package.json"
|
"./package.json": "./package.json"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/leveluptuts/gQuery#readme",
|
"homepage": "https://github.com/leveluptuts/gQuery#readme",
|
||||||
|
|
@ -27,7 +32,7 @@
|
||||||
"graphql"
|
"graphql"
|
||||||
],
|
],
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"name": "@leveluptuts/gQuery",
|
"name": "@leveluptuts/g-query",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/leveluptuts/gQuery.git"
|
"url": "git+https://github.com/leveluptuts/gQuery.git"
|
||||||
|
|
@ -38,5 +43,5 @@
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.0.1"
|
"version": "0.0.2"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,6 @@
|
||||||
"lib": ["es2020", "DOM"],
|
"lib": ["es2020", "DOM"],
|
||||||
"outDir": "./dist",
|
"outDir": "./dist",
|
||||||
"target": "es2020",
|
"target": "es2020",
|
||||||
/**
|
|
||||||
svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript
|
|
||||||
to enforce using \`import type\` instead of \`import\` for Types.
|
|
||||||
*/
|
|
||||||
"importsNotUsedAsValues": "error",
|
"importsNotUsedAsValues": "error",
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
|
|
@ -21,6 +17,7 @@
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"forceConsistentCasingInFileNames": true
|
"forceConsistentCasingInFileNames": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"exclude": ["node_modules"],
|
"exclude": ["node_modules"],
|
||||||
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/codegen.ts"]
|
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue