digidem / digidem/comapeo-core-react-native

Vendor + bundle @comapeo/core types for core-react-native

Open
#99 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2 tech-debt
Dominant language
Kotlin
Stars
1
Forks
0
Avg merge
8h 24m
Merged PRs (30d)
9

Description

Context

The RPC surface exposed by this module mirrors @comapeo/core's MapeoManager API, but the TypeScript types consumers see are hand-maintained / not derived from core. We want the published types to track core so the frontend gets accurate types over the RPC boundary without core-react-native taking a hard runtime dependency on core's source layout.

Scope

  • Decide the mechanism: vendoring core's .d.ts, generating a trimmed type bundle at build time, or re-exporting from a pinned @comapeo/core version.
  • Wire it into the build (scripts/build-backend.ts / package exports) so build/index.d.ts reflects the bundled types.
  • Pin the core version the types are derived from and document how to bump it.
  • Ensure attw / publint stay green (see #88).

Notes

Milestone-doc item: "Vendoring + bundling of types from core for core-react-native". Relates to #1 (Date objects over RPC) since that's a place where our types intentionally diverge from core.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with scripts/build-backend.ts, the package exports, and the generated build/index.d.ts to understand how published types are assembled. Compare the proposed vendoring, build-time bundling, and pinned re-export mechanisms, then verify that the chosen approach documents core version bumps and keeps attw and publint green.

Written by the indexing model from the issue text.

Assessment

Tech stack
react-native, typescript
Domain
build-system, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.