refactor: replace memoizee with lighter alternatives#10014
Merged
davidfirst merged 4 commits intomasterfrom Sep 26, 2025
Merged
refactor: replace memoizee with lighter alternatives#10014davidfirst merged 4 commits intomasterfrom
davidfirst merged 4 commits intomasterfrom
Conversation
- Replace memoizee with lodash.memoize for simple caching in bit-react-transformer - Use WeakMap-based deduplication instead of 1ms TTL in traverse-versions for same-operation duplicate prevention - Replace custom memoization with existing createInMemoryCache (LRU + TTL) in preview runtime - Eliminates heavy memoizee dependency with 100+ es5-ext files while maintaining same functionality
…atibility The harmony.modules.in-memory-cache is not browser-compatible, so using lru-cache directly in the preview runtime.
GiladShoham
approved these changes
Sep 25, 2025
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Replaces the heavy memoizee dependency (which brings in 100+ files from es5-ext) with lighter alternatives using existing packages in the project:
Performance Impact
The bundle of
teambit.preview/previewis reduced from 617K to 589K as a result of this change, since memoizee is no longer part of the bundle.This eliminates the memoizee dependency while maintaining identical functionality and using packages already available in the project.