ardatan / ardatan/graphql-tools
makeExecutableSchema: run as a build step
- Dominant language
- TypeScript
- Stars
- 5.4k
- Forks
- 830
- Avg merge
- 10h 59m
- Merged PRs (30d)
- 45
Description
When running in serverless environments like AWS Lambda the startup time of the application is of unusual importance. It is valuable to move as much startup operation into the build step as possible, in order to reduce startup time
**Describe the solution you'd like**
`makeExecutableSchema` does a lot of parsing and object graph construction. This work is slow, heavily impacting the startup time. It would be awesome if this could be done as a build step, with an output of a pre-built JS (or better yet, TS) file that could be loaded at run-time. This would eliminate a costly string-parsing step from startup.
**Describe alternatives you've considered**
The existing solution works, but it is slow.
Contributor guide
Research direction
Start at the makeExecutableSchema entry point and examine which parsing and object graph construction work currently occurs during application startup. Define a build-step output that can be loaded at runtime, then measure whether the resulting approach reduces startup work in a serverless environment such as AWS Lambda.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, typescript
- Domain
- api, build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100