Simplify the build pipeline, and standardize our build process. There was a time where npm was slow, and builds were not deterministic, that is not the case anymore. npm has long regained trust in the community and using yarn makes our builds more complex, less standard, and our dependency tree larger.
More information here https://iamturns.com/yarn-vs-npm-2018/, searching for npm vs yarn 2018 will return similar articles making the same points.
Remove the dependency on the yarn package, solely rely on npm and close-to-npm packages in our Javascript build pipeline.
N/A
Describe any NPM/PyPI packages that are required. Are they actively maintained? What are their licenses?
N/A
yarn
is it easy to achieve reproducible builds via npm ?
i.e. I know yarn has lock files, would be great if we can also add some docs on how to achieve reproducible builds via npm as part of this SIP.
Reproducible/deterministic builds have been fixed in NPM since version 5 now uses a lockfile as well. npm is also faster than yarn in many cases now. From the research I've done, the motivations we had originally for using yarn have fully eroded a while back.
BTW this does not represent much work, probably just a simple small PR. I just wanted to make sure that we have consensus on this before proceeding.
For the record, yarn has one great feature that I don't think npm has: resolutions.
There is though a package to handle this use case with npm, see this SO answer.
Personally I'm fine with the npm alternative here, plus we do not currently use resolutions in yarn. Sending a PR
Most helpful comment
BTW this does not represent much work, probably just a simple small PR. I just wanted to make sure that we have consensus on this before proceeding.