This repository was archived by the owner on Feb 20, 2026. It is now read-only.
feat/increase-perf-with-direct-http-to-registry #8
Merged
Conversation
… and caching - Replace batch processing with direct HTTP calls to npm registry - Implement in-memory caching with 5-minute TTL - Add concurrency control using p-limit (max 50 concurrent requests) - Filter versions to only include stable semantic versions (X.Y.Z format) - Remove dependency on pnpm CLI commands and jq for version parsing This significantly improves performance by: 1. Eliminating shell command overhead 2. Reducing registry query latency 3. Preventing duplicate requests through caching 4. Better handling of failed package lookups with fallback data
Remove redundant progress tracking logic and consolidate version analysis progress messages for improved performance and cleaner code
…improved concurrency - Remove timeout-based abort controllers in favor of native fetch - Add explicit GET method and JSON accept headers for all registry requests - Increase max concurrent requests from 50 to 80 for better throughput - Enhance progress tracking with elapsed time metrics - Improve error handling by returning null on fetch failures - Add completion time reporting for package fetching operations BREAKING CHANGE: Removes timeout-based request cancellation in favor of native fetch behavior
Remove detailed timing metrics from progress messages to reduce overhead and improve performance during package data fetching. The simplified progress format maintains user visibility while reducing unnecessary string operations and calculations during the fetch process.
Add cacheMetadata method to ChangelogFetcher and integrate it in utils.ts to store package metadata during registry fetches. This eliminates redundant HTTP requests when both package data and changelog information are needed. The implementation handles fallback to latest package data when top-level metadata is missing and properly constructs repository URLs, npm links, and issue tracker references for cached metadata.
- Updated package.json to remove ora and table dependencies - Replaced ora spinner implementation with nanospinner in upgrader.ts - Simplified spinner API usage with success/error methods - Maintained all existing functionality while reducing bundle size
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.