-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incremental rebuilds #6142
Incremental rebuilds #6142
Conversation
This way when a new file is added, we generate only relevant outputs, not everything
|
1a4493a
to
ff30197
Compare
9ea19ea
to
7673256
Compare
@kamilkisiela is this still being actively worked on? Would love to see this sort of improvement and wanted to see if there's anything I could do to assist. |
I would have to rebase the PR and adjust it a bit, because of the change in GraphQL tools Loaders. |
The idea here was to also persist some kind of metadata file to build/skip things between executions of graphql-codegen command. |
Ah nice, yeah that would be pretty useful - was starting to look into different options for speeding up the codegen by potentially building a smarter in-process watcher, which it looks like this is trying to do. We're using graphql-codegen (and several other graphql-tools) in the new v10 branch of Cypress: https://github.com/cypress-io/cypress/blob/10.0-release/graphql-codegen.yml and the codegen is a bit of a bottleneck when doing local development |
We will keep this PR as an inspiration for the upcoming work on CLI improvements. |
Related: ardatan/graphql-tools#2816
incremental re-builds in codegen. It skips running any computations related to outputs when their documents, schemas didn’t change. Later on we could cache plugin outputs as well and run only those relevant. Even more interesting, we could calculate checksums and avoid generating unnecessary file even outside of watch mode
4s vs 0.4s
Nagranie.z.ekranu.2021-04-9.o.12.42.58.1.mov