-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Description
Background
AMP currently uses yarn for package management, and lists it as a requirement in the developer docs. Yarn was originally introduced in 2016 because it provided a means for version pinning, which is critical to ensuring that the same environment is used by all developers and during CI.
Since then, NPM has introduced its own built-in mechanism for version pinning. Initial efforts to eliminate the additional tool (yarn) were abandoned because npm's lockfile was found to be inconsistent across OSs.
Meanwhile, Yarn's installation has become less reliable over time, with frequent failures on Travis and during local development (#15913, #23461). More recently, the latest version of yarn had issues like an invalid GPG signature and a version skew between github and npmjs.
Actions
This issue is to study and track a potential switch back to NPM.
- Investigate npm to see if past OS inconsistencies still exist
- List the steps involved in switching back to npm
- Understand the impact on the developer workflow (Will it just work? Or do devs need to uninstall stuff?)
- Discuss this during design review and get approval from
wg-approvers - Send out a PR to implement the switch
- Co-ordinate PR changes with changes to AMP's internal release automation with help from
wg-infra - Merge all changes in the correct order
/cc @ampproject/wg-approvers @ampproject/wg-infra @kristoferbaxter