This is a less extreme version of #1208, which only marks snippets and the main file on the bundler target as having side effects instead of all files.
This means that the shim file which contains the vast majority of the JS code is still properly marked as having no side effects, allowing bundlers to get rid of things like unused `new TextEncoder` calls which could theoretically have side effects but don't.
Fixes#972.