问题标签 [graphql-codegen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aws-amplify - 如何在已配置 codegen 的地方运行 amplify codegen?
我们有一个项目 repo,后端团队在其中添加了新的 api。其他开发人员已经运行并配置了放大和代码生成。现在我想添加这些新查询及其类型。当我运行放大代码生成时,我收到此错误:
当我运行 amplify add codegen 时,它说 Codegen 每个项目只支持一个 GraphQL API。有人可以指导我这样做的正确方法是什么。
graphql - 需要一个对开发人员友好的 GraphQL 客户端代码生成器
一个关于基于方案的代码生成的问题,在此之前我使用的是 REST,因为它有一个代码生成器(openapi codegen),它在输出端输出一个现成的服务(类),并翻译来自蛇的字段-样式到骆驼样式,类型检查等。 P. GraphQl 有没有这样的东西,尝试了 graphql-code-generator - 它输出的不是类/服务,而是类型接口。
graphql-codegen - 使用带有 Graphql 的 RTK 查询
到目前为止,我知道我需要建立自己的baseQuery
. 我可以像这里https://rtk-query-docs.netlify.app/examples/react-with-graphql中的示例一样编写graphql查询和突变,如果我添加类型query.builder
这样的查询和突变,我是否可以获得完整的类型安全性builder.query<Device, void>
或者我必须使用这样的东西https://www.graphql-code-generator.com/docs/plugins/typescript-graphql-request#simple-request-middleware。在后一种情况下,baseQuery
如果我为 graphql-request 库使用生成的钩子,我应该怎么看。
这是来自2的钩子示例:
我在想类似的事情:
代码并没有真正的意义,但我希望你能明白我的意思。谢谢 :)
graphql - 在加载之前从模式中删除自定义指令
我正在使用graphql-codegen
插件typescript-mongodb
从 qraphql 模式生成数据库模型文件。因此,我的架构包含来自typescript-mongodb
like@entity
和@column
. codegen 工作正常,但是当我使用该graphql-tools
loadSchemaSync
函数加载架构时,我得到一个架构验证错误,它抱怨未知指令。
可能最简单的解决方案是将 mongo 插件指令定义添加到模式中(我也无法开始工作)。但是在 graphql-codegen 生成配置文件之后,实际上没有任何理由在模式中包含这些指令。
所以我想知道在将模式文件加载到可执行模式之前,是否有一些标准方法可以从模式中删除与 mongo 相关的指令作为中间步骤?
或者有没有办法告诉 loadSchemaSync 函数忽略“未知指令”错误?
这是我当前加载架构文件的代码:
typescript - 在 .graphql 文件中定义 GraphQL 对象类型不起作用
我正在尝试在 type-graphql 中进行突变,其中一个参数是 Object 所以:
所以我为参数“图像”创建了一个输入类型:
和一个对象类型:
现在我正在尝试使用 GraphQL 代码生成器,我需要在客户端编写查询和突变作为 .graphql 文件扩展名,所以我有:
现在,当我尝试运行“npm run gen”时说:
GraphQLDocumentError:未知类型“ImagesArray”。
我试图在上面添加:
不再工作了,有什么想法吗?
graphql - 当子类型有参数时,使用 graphql-codegen-maven-plugin 生成 DTO 类
我想使用 graphql-codegen-maven-plugin 和使用 graphql 模式生成 POJO (DTO) 类。如果我没有在observationHistory 发送游标参数,则可以生成,但无法使用游标参数生成。
除了 id 和 type 等初始参数外,我还需要发送游标参数。我想实现分页,所以需要那个游标参数。
GraphQL 架构
我的代码库
typescript - typescript 和 graphql-codegen 之间的枚举不匹配
我目前正在尝试解决以下问题,但并没有走得太远。目前,我正在运行一个 Apollo-Server 作为我的 graphQL 服务器,并使用 postgres 数据库配置了 prisma2,并且正在使用 graphql-codegen 从我的模式中生成类型。目前,我正在尝试更新一个具有多对多关系的模型,并且抛出了非常奇怪的打字稿错误。我很确定我的更新不正确,但我看到的错误没有帮助。
以下是相关的代码片段:
棱镜模式
权限.gql
最后是解析器中的违规代码:
更新权限.ts
我收到以下打字稿警告:
我不明白为什么它认为 PermissionVerb 是不可分配的——正如我从 .prisma/client/index 和 generated/graphql 看到的那样,两个枚举都是相同的。不知道我在这里缺少什么。
任何帮助将不胜感激!谢谢
docker - 在构建之前让一个 Docker 映像等待另一个完成
我对 docker 很陌生(提前为我的术语错误/我的知识空白表示歉意)并且拥有三项服务,其中一项依赖于一项才能完成才能构建。
将 repo 设置为将它们都作为子模块,并由以下 docker 文件组成。
这些操作是 Hasura 的扩展,需要 Hasura 启动并运行才能正确设置。这是 docker 文件的样子:
该yarn graphql
文件使用graphql-codegen
.
是否可以编排 docker 在构建操作之前等待 Hasura 实例准备好?或者我是否需要一个 bash 脚本,如果需要,它会是什么样子并运行?我正在寻找的是一种解决方案,npm run graphql
它会不断重新运行,直到它能够从 Hasura 下载 graphql 模式,然后运行npm run start
.
我有点超出我的深度,所以任何见解或提示都值得赞赏。我已经尝试在本地存储 graphql 模式(所以我不需要等待 Hasura 准备好获取它)但是这实际上不起作用,因为我需要 Hasura 和要同步的操作(因此从Hasura 在构建时)。我还与团队联系,graphql-coden
他们提到没有 CLI 标志或配置允许他们的代码继续重试下载模式,直到它准备好。
graphql-codegen - 有没有一种方法可以将解析器与 graphql-codegen 结合起来,比如 graphql-resolvers?
尝试将 typescript 与 graphql-resolvers 一起使用
使用 graphql-resolvers 第一个 getSample 输入正确并且可以工作,但第二个不喜欢 combineResolvers 的返回值并引发类型错误:(我一次尝试一个)
错误:
我可以转换 combineResolvers 的返回值吗
graphql-codegen - 如何在 RTK-Query 插件中向端点添加标头?
尝试遵循官方页面上相当稀疏的教程并没有让我走得太远。
我实际上是在尝试根据 api 调用的参数添加某个标头,但我不知道如何配置端点来这样做。