Open stocaaro opened 1 week ago
Why can you not run codegen
before running CDK build?
We looked into that. The graphql schema we're running codegen against isn't finalized until the cdk artifacts are being composed, which supports having multipe schema's combined into a single API surface.
We have been running codegen after the cdk build was complete, however, now we want to allow customers to consume a generated introspection schema from within a lambda, which would require running codegen after the cdk build starts, but before it is complete.
Is your feature request related to a problem? Please describe.
I'm working on augmenting the
aws-amplify
library to generate data interfaces for lambda functions to consume, which requires runningcodegen
during the infrastructure build step in CDK. CDK doesn't support awaiting async calls related to concerns about keeping definitions deterministic.Would it be possible to support running
codegen
synchronously / without the Promise wrapper?Reviewing the implementation, it appears
codegen
is async to support asyncprofiler
,cache
andplugin
implementations. Our current usage doesn't include async behavior for any of these, but there's no way for me to decouple the async wrappers baked into the library behavior.Our customers schema is composed during CDK execution, which we want to
codegen
so their projects can depend upon an updatedschema
directly in their lambdas.Describe the solution you'd like
I've experimented with making/testing this change to
codegen
, offering acodegenSync
variant implementation with the needed types.This would either support
profiler
,plugin
andcache
's that are sync only, or strip these features out if they only make sense as async behavior.If an option like this would be considered for merge into the library, I could turn my prototype into a draft PR.
Describe alternatives you've considered
execa
to perform thisasync
behavior in a separate process.cdk
constructs that compose the schema.Any additional important details?
No response