However, in ClojureScript r1.9.473, the :main is silently ignored when :optimizations :whitespace is set.
As a user, my expectation is that the whitespace optimizations case would act the same as the simple optimizations case.
If this is not possible, I think the compiler should throw an error when the :main option is provided together with :optimizations :whitespace to prevent confusion / frustration.
(Ditto for behavior under :optimizations :none)
I'm happy to contribute a patch for whatever behavior the core team deems preferable.