Slots/JSX rework part 1: Create a common @fluentui-react-native/framework-base package #3939
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.
Platforms Impacted
Description of changes
This creates a common framework-base package that will be the ancestor for both the old and new frameworks. Right now this includes: memo-cache, immutable-merge, and merge-props. I separated out this change to ensure that most changes were seen as moves by git rather than full add/remove of files.
The new package keeps these in sub-directories and exports the appropriate entries from them. The old packages now simply depend on the new framework-base package and export the appropriate functions and types for consistency.
Note that the new package has export maps present but these require special handling from metro in order to resolve correctly. To avoid causing all downstream consumers from having to do this special handling they aren't used internally.
Verification
Builds, bundling, basic eng-style validation. The output code should be effectively identical for consumers.