Post

"The core problem is that when starting streaming, we need to guess whether the script will be used as a module or not, since that will affect how the script is parsed. If we get that guess wrong, we just silently ignore the streaming parsing results and parse it again."

I tested many different scenarios manually and couldn't observe any difference. I had suggested that they include a trace event to be able to recognize when the streamed script is dropped but I don't think it was done.

Therefore, according to the feedback we received, when shipping ES6 module code, you should use .mjs extension to benefit from faster/earlier compilation.