What are alternative ways to create Typescript definitions from an AppSync GraphQL schema without utilizing amplify?

I have configured my AppSync API using AWS CDK and have decided not to utilize the Amplify framework. I am currently exploring methods for generating Typescript definitions from my AppSync schema.graphql file without relying on Amplify, meaning I do not have access to the amplify codegen command. After attempting to run it, I realized that Amplify expects certain directory structures which caused it to fail.

Although I considered using https://graphql-code-generator.com, it does not support special types used by AppSync such as AWSDateTime. One workaround suggested is to publish the API and obtain the schema from a GraphQL endpoint, but this solution is less than ideal as I would prefer to generate these types locally without having to publish the full schema.

Is there a way to achieve this without publishing the schema?

Answer №1

In case you have custom scalars such as AWSDateTime that are not included in your schema.graphql file, you can easily create a separate file named scalars.graphql and define those missing type definitions yourself:

scalar AWSDateTime
scalar AWSPhone
scalar AWSJSON

Afterwards, simply provide a glob to GraphQL Code Generator that covers both files - they will be merged into a single schema.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Having trouble retrieving mobiscroll instance in Angular with Ionic

I'm facing an issue with accessing the instance of my mobiscroll widget in Angular 4 with Ionic Framework. Despite following all the correct steps, the actual widget won't get selected. Below is the code for the widget: <mbsc-widget [options ...

Avoid connecting redux to a component in TypeScript and React

I am having an issue with the "connect" function not wrapping my App component, causing Redux to not work. I have tried cloning some repositories with react+redux+typescript and they all work fine, but my application does not. As a result, I am unable to ...

Exploring the Uses of SystemJS with TypeScript Loader

Can someone help clarify something about this TypeScript plugin for SystemJS? https://github.com/frankwallis/plugin-typescript/ Here is what the plugin does: This SystemJS plugin allows you to import TypeScript files directly and have them compiled in ...

Unable to generate a preview of the image that has been uploaded [using the REST API

While attempting to upload from my Ionic App to the Codeigniter Rest Server, I encountered an issue where the image could not be previewed after it was opened. To guide me through the uploading process from the app's end, I followed this tutorial: Th ...

Set an interface to null within Angular 4

I've created an interface in Angular 4 called StatusDetail: interface StatusDetail { statusName: string, name: string } Next, I assigned some values to it within an Angular component: //Angular Component export class EditComponent implemen ...

Is there a way to pass a method along with its specific generic type to RXJS bindCallback?

When trying to pass a function with callback to the rxjs bindCallback function, I encountered an issue with my generic type. Here is the code snippet in question: const obCreator = bindCallback<T>(FakeServer.instance.on<T>); return obCreator(m ...

What kind of parameter can be specified for a generic method that will not actually be called?

Currently, I am attempting to create a method that includes a parameter with a generic type. In this case, I have used 'unknown' as the generic type since it is not needed: function f(op: Operation<unknown>): void {...}. However, this appro ...

What is the correct way to input the 'name' HTML attribute in an Ant Design select element?

I am facing an issue with the 'name' attribute in my Ant Design Select component. When trying to set the 'name' attribute, I encountered an error message that is causing issues. https://i.stack.imgur.com/Lzb4t.png Ant Design Select Co ...

Is there a way to bring in both a variable and a type from a single file in Typescript?

I have some interfaces and an enum being exported in my implementation file. // types/user.ts export enum LoginStatus { Initial = 0, Authorized = 1, NotAuthorized = 2, } export interface UserState { name: string; loginStatus: LoginStatus; }; ex ...

How can one incorporate intricate keys into a map using TypeScript?

I am attempting to create a map in TypeScript that uses two-part keys. The key format I am working with looks like this: type Key = { section: number, index: number } In my attempts to implement this, I have created a map using the following syntax: l ...

Implementing an event listener within a knockoutjs custom directive

I have extensive experience as a knockout user, but I am currently struggling to achieve a specific scenario. For the past few days, I have been trying to create a system within a knockout component that allows observables to translate themselves into diff ...

Navigating through object keys in YupTrying to iterate through the keys of an

Looking for the best approach to iterate through dynamically created forms using Yup? In my application, users can add an infinite number of small forms that only ask for a client's name (required), surname, and age. I have used Formik to create them ...

Retrieving Vue component properties as a data type

I'm facing a dilemma with my Vue components. I want to extract the props from one component and use them as a type instead of a value in another component. Specifically, I have a component where I need to take in an array of props from a different com ...

Is there a more efficient approach to creating a Typescript XML parser that does not rely on PropTypes?

I'm currently designing the architecture for a web application that will require the consumption of SOAP APIs in hundreds, if not thousands, of instances. These implementations will be developed by 200-300 different developers over a span of several y ...

The error message "Unexpected token" occurs when using async function prefix in TypeScript

Encountering an 'Unexpected token' issue in typescript while attempting to create an async function: async function test() { ... } Investigated the possibility of this error being caused by running an outdated version of node that doesn' ...

Extending the declaration of JavaScript native methods is not possible when using TypeScript

When attempting to enhance the JS native String class by adding a new method, I encounter error TS2339. interface String { transl(): string; } String.prototype.transl = function() { // TS2339: Property 'transl' does not exist on type 'St ...

Is there a preferred method in RxJS for handling snapshotChanges()?

Currently, my code includes an auth.service.ts, crud.service.ts, and a components.ts. Although it functions correctly, it is a hodgepodge of various tutorials and documentation. I am seeking advice on how to streamline the code by centralizing all logic ...

The issue encountered is: "Unable to assign property 'id' to a numeric value of '1' in Angular."

In my Angular 7 project, I am trying to establish a client-side request to the server-side. Below is the structure of the request that needs to be sent. { "title" : "Test Title", "user": { "id" : 7 ...

Set the parameter as optional when the type is null or undefined

I need to create a function that can take a route and an optional set of parameters, replacing placeholders in the route with the given params. The parameters should match the placeholders in the route, and if there are no placeholders, the params should b ...

The Vue property I customized in my component is not being recognized by VSCode(Vetur)

I've successfully implemented a plugin in Vue by declaring it in a main.ts file, defining its type in a plugin.d.ts file, and utilizing it in a component.vue file. Although the compilation is error-free, I am encountering an issue with VSCode intellis ...