Comparison of Javascript Package Managers
Jacobs, Alexander (2019)
Jacobs, Alexander
2019
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019091218429
https://urn.fi/URN:NBN:fi:amk-2019091218429
Tiivistelmä
Package managers have long been used in software development to manage third-party code libraries or as part of operating systems such as Linux to manage installed software. With the release of the first publicly available package manager for JavaScript, NPM in 2010, these tools have become a central part of modern JavaScript development.
The objective of this thesis research was to compare and analyze the three most prominent package managers in use by JavaScript developers today and to observe the benefits, drawbacks and operating performance of each in an effort to determine if there is a clear favorite out of the three or if there are benefits to using each of them depending on certain circumstances.
To conduct this research, a survey was conducted to gather data from developers on their opinions and experiences using the software. Secondly, I performed tests using each pack-age manager on different operating systems to measure the comparative performance.
The conclusions drawn from this research was that while you may get better performance using one or the other depending on your hardware and operating system, I would recommend the usage of NPM as your main package manager because it currently has the strongest security features. I would not recommend using PNPM at this time as it lacks important security features to detect compromised packages. While some areas of pack-age managers could be improved (security, error message clarity) their use are nonetheless strongly recommended by the developers surveyed.
The objective of this thesis research was to compare and analyze the three most prominent package managers in use by JavaScript developers today and to observe the benefits, drawbacks and operating performance of each in an effort to determine if there is a clear favorite out of the three or if there are benefits to using each of them depending on certain circumstances.
To conduct this research, a survey was conducted to gather data from developers on their opinions and experiences using the software. Secondly, I performed tests using each pack-age manager on different operating systems to measure the comparative performance.
The conclusions drawn from this research was that while you may get better performance using one or the other depending on your hardware and operating system, I would recommend the usage of NPM as your main package manager because it currently has the strongest security features. I would not recommend using PNPM at this time as it lacks important security features to detect compromised packages. While some areas of pack-age managers could be improved (security, error message clarity) their use are nonetheless strongly recommended by the developers surveyed.