aws-amplify / amplify-category-api

The AWS Amplify CLI is a toolchain for simplifying serverless web and mobile development. This plugin provides functionality for the API category, allowing for the creation and management of GraphQL and REST based backends for your amplify project.
https://docs.amplify.aws/
Apache License 2.0
89 stars 77 forks source link

Replace all Amplify auto-generated VTL resolvers with Javascript resolvers #1759

Open dorontal opened 1 year ago

dorontal commented 1 year ago

Describe the feature you'd like to request

All existing auto-generated resolvers in Amplify are in the VTL language. Now that AWS has allowed Appsync and Amplify developers to write our resolvers in Javascript as opposed to VTL (thanks for that!), it is still difficult to figure out the exact sequence of steps of converting a VTL resolver into a Javascript one - for the case when a developer wants to override a resolver but do so in Javascript. [ I've tried, following this documentation, for example, plus other blogs, but have not yet succeeded in overwriting a VTL resolver with a Javascript one. ]

This feature request is to have Amplify replace all VTL resolvers with their Javascript version - for many developers such a step will make it much easier to override resolver code.

Is the Amplify team considering keeping VTL as the main resolver language, or will it exist side-by-side with Javascript, or will Javascript resolvers become the main way to write resolvers in the future of Amplify? It would help to know of long term plans for Javascript resolvers, if any. Are the Javascript resolvers able to replace the VTL resolvers completely or do they lack something that cannot be done without VTL? And if so will that bridge be

Describe the solution you'd like

1) Replace all VTL resolvers with Javascript versions of the same

2) Document how to overwrite a Javascript resolver on the official Amplify site

3) Document how to test - " -

Describe alternatives you've considered

I've tried to overwrite a VTL resolver - this is still not working for me and it is probably due to the VTL learning curve I am experiencing.

Additional context

No response

Is this something that you'd be interested in working on?

Would this feature include a breaking change?

AnilMaktala commented 1 year ago

Hey @dorontal ,👋 Thank you for bringing this up! We will label it as a feature request for the team's thorough review and assessment.

chrisl777 commented 1 year ago

100% having the resolvers in JavaScript would be super helpful!

Right now, it is quite difficult when trying to understand what's happening in the VTL resolvers. It would reduce the complexity of the project, and for on-boarding other developers to Amplify-based projects.

cypherpower commented 1 year ago

This would be a great feature to add to projects, including the ability to autogenerate javascript resolvers based on the schema.graphql in an amplify project.

Dennis-Dekker commented 11 months ago

Are there any updates for this feature? Also, could you let me know if a timeline is available for this feature? We would also like to try it out, but due to the complexity of the VTL resolvers, it would take a long time to sort out all the requirements for the JS resolver to replace them. A guide/blog explaining how to do this specifically for Amplify would also help a lot.

AmirNajariH commented 5 months ago

This feature would be great! I have too many issues with Appsync VTLs. Not being able to write VTL was an issue, my current issue is not being able to read VTL and learn from it while writing my JS pipeline resolvers for validating etc.