Skip to content

feat(mobile): absorb @react-simplikit/mobile into the react-simplikit/mobile subpath - #437

Draft
mnxmnz wants to merge 5 commits into
433-rename-corefrom
433-absorb-mobile
Draft

feat(mobile): absorb @react-simplikit/mobile into the react-simplikit/mobile subpath#437
mnxmnz wants to merge 5 commits into
433-rename-corefrom
433-absorb-mobile

Conversation

@mnxmnz

@mnxmnz mnxmnz commented Aug 25, 2026

Copy link
Copy Markdown
Member

Overview

Closes #433. Absorb @react-simplikit/mobile into the main package as the react-simplikit/mobile subpath. The mobile export surface is byte-identical to the old package — only the package boundary moves.

  • packages/mobile/srcpackages/react-simplikit/src/mobile; duplicated test utils merged into _internal/test-utils, and the React Compiler canary now also proves mobile source gets compiled.
  • package.json: exports["./mobile"] + typesVersions (node10 type resolution; verified load-bearing via attw), tsdown builds a second entry.
  • packages/mobile removed; examples now import react-simplikit/mobile.
  • CI gates follow the absorbed tree: check-changes path filter and verify-exports now cover src/mobile, and verify-pack runs per-entry tree-shaking gates (root 256B, mobile 768B).

Decisions made in this PR — open to review:

  • Subpath-only, no root re-export: keeps the root export platform-independent (React Native safe); mobile code cannot leak into import from 'react-simplikit'.
  • typesVersions asymmetry: legacy moduleResolution: "node" consumers get types but not runtime resolution for the subpath. Modern toolchains are unaffected; if we want legacy support, a mobile/package.json proxy stub can be added later.
  • npm deprecation: after this ships, run npm deprecate @react-simplikit/mobile "Moved into react-simplikit/mobile subpath" — recorded in the changeset; changesets can no longer version the removed package.

Checklist

  • Did you write the test code? (all mobile tests moved intact; canary extended for compiled mobile source)
  • Have you run yarn run fix to format and lint the code and docs?
  • Have you run yarn run test:coverage to make sure there is no uncovered line? (100% maintained)
  • Did you write the JSDoc? (docs moved with their hooks; no API change)

@changeset-bot

changeset-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 3ba2277

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
react-simplikit Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

Size Change: -650 B (-0.66%)

Total Size: 98 kB

📦 View Changed
Filename Size Change
packages/mobile/dist/hooks/useAvoidKeyboard/useAvoidKeyboard.cjs 0 B -1.01 kB (removed) 🏆
packages/mobile/dist/hooks/useAvoidKeyboard/useAvoidKeyboard.mjs 0 B -986 B (removed) 🏆
packages/mobile/dist/hooks/useBodyScrollLock/useBodyScrollLock.cjs 0 B -568 B (removed) 🏆
packages/mobile/dist/hooks/useBodyScrollLock/useBodyScrollLock.mjs 0 B -544 B (removed) 🏆
packages/mobile/dist/hooks/useKeyboardHeight/useKeyboardHeight.cjs 0 B -709 B (removed) 🏆
packages/mobile/dist/hooks/useKeyboardHeight/useKeyboardHeight.mjs 0 B -692 B (removed) 🏆
packages/mobile/dist/hooks/useNetworkStatus/useNetworkStatus.cjs 0 B -1.22 kB (removed) 🏆
packages/mobile/dist/hooks/useNetworkStatus/useNetworkStatus.mjs 0 B -1.2 kB (removed) 🏆
packages/mobile/dist/hooks/usePageVisibility/usePageVisibility.cjs 0 B -914 B (removed) 🏆
packages/mobile/dist/hooks/usePageVisibility/usePageVisibility.mjs 0 B -895 B (removed) 🏆
packages/mobile/dist/hooks/useSafeAreaInset/useSafeAreaInset.cjs 0 B -965 B (removed) 🏆
packages/mobile/dist/hooks/useSafeAreaInset/useSafeAreaInset.mjs 0 B -950 B (removed) 🏆
packages/mobile/dist/hooks/useScrollDirection/useScrollDirection.cjs 0 B -979 B (removed) 🏆
packages/mobile/dist/hooks/useScrollDirection/useScrollDirection.mjs 0 B -967 B (removed) 🏆
packages/mobile/dist/hooks/useVisualViewport/useVisualViewport.cjs 0 B -1.26 kB (removed) 🏆
packages/mobile/dist/hooks/useVisualViewport/useVisualViewport.mjs 0 B -1.25 kB (removed) 🏆
packages/mobile/dist/index.cjs 0 B -530 B (removed) 🏆
packages/mobile/dist/index.mjs 0 B -377 B (removed) 🏆
packages/mobile/dist/utils/disableBodyScrollLock/disableBodyScrollLock.cjs 0 B -706 B (removed) 🏆
packages/mobile/dist/utils/disableBodyScrollLock/disableBodyScrollLock.mjs 0 B -698 B (removed) 🏆
packages/mobile/dist/utils/enableBodyScrollLock/enableBodyScrollLock.cjs 0 B -696 B (removed) 🏆
packages/mobile/dist/utils/enableBodyScrollLock/enableBodyScrollLock.mjs 0 B -687 B (removed) 🏆
packages/mobile/dist/utils/getKeyboardHeight/getKeyboardHeight.cjs 0 B -632 B (removed) 🏆
packages/mobile/dist/utils/getKeyboardHeight/getKeyboardHeight.mjs 0 B -626 B (removed) 🏆
packages/mobile/dist/utils/getSafeAreaInset/getSafeAreaInset.cjs 0 B -925 B (removed) 🏆
packages/mobile/dist/utils/getSafeAreaInset/getSafeAreaInset.mjs 0 B -916 B (removed) 🏆
packages/mobile/dist/utils/isAndroid/isAndroid.cjs 0 B -566 B (removed) 🏆
packages/mobile/dist/utils/isAndroid/isAndroid.mjs 0 B -558 B (removed) 🏆
packages/mobile/dist/utils/isIOS/isIOS.cjs 0 B -776 B (removed) 🏆
packages/mobile/dist/utils/isIOS/isIOS.mjs 0 B -769 B (removed) 🏆
packages/mobile/dist/utils/isKeyboardVisible/isKeyboardVisible.cjs 0 B -455 B (removed) 🏆
packages/mobile/dist/utils/isKeyboardVisible/isKeyboardVisible.mjs 0 B -443 B (removed) 🏆
packages/mobile/dist/utils/isServer/isServer.cjs 0 B -404 B (removed) 🏆
packages/mobile/dist/utils/isServer/isServer.mjs 0 B -403 B (removed) 🏆
packages/mobile/dist/utils/subscribeKeyboardHeight/subscribeKeyboardHeight.cjs 0 B -1.14 kB (removed) 🏆
packages/mobile/dist/utils/subscribeKeyboardHeight/subscribeKeyboardHeight.mjs 0 B -1.12 kB (removed) 🏆
packages/react-simplikit/dist/mobile/hooks/useAvoidKeyboard/useAvoidKeyboard.cjs 990 B +990 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useAvoidKeyboard/useAvoidKeyboard.mjs 968 B +968 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useBodyScrollLock/useBodyScrollLock.cjs 551 B +551 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useBodyScrollLock/useBodyScrollLock.mjs 527 B +527 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useKeyboardHeight/useKeyboardHeight.cjs 690 B +690 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useKeyboardHeight/useKeyboardHeight.mjs 671 B +671 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useNetworkStatus/useNetworkStatus.cjs 1.2 kB +1.2 kB (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useNetworkStatus/useNetworkStatus.mjs 1.19 kB +1.19 kB (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/usePageVisibility/usePageVisibility.cjs 895 B +895 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/usePageVisibility/usePageVisibility.mjs 877 B +877 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useSafeAreaInset/useSafeAreaInset.cjs 947 B +947 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useSafeAreaInset/useSafeAreaInset.mjs 932 B +932 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useScrollDirection/useScrollDirection.cjs 960 B +960 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useScrollDirection/useScrollDirection.mjs 949 B +949 B (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useVisualViewport/useVisualViewport.cjs 1.24 kB +1.24 kB (new file) 🆕
packages/react-simplikit/dist/mobile/hooks/useVisualViewport/useVisualViewport.mjs 1.22 kB +1.22 kB (new file) 🆕
packages/react-simplikit/dist/mobile/index.cjs 530 B +530 B (new file) 🆕
packages/react-simplikit/dist/mobile/index.mjs 377 B +377 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/disableBodyScrollLock/disableBodyScrollLock.cjs 684 B +684 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/disableBodyScrollLock/disableBodyScrollLock.mjs 676 B +676 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/enableBodyScrollLock/enableBodyScrollLock.cjs 677 B +677 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/enableBodyScrollLock/enableBodyScrollLock.mjs 666 B +666 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/getKeyboardHeight/getKeyboardHeight.cjs 613 B +613 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/getKeyboardHeight/getKeyboardHeight.mjs 607 B +607 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/getSafeAreaInset/getSafeAreaInset.cjs 907 B +907 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/getSafeAreaInset/getSafeAreaInset.mjs 898 B +898 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/isAndroid/isAndroid.cjs 547 B +547 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/isAndroid/isAndroid.mjs 538 B +538 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/isIOS/isIOS.cjs 758 B +758 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/isIOS/isIOS.mjs 751 B +751 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/isKeyboardVisible/isKeyboardVisible.cjs 434 B +434 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/isKeyboardVisible/isKeyboardVisible.mjs 423 B +423 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/isServer/isServer.cjs 386 B +386 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/isServer/isServer.mjs 384 B +384 B (new file) 🆕
packages/react-simplikit/dist/mobile/utils/subscribeKeyboardHeight/subscribeKeyboardHeight.cjs 1.12 kB +1.12 kB (new file) 🆕
packages/react-simplikit/dist/mobile/utils/subscribeKeyboardHeight/subscribeKeyboardHeight.mjs 1.1 kB +1.1 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size
packages/react-simplikit/dist/components/ImpressionArea/ImpressionArea.cjs 1.01 kB
packages/react-simplikit/dist/components/ImpressionArea/ImpressionArea.mjs 984 B
packages/react-simplikit/dist/components/Separated/Separated.cjs 686 B
packages/react-simplikit/dist/components/Separated/Separated.mjs 684 B
packages/react-simplikit/dist/components/SwitchCase/SwitchCase.cjs 701 B
packages/react-simplikit/dist/components/SwitchCase/SwitchCase.mjs 699 B
packages/react-simplikit/dist/hooks/useAsyncEffect/useAsyncEffect.cjs 626 B
packages/react-simplikit/dist/hooks/useAsyncEffect/useAsyncEffect.mjs 615 B
packages/react-simplikit/dist/hooks/useBooleanState/useBooleanState.cjs 539 B
packages/react-simplikit/dist/hooks/useBooleanState/useBooleanState.mjs 529 B
packages/react-simplikit/dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.cjs 790 B
packages/react-simplikit/dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.mjs 762 B
packages/react-simplikit/dist/hooks/useConditionalEffect/useConditionalEffect.cjs 955 B
packages/react-simplikit/dist/hooks/useConditionalEffect/useConditionalEffect.mjs 934 B
packages/react-simplikit/dist/hooks/useControlledState/useControlledState.cjs 865 B
packages/react-simplikit/dist/hooks/useControlledState/useControlledState.mjs 855 B
packages/react-simplikit/dist/hooks/useCounter/useCounter.cjs 1.03 kB
packages/react-simplikit/dist/hooks/useCounter/useCounter.mjs 1.01 kB
packages/react-simplikit/dist/hooks/useDebounce/debounce.cjs 458 B
packages/react-simplikit/dist/hooks/useDebounce/debounce.mjs 456 B
packages/react-simplikit/dist/hooks/useDebounce/useDebounce.cjs 974 B
packages/react-simplikit/dist/hooks/useDebounce/useDebounce.mjs 953 B
packages/react-simplikit/dist/hooks/useDebouncedCallback/useDebouncedCallback.cjs 1.05 kB
packages/react-simplikit/dist/hooks/useDebouncedCallback/useDebouncedCallback.mjs 1.03 kB
packages/react-simplikit/dist/hooks/useDoubleClick/useDoubleClick.cjs 1.08 kB
packages/react-simplikit/dist/hooks/useDoubleClick/useDoubleClick.mjs 1.07 kB
packages/react-simplikit/dist/hooks/useGeolocation/useGeolocation.cjs 2.14 kB
packages/react-simplikit/dist/hooks/useGeolocation/useGeolocation.mjs 2.13 kB
packages/react-simplikit/dist/hooks/useImpressionRef/useImpressionRef.cjs 1.2 kB
packages/react-simplikit/dist/hooks/useImpressionRef/useImpressionRef.mjs 1.16 kB
packages/react-simplikit/dist/hooks/useInputState/useInputState.cjs 663 B
packages/react-simplikit/dist/hooks/useInputState/useInputState.mjs 654 B
packages/react-simplikit/dist/hooks/useIntersectionObserver/useIntersectionObserver.cjs 1.07 kB
packages/react-simplikit/dist/hooks/useIntersectionObserver/useIntersectionObserver.mjs 1.04 kB
packages/react-simplikit/dist/hooks/useInterval/useInterval.cjs 837 B
packages/react-simplikit/dist/hooks/useInterval/useInterval.mjs 811 B
packages/react-simplikit/dist/hooks/useIsClient/useIsClient.cjs 585 B
packages/react-simplikit/dist/hooks/useIsClient/useIsClient.mjs 574 B
packages/react-simplikit/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs 577 B
packages/react-simplikit/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs 575 B
packages/react-simplikit/dist/hooks/useList/useList.cjs 850 B
packages/react-simplikit/dist/hooks/useList/useList.mjs 825 B
packages/react-simplikit/dist/hooks/useLoading/useLoading.cjs 919 B
packages/react-simplikit/dist/hooks/useLoading/useLoading.mjs 909 B
packages/react-simplikit/dist/hooks/useLongPress/useLongPress.cjs 1.79 kB
packages/react-simplikit/dist/hooks/useLongPress/useLongPress.mjs 1.76 kB
packages/react-simplikit/dist/hooks/useMap/useMap.cjs 730 B
packages/react-simplikit/dist/hooks/useMap/useMap.mjs 713 B
packages/react-simplikit/dist/hooks/useOutsideClickEffect/useOutsideClickEffect.cjs 904 B
packages/react-simplikit/dist/hooks/useOutsideClickEffect/useOutsideClickEffect.mjs 878 B
packages/react-simplikit/dist/hooks/usePreservedCallback/usePreservedCallback.cjs 691 B
packages/react-simplikit/dist/hooks/usePreservedCallback/usePreservedCallback.mjs 675 B
packages/react-simplikit/dist/hooks/usePreservedReference/usePreservedReference.cjs 805 B
packages/react-simplikit/dist/hooks/usePreservedReference/usePreservedReference.mjs 789 B
packages/react-simplikit/dist/hooks/usePrevious/usePrevious.cjs 643 B
packages/react-simplikit/dist/hooks/usePrevious/usePrevious.mjs 635 B
packages/react-simplikit/dist/hooks/useRefEffect/useRefEffect.cjs 780 B
packages/react-simplikit/dist/hooks/useRefEffect/useRefEffect.mjs 753 B
packages/react-simplikit/dist/hooks/useSet/useSet.cjs 822 B
packages/react-simplikit/dist/hooks/useSet/useSet.mjs 791 B
packages/react-simplikit/dist/hooks/useStorageState/storage.cjs 543 B
packages/react-simplikit/dist/hooks/useStorageState/storage.mjs 527 B
packages/react-simplikit/dist/hooks/useStorageState/useStorageState.cjs 966 B
packages/react-simplikit/dist/hooks/useStorageState/useStorageState.mjs 957 B
packages/react-simplikit/dist/hooks/useThrottle/throttle.cjs 306 B
packages/react-simplikit/dist/hooks/useThrottle/throttle.mjs 298 B
packages/react-simplikit/dist/hooks/useThrottle/useThrottle.cjs 864 B
packages/react-simplikit/dist/hooks/useThrottle/useThrottle.mjs 838 B
packages/react-simplikit/dist/hooks/useThrottledCallback/useThrottledCallback.cjs 1.11 kB
packages/react-simplikit/dist/hooks/useThrottledCallback/useThrottledCallback.mjs 1.08 kB
packages/react-simplikit/dist/hooks/useTimeout/useTimeout.cjs 627 B
packages/react-simplikit/dist/hooks/useTimeout/useTimeout.mjs 600 B
packages/react-simplikit/dist/hooks/useToggle/useToggle.cjs 524 B
packages/react-simplikit/dist/hooks/useToggle/useToggle.mjs 506 B
packages/react-simplikit/dist/hooks/useVisibilityEvent/useVisibilityEvent.cjs 769 B
packages/react-simplikit/dist/hooks/useVisibilityEvent/useVisibilityEvent.mjs 749 B
packages/react-simplikit/dist/index.cjs 967 B
packages/react-simplikit/dist/index.mjs 697 B
packages/react-simplikit/dist/utils/buildContext/buildContext.cjs 809 B
packages/react-simplikit/dist/utils/buildContext/buildContext.mjs 788 B
packages/react-simplikit/dist/utils/mergeProps/mergeProps.cjs 669 B
packages/react-simplikit/dist/utils/mergeProps/mergeProps.mjs 668 B
packages/react-simplikit/dist/utils/mergeRefs/mergeRefs.cjs 614 B
packages/react-simplikit/dist/utils/mergeRefs/mergeRefs.mjs 612 B

compressed-size-action

@mnxmnz
mnxmnz force-pushed the 433-absorb-mobile branch from f309760 to 031fedd Compare August 25, 2026 16:55
@codecov-commenter

codecov-commenter commented Aug 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (dfbc9d7) to head (3ba2277).

Additional details and impacted files

Impacted file tree graph

@@                Coverage Diff                @@
##           433-rename-core      #437   +/-   ##
=================================================
  Coverage           100.00%   100.00%           
=================================================
  Files                   58        58           
  Lines                 1652      1652           
  Branches               499       499           
=================================================
  Hits                  1652      1652           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mnxmnz
mnxmnz force-pushed the 433-absorb-mobile branch from c326f3f to 3ba2277 Compare August 25, 2026 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rename packages/core to packages/react-simplikit, absorb the mobile package, add subpath imports

2 participants