作者:micheals | 来源:互联网 | 2023-09-14 19:06
This is specifically addressing the way urql injects
into queries at runtime. These transformations can be done statically at build time, rather than at runtime through a custom babel-transform.
What the babel transform would do is translate:
1 2 3 4 5 6 7 8 9
| js
const TodoQuery = `
query {
todos {
id
text
}
}
`; |
into
1 2 3 4 5 6 7 8 9 10
| js
const TodoQuery = `
query {
__typename
todos {
id
text
}
}
`; |
(or whatever it needs to do, haven't traced the code entirely).
At that point, most of this file can go away.
My proposal is to do the following:
1. Don't change the runtime code.
2. Create a babel-transform that injects
and shakes away the
file so it doesn't even try to do any runtime transformations.
This approach gives a very lazy buy in where consumers don't have to use our babel-transform, but can use it to get a very specific optimization.
该提问来源于开源项目:FormidableLabs/urql
Lets replace this with #50 to reduce duplication and keep things simple