In short, we count on the Wasp compiler to tolerate missing operation definitions.
We tell our users to:
First declare it inside the Wasp file (the compiler tolerates the missing implementations and generates the types).
Then define its implementation in TypeScript (and use the generated types).
When users do this out of order (as I often do), wasp compile breaks and stays broken even after all the code is completely valid.
This happens because the compiler didn't get the chance to generate the types before the user mentioned them in the implementation file. Essentially, the compiler needs to run at least once while the declaration points to a non-existing implementation.
This is only fixable by removing types from the implementation file.
The details are described here: https://github.com/wasp-lang/wasp/issues/969.
In short, we count on the Wasp compiler to tolerate missing operation definitions.
We tell our users to:
When users do this out of order (as I often do),
wasp compile
breaks and stays broken even after all the code is completely valid.This happens because the compiler didn't get the chance to generate the types before the user mentioned them in the implementation file. Essentially, the compiler needs to run at least once while the declaration points to a non-existing implementation.
This is only fixable by removing types from the implementation file.
A user hit it here: https://discord.com/channels/686873244791210014/1288139584676565022/1288139584676565022