The changes in this PR consolidate the project setup modifications. They primarily focus on package.json configurations, dependency versions, workspace setup, .gitignore, submodules, and minor renaming of existing native APIs.
Context
We are rebuilding our React Native (RN) SDK to support Customer.io's Data Pipelines.
Public Changes
SDK Changes
Modernized our RN package to use the latest configurations and dependencies available in RN version 0.74.2.
Simplified our configuration to provide the minimum number of settings that make sense for our customers.
Added support to view native debug logs directly in the console alongside other console.* logs.
Example Apps
Created customer-oriented example apps where you can build, run, debug, and see the SDK usage in the App.tsx file.
Internal Changes
SDK Dev Environment Setup
Removed the pre-push hook that runs lint, as it can be challenging when lint fails before a push in a PR stack setup. Linting has been moved to the pre-commit hook.
Implemented yarn workspace for easier management of example apps.
Configured example apps to point to local paths for all native CIO pods, facilitating easier debugging and validation of native changes.
Made the native iOS repo a git submodule of this repo, simplifying the process of starting and validating relevant native changes within the RN repo.
Unified the example app codebase for both APN and FCM configurations, making it easier to maintain.
Included yarn release to ensure a consistent development experience.
Added yarn.lock to .gitignore.
QA Setup
Dev endpoints for QA can still be set in the example apps with a long-press on the settings button. This allows us to perform QA configurations without affecting customer-oriented examples.
The PR stack might shift as new PRs are created from this branch. We’ll be opening smaller PRs aligned with milestones and tickets to facilitate easier review and testing.
The changes in this PR consolidate the project setup modifications. They primarily focus on
package.json
configurations, dependency versions, workspace setup,.gitignore
, submodules, and minor renaming of existing native APIs.Context
We are rebuilding our React Native (RN) SDK to support Customer.io's Data Pipelines.
Public Changes
console.*
logs.App.tsx
file.Internal Changes
pre-push
hook that runslint
, as it can be challenging when lint fails before a push in a PR stack setup. Linting has been moved to thepre-commit
hook.yarn
workspace for easier management of example apps.yarn
release to ensure a consistent development experience.yarn.lock
to.gitignore
.QA Setup
PR Stack:
282
281
280
279
278