sid88in / sid88in/serverless-appsync-plugin
Support AWS AppSync Events (Event APIs / channel namespaces)
@sid88in is already working on this.
Since Jun 2, 2026.
- Dominant language
- TypeScript
- Stars
- 955
- Forks
- 187
- PR merge metrics
- No merged PRs in 30d
Description
AWS AppSync Events (Event APIs) are serverless WebSocket pub/sub APIs — clients subscribe
to channels and publish events over WebSocket/HTTP without managing connections. Launched Oct
2024; CDK L2 constructs Feb 2025; data-source integrations for channel namespaces Apr 2025.
- https://aws.amazon.com/about-aws/whats-new/2024/10/aws-appsync-websocket-apis-web-mobile-experiences/
- https://aws.amazon.com/about-aws/whats-new/2025/04/aws-appsync-events-data-source-integrations-channel-namespaces
Current state (verified)
The plugin is built entirely around AWS::AppSync::GraphQLApi and its resolvers/data
sources. Event APIs use different top-level resources — AWS::AppSync::Api (with an
EventConfig) and AWS::AppSync::ChannelNamespace — which the plugin doesn't model at all.
Scope decision needed
This is a new product surface, not an increment on the GraphQL API. Options:
- Out of scope — keep this plugin GraphQL-only; point users to the AppSync Events CDK L2
constructs or a dedicated plugin for Event APIs. - In scope, separate config block — add a top-level
appSyncEvents(or similar) that
synthesizesAWS::AppSync::Api+AWS::AppSync::ChannelNamespace, with channel-namespace
handlers (APPSYNC_JS) and the Apr-2025 data-source integrations (Lambda/DynamoDB/Aurora).
This is a large effort and a genuine direction question for the project — filing it as a
scoping discussion rather than a committed feature. Given AWS shipped CDK L2 constructs, there
is precedent/demand for IaC support, but it may belong in its own plugin.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.