A local npm registry proxy that caches modules for faster, offline-capable npm installs.
local-npm is a Node.js server that functions as a local proxy and cache for the npm registry. It intercepts npm install requests, fetches packages from the official registry on first use, and stores them locally to enable faster repeat installs and offline operation. It solves the problem of slow or unreliable internet connections during development by reducing dependency on remote servers.
Node.js developers and teams working in environments with limited bandwidth, frequent npm installs, or need for offline development capabilities. It's also useful for conference organizers or workplaces wanting to share a common cache.
Developers choose local-npm for its simplicity in setup, significant speed improvements for repeated installs, and offline functionality without modifying existing npm workflows. Its ability to sync metadata in near real-time and share caches across teams provides unique efficiency gains over standard npm usage.
Local and offline-first npm mirror
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
After the first download, modules and dependencies are stored locally, making subsequent installs much faster, as evidenced by the speed test results linked in the README.
Allows npm install to work without internet for cached packages, enabling development in low-connectivity environments, as described in the introduction.
Listens to npm's changes feed to replicate metadata updates within seconds of publication, ensuring cached information stays current without manual intervention.
Can be shared across a network via the --url option, reducing redundant downloads for teams or events like conferences, as outlined in the usage section.
The README explicitly states that features like npm search are unsupported, forcing users to switch back to the official registry for searching packages.
Requires running a server, configuring npm registry settings, and using tools like npmrc for easy switching, adding overhead compared to standard npm usage.
Only caches packages that have been installed; if new versions are published, offline installs may fail unless the cache is updated while online, as noted in 'How it works'.