Our CLI builds process JS files in series, and differ between platforms versus how they compare the contents to determine how to proceed.
Both platforms read in the source JS file and transpile it.
iOS then does a check for the destination path to see if it exists, and if so to read that in and compare versus the transpiled contents. If they differ, it writes it out.
Android checks the original source against the transpired. If they don't differ and we're on MacOS/Linux we symlink the original src file. Otherwise, we write the new contents out.
The Android approach appears to be significantly faster, though it's unclear if either approach is "correct". Ideally we'd do a little of both - symlink when transpilation does not affect the source, don't write to destination file if we'd just be writing the same contents, etc. Fixing all of that logic properly is. larger task...
But, moving to processing the JS files in parallel has significant performance gains on iOS in particular.