ardatan / ardatan/graphql-tools

makeExecutableSchema: run as a build step

Open
#4,270 1 comment 13 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.