Skip to content

Modernize project tooling, CI, and example apps#391

Open
usama-liaqat wants to merge 3 commits intonumandev1:mainfrom
usama-liaqat:main
Open

Modernize project tooling, CI, and example apps#391
usama-liaqat wants to merge 3 commits intonumandev1:mainfrom
usama-liaqat:main

Conversation

@usama-liaqat
Copy link
Copy Markdown

@usama-liaqat usama-liaqat commented Apr 25, 2026

Summary

The project's tooling, CI pipelines, and example apps were outdated — Yarn Classic (v1), Node 10 Docker images, JDK 11, Ruby 2.7, deprecated GitHub Actions (v2), and a single example/ directory tied to an older React Native version. This PR
modernizes everything to align with the current ecosystem and replaces the monolithic example/ and exampleExpo/ directories with a clean examples/bare/ and examples/expo/ workspace structure.

Changelog

[General] [Changed] - Migrated from Yarn Classic to Yarn Berry 4.14.1 with workspaces consolidated to examples/*

[General] [Changed] - Replaced example/ and exampleExpo/ with examples/bare/ (React Native 0.85.2) and examples/expo/ (React Native 0.81.5 via Expo SDK)

[General] [Changed] - Modernized tsconfig.json (jsx: react-jsx, moduleResolution: bundler, scoped include to src/)

[General] [Added] - Added src/global.d.ts to type AbortSignal.addEventListener/removeEventListener without requiring full DOM lib

[CI] [Changed] - Updated CircleCI Docker image from deprecated circleci/node:10 to cimg/node:22.11

[CI] [Changed] - Fixed CircleCI script references (typescripttypecheck, prepareprepack)

[CI] [Changed] - Updated all GitHub Actions to latest versions (checkout@v4, setup-java@v4, cache@v4, stale@v9)

[CI] [Changed] - Updated JDK 11 → 17, Ruby 2.7 → 3.2, Xcode simulator iPhone 11 Pro → iPhone 15 Pro

[CI] [Changed] - Updated all path references from example/ to examples/bare/ and examples/expo/

[CI] [Changed] - Replaced yarn install --frozen-lockfile with yarn install --immutable across all workflows

[CI] [Changed] - Updated branch triggers from master to main

[CI] [Removed] - Removed manual yarn cache steps (Yarn Berry handles caching natively)

[CI] [Removed] - Removed deprecated .github/stale.yml (probot-stale), already replaced by stale-bot.yml workflow using actions/stale@v9

[Docs] [Changed] - Updated CONTRIBUTING.md with new paths, scripts (yarn example:bare, yarn example:expo), and removed obsolete new-arch toggle instructions

Test Plan

  • yarn install completes successfully
  • yarn typecheck passes with zero errors
  • yarn lint passes
  • yarn example:bare android builds and runs on device/emulator (React Native 0.85.2)
  • yarn example:bare ios builds and runs on simulator (React Native 0.85.2)
  • yarn example:expo start launches the Expo dev server (React Native 0.81.5)
  • CI workflows should pass on this PR

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.

1 participant