Skip to content

chore: modernize repo toolchain (pnpm, oxlint/oxfmt, lefthook, Expo SDK 58) - #671

Merged
nicolas-godefroy-dev merged 10 commits into
mainfrom
chore/repo-modernization
Nov 12, 2026
Merged

nicolas-godefroy-dev merged 10 commits into
mainfrom
chore/repo-modernization

Conversation

@nicolas-godefroy-dev

Copy link
Copy Markdown
Contributor

Summary

Moves the repo to a new toolchain. The library's runtime code (src/, ios/, android/, plugin/) is unchanged.

  • Package manager: yarn → pnpm workspace (example/ is a workspace package). Node is pinned with mise via .tool-versions, and pnpm through packageManager + corepack. The xcode>uuid resolution is now a pnpm override.
  • Lint/format: ESLint + Prettier → oxlint (type-aware) + oxfmt.
  • Git hooks: husky + lint-staged → lefthook. Pre-commit runs oxlint and oxfmt on staged files, then tsc and Jest. Commit-msg runs commitlint (bumped to v21).
  • Deps: Expo SDK 58 / React Native 0.88 / React 19.3 / TypeScript 6 in dev dependencies and the example app. Peer ranges are unchanged.
  • Config: commitlint.config and the example's metro.config are now TypeScript. .npmignore is removed; files in package.json already controls what gets published.
  • CI: actions pinned to commit SHAs (Renovate keeps the digests updated), and workflows use mise + pnpm. Renovate dedupes with pnpm.
  • Example app: marked private, uses the Metro web bundler, and logs every billing agreement option.
  • Docs: CONTRIBUTING rewritten for the new toolchain. Added CLAUDE.md.

Motivation

The old setup had yarn v1, ESLint 8, husky 8 and commitlint 17, all outdated. This replaces them with faster, maintained tools and gets the dev setup down to mise install && corepack enable && pnpm install.

Testing

  • pnpm typecheck, pnpm lint and pnpm test pass locally.
  • I tested this manually (example app on iOS/Android)
  • I added automated tests

Documentation

  • I have added relevant documentation for my changes.
  • This PR does not result in any developer-facing changes.

@nicolas-godefroy-dev
nicolas-godefroy-dev merged commit 52483aa into main Nov 12, 2026
5 checks passed
@linear-code

linear-code Bot commented Nov 12, 2026

Copy link
Copy Markdown

ENG-3276

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant