Try it without having Google services on that phone. Most apps and especially the essential ones are dependent on unmodified phones with Google services.
You act like the explanation improved it in any way, but that just made it 10x worse. Tax homemade cakes sold on the open market, leave school cake fairs be and definitely don't open them to commercial entities. You say this doesn't affect individuals - my children competing with some business at their school cake fair and having to fill taxes after it definitely affects me and them.
Indeed, and they saw that software of sufficient quality can't be funded merely by sales of these devices, and decided to create a platform where the software publishers share the cost with the end users.
I yearn for Windows Mobile but it has suffered from this problem greatly. Same with early Nokia and Sony Ericsson phones with smarter features like J2ME.
That still doesn't give you any right to just take what Apple built for free. Maybe there's no right option for you - I know there isn't for me, I'd prefer to have Windows Mobile (not Phone) again.
It's an issue because CommonJS allows stuff that's forbidden in static ESM imports/exports, and it was normal to use. Newer code is usually fine, but there are many older backend libraries that can cause issues with Esbuild. Webpack had to learn how to deal with it because it existed at the time CommonJS was most popular, Esbuild didn't.
There's not much more to it yet, it's a large project and my first time trying something like this. I have selected few candidates and so far the cooperation with each of them was excellent, they are very skilled, proactive and keen businesspeople with good products for reasonable prices. I really wish the market here in EU was like that.
At least they replied, lol. I still have dozens of Chinese saleswomen wishing me good morning on WhatsApp more than two months after I sent my RFQ, the EU companies didn't even reply.
Yes, exactly. Pulling a huge npm dependency is usually not a problem if they didn't go out of their way to make it super hard to analyze at build time.
This is tree shaking though, dead code elimination means it will find code that isn't used at all and remove it - for example you might have if (DEV) {...}, and DEV is static false at build time, the whole if is removed.
So first it performs dead code elimination, then it removes unused imports, and then it calculates what is actually needed for your imports and removes everything else.
Yep, that's how it works - you first perform dead code elimination and then tree shaking exactly because it wouldn't remove everything otherwise. Agreed that you need both done one after another in most cases; however you can usually disable either one in bundler configuration and it's a separate step.
Dead code elimination is related to but distinct from tree shaking - it also means that unused code branches get removed, for example constants like NODE_ENV get replaced with a static value, and if you have a static condition that always results to true, the else branch is removed.
SWC doesn't bundle at all. Esbuild is a pretty good bundler but works well only if your code and dependencies use ESM, it's not as good as other options with CommonJS.