This verbal proposal was brought up in Zig
It is very interesting to me, because it would help iteration speed. You don't always care if the entire application compiles if you aren't actively using every line of code. Ex: you are writing Discord and you make a refactor that breaks the user popup, but youre working on the emoji picker.
My proposal is to make it so all Errors in WL (currently prevent codegen) to emit a runtime panic (thrown error), and proceed with generating a JS binary. It would exit with code 1 still. It would write all errors to console. It would just continue to emit a binary result. Release builds will not allowed to use this feature (all warnings and errors turn into compile blockers)
In the example presented, this would mean you could use the app, right up until you clicked on a user, reaching the compile error at runtime.
We still need a distinction between warning and error, as warnings produce code.
Also, this will apply to every compile error across the program (parse, transform, sema, module loader, etc). The worst case will be emitting a binary that immediately panics due to the entry point having a syntax error.
Milestone: 0.2.0.