Skip to content

chore: clean up native build config - #1172

Merged
troZee merged 1 commit into
mainfrom
chore/cleanup-native-build-config
Oct 12, 2026
Merged

troZee merged 1 commit into
mainfrom
chore/cleanup-native-build-config

Conversation

@krozniata

@krozniata krozniata commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Summary

Cleans up the native build config

  • Android: removes the RN 0.68/0.69 compat code (Android.mk, registration.cpp, the SoLoader init) and the unused gradle.properties / debug.keystore. build.gradle now follows the create-react-native-library template: defaults map, react-android, Java 17, compileSdk 36, and namespace only
  • iOS: the podspec uses min_ios_version_supported, and codegenConfig.ios uses the components format
  • Tooling: the typecheck script replaces typescript, and verbatimModuleSyntax is on
  • README: adds a Compatibility section (RN 0.85–0.87, New Architecture only)

Copilot AI balanced review requested due to automatic review settings October 12, 2026 07:24
@krozniata
krozniata marked this pull request as ready for review October 12, 2026 07:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Cross-version native build and codegen changes warrant final human validation against all three supported React Native versions.

0 open findings

What changed in this PR

Modernizes native build and codegen configuration for supported React Native versions while tightening TypeScript module handling.

Changes:

  • Simplifies Android Gradle and removes legacy Fabric registration.
  • Updates iOS deployment targets and codegen metadata.
  • Enables strict TypeScript module syntax and aligns scripts/documentation.
File Description
tsconfig.json Enables no-emit and verbatim module syntax.
src/​utils.tsx Marks ReactNode as type-only.
src/​utils.ios.tsx Marks ReactNode as type-only.
src/​PagerView.tsx Marks native component types as type-only.
README.md Documents supported React Native versions.
react-native-pager-view.podspec Uses React Native’s minimum iOS version.
package.json Updates packaging, scripts, and iOS codegen metadata.
example/​ios/​Podfile.lock Refreshes native dependency checksums.
CONTRIBUTING.md Documents the renamed typecheck command.
android/​src/​main/​java/​com/​reactnativepagerview/​PagerViewViewManager.kt Removes legacy registration and modernizes event mappings.
android/​src/​main/​AndroidManifest.xml Simplifies the manifest.
android/​registration.cpp Removes legacy component registration.
android/​gradle.properties Removes superseded library defaults.
android/​build.gradle Reworks modern Android and Compose configuration.
android/​Android.mk Removes legacy NDK registration.
.github/​workflows/​main.yml Uses the renamed typecheck command.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown

🟢 e2e: 14 passed

All 14 tests in 10 files
Test Time
🟢 tests/basic-pager.e2e.ts · 3 passed 1m 52s
🟢 basic pager › in LTR › pages horizontally 48.3s
🟢 basic pager › in LTR › pages vertically 25.0s
🟢 basic pager › in RTL › pages horizontally with the reversed gesture 38.4s
🟢 tests/issues/issue-1083-modal-set-page.e2e.ts · 1 passed 13.9s
🟢 setPage called behind a native-stack modal lands on the requested page 13.9s
🟢 tests/issues/issue-1098-nested-pager.e2e.ts · 1 passed 12.5s
🟢 outer pager stays responsive after its page count changes around a nested pager 12.5s
🟢 tests/issues/issue-1154-page-change-focus.e2e.ts · 3 passed 40.2s
🟢 leaving a page with setPage blurs its input 12.5s
🟢 leaving a page with a swipe blurs its input 10.1s
🟢 an input focused on the new page keeps focus 17.6s
🟢 tests/material-top-bar.e2e.ts · 1 passed 10.7s
🟢 material top tabs survive a native-stack push and pop 10.7s
🟢 tests/nested-pager-view.e2e.ts · 1 passed 9.9s
🟢 nested horizontal and vertical pagers scroll independently 9.9s
🟢 tests/on-page-selected.e2e.ts · 1 passed 11.4s
🟢 onPageSelected fires an alert for every page change 11.4s
🟢 tests/scrollable-pager-view.e2e.ts · 1 passed 15.3s
🟢 pager inside a ScrollView keeps its page across vertical scrolls 15.3s
🟢 tests/smoke.e2e.ts · 1 passed 8.1s
🟢 horizontal pager pages with the panel buttons 8.1s
🟢 tests/tab-view-inside-scroll-view.e2e.ts · 1 passed 11.3s
🟢 TabView inside a ScrollView swipes tabs and scrolls the page 11.3s

e2e 0.18.0 · 4m 6s · android · run artifacts

@github-actions

Copy link
Copy Markdown

🟢 e2e: 13 passed

All 13 tests in 11 files
Test Time
🟢 tests/basic-pager.e2e.ts · 3 passed 1m 35s
🟢 basic pager › in LTR › pages horizontally 30.1s
🟢 basic pager › in LTR › pages vertically 23.9s
🟢 basic pager › in RTL › pages horizontally with the reversed gesture 41.2s
🟢 tests/issues/issue-1083-modal-set-page.e2e.ts · 1 passed 14.4s
🟢 setPage called behind a native-stack modal lands on the requested page 14.4s
🟢 tests/issues/issue-1096-keyboard-shrink.e2e.ts · 1 passed 22.5s
🟢 keyboard avoidance does not shrink the page under the keyboard 22.5s
🟢 tests/issues/issue-1098-nested-pager.e2e.ts · 1 passed 13.1s
🟢 outer pager stays responsive after its page count changes around a nested pager 13.1s
🟢 tests/issues/issue-1142-search-bar-inset.e2e.ts · 1 passed 13.9s
🟢 FlatList inside the pager gets the search bar safe-area insets 13.9s
🟢 tests/material-top-bar.e2e.ts · 1 passed 14.8s
🟢 material top tabs survive a native-stack push and pop 14.8s
🟢 tests/nested-pager-view.e2e.ts · 1 passed 28.2s
🟢 nested horizontal and vertical pagers scroll independently 28.2s
🟢 tests/on-page-selected.e2e.ts · 1 passed 29.1s
🟢 onPageSelected fires an alert for every page change 29.1s
🟢 tests/scrollable-pager-view.e2e.ts · 1 passed 1m 31s
🟢 pager inside a ScrollView keeps its page across vertical scrolls 1m 31s
🟢 tests/smoke.e2e.ts · 1 passed 14.1s
🟢 horizontal pager pages with the panel buttons 14.1s
🟢 tests/tab-view-inside-scroll-view.e2e.ts · 1 passed 21.9s
🟢 TabView inside a ScrollView swipes tabs and scrolls the page 21.9s

e2e 0.18.0 · 6m 1s · ios · run artifacts

@krozniata
krozniata requested a review from troZee October 12, 2026 12:37
@troZee
troZee merged commit f305b77 into main Oct 12, 2026
9 checks passed
@troZee
troZee deleted the chore/cleanup-native-build-config branch October 12, 2026 12:49
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.

3 participants