Compiling with optimizations none is no doubt quite handy, especially in conjunction with source maps, as a traceback will take you to the line of code causing the problems, and with the same variable names used in your original clojurescript code. But this is not currently possible for .jc files used by web workers as the unoptimized .js file contains a reference to js/window--and window does not exist in a web worker.
You should still be able to use optimizations none with your main javascript code, but you will need to compile your main code and your web worker code separately so that you can use different optimizations as appropriate. And you can do this so long as your not using shared workers. The question then is, how to compile the .js files separately.
The duracell demo uses a web worker AND is itself compiled with optimizations none. There are two things done to accomplish this:
So how does the durable-cells library create the dcells.js file? Again, there are two things done to accomplish this:
(cljs :optimizations :simple)
. This invokes the compiler with an appropriate level of optimizations.