Skip to content

Cache packages requested from the npm public registry

Problem to solve

Currently, when a package is requested from the GitLab registry and not found, the request is forwarded, by default, to the public npm registry. If the package is found, it will be downloaded.

However, we do not currently cache recently downloaded packages for future use. This would help improve reliability, by ensuring that a version of the package is available when the public registry is down. In addition, it would help drive faster builds.

Intended users

User experience goal

As this feature will only be enabling the cache, the user experience goal will be zero degradation in performance and experience when fetching packages from npmjs.com.

Proposal

When a package is downloaded through the Dependency Proxy, it will be cached and stored for 30-days. If a dependency in the cache has not been accessed in the past 30-days, it will automatically be removed.

Further details

Permissions and Security

  • There are no permissions changes required for this change

Documentation

What does success look like, and how can we measure that?

Success looks like packages are added to the cache when fetched from nmpjs.com.

Measure

  • Number of packages added to the cache
  • Number of duplicates uploaded
  • Size of cache
  • Number of packages that failed to be added to the cache

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖