context
Gitlab has announced they're going to make some changes to their api rate limits rules.
From 19th of October an unauthenticated requests will be rate limited to 60 requests per hour per ip.
with a free account with an access token the request go to 5000 request per account.
Currently npmx uses the gitlab api to get metadata (ex: stars), latest release & releases list api's.
link to announcement blog post: https://about.gitlab.com/blog/rate-limit-change-2026/
possible solutions
- Add via environment variables Gitlab access token(s)
- possibly make the access token available via a function to allow easier changes in only 1 function
- create an fork of ungh that serves the gitlab api instead of github's (ungl)
further unless ungl gets made, it would be best if gitlab api is used via cachedfetch or defineCachedFunction to reduce refetching the same data
For package changelog I'll add defineCachedFunction to reduce refetching the same data.
Getting metadata like stars already use cachedfetch currently
if there other solutions or you've some opinions, then don't be hesitant to comment below.
I know that Gitlab isn't used as much as for example github for hosting npm packages source code, but it might still be best to be able to handle more than 60 an hour
context
Gitlab has announced they're going to make some changes to their api rate limits rules.
From 19th of October an unauthenticated requests will be rate limited to 60 requests per hour per ip.
with a free account with an access token the request go to 5000 request per account.
Currently npmx uses the gitlab api to get metadata (ex: stars), latest release & releases list api's.
link to announcement blog post: https://about.gitlab.com/blog/rate-limit-change-2026/
possible solutions
further unless ungl gets made, it would be best if gitlab api is used via
cachedfetchordefineCachedFunctionto reduce refetching the same dataFor package changelog I'll add defineCachedFunction to reduce refetching the same data.
Getting metadata like stars already use
cachedfetchcurrentlyif there other solutions or you've some opinions, then don't be hesitant to comment below.
I know that Gitlab isn't used as much as for example github for hosting npm packages source code, but it might still be best to be able to handle more than 60 an hour