refactor(app-dist)!: migrate to TypeScript#8860
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
russellwheatley
left a comment
There was a problem hiding this comment.
Looking good so far, @MichaelVerdon 👍
|
Hello 👋, this PR has been opened for more than 14 days with no activity on it. If you think this is a mistake please comment and ping a maintainer to get this merged ASAP! Thanks for contributing! You have 7 days until this gets closed automatically |
russellwheatley
left a comment
There was a problem hiding this comment.
Also need to reinstate index.d.ts and call it namespaced.ts. Namespaced should use namespaced types. Also need to deprecate all api on it. See storage types/namespaced.ts: https://github.com/invertase/react-native-firebase/pull/8824/changes#diff-fd5d9fcbc03d8f4891bacac55f4e1f793eb5c1c95a5acdb6ad85f1bbd14ee205R15-R1248
|
Hello 👋, this PR has been opened for more than 14 days with no activity on it. If you think this is a mistake please comment and ping a maintainer to get this merged ASAP! Thanks for contributing! You have 7 days until this gets closed automatically |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ed51cc3. Configure here.
| "compile": "bob build", | ||
| "lint:plugin": "eslint plugin/src/*", | ||
| "prepare": "yarn run build && yarn run build:plugin" | ||
| "prepare": "yarn run build && yarn compile" |
There was a problem hiding this comment.
Missing build:plugin step in prepare script
High Severity
The prepare script was changed from "yarn run build && yarn run build:plugin" to "yarn run build && yarn compile", dropping the build:plugin step. The app.plugin.js entry point requires ./plugin/build, which is only generated by the build:plugin script. Without it, Expo users will get a module-not-found error when the config plugin is loaded. Every other package with an Expo plugin (app-check, auth, crashlytics, messaging) includes build:plugin in its prepare step.
Reviewed by Cursor Bugbot for commit ed51cc3. Configure here.
| "packages/app-check/lib/modular/index.d.ts", | ||
| "packages/app-distribution/lib/index.d.ts", | ||
| "packages/app-distribution/lib/modular/index.d.ts", | ||
| "packages/app-check/lib/modular.d.ts", |
There was a problem hiding this comment.
Root tsconfig references non-existent app-check modular.d.ts file
Medium Severity
The root tsconfig.json changed the app-check modular include from packages/app-check/lib/modular/index.d.ts to packages/app-check/lib/modular.d.ts, but this file does not exist. The app-check package has lib/modular.ts (a TypeScript source file), not lib/modular.d.ts. This means root-level type checking will silently miss the app-check modular type declarations.
Reviewed by Cursor Bugbot for commit ed51cc3. Configure here.


Description
Related issues
Release Summary
Checklist
AndroidiOSOther(macOS, web)e2etests added or updated inpackages/\*\*/e2ejesttests added or updated inpackages/\*\*/__tests__Test Plan
Think
react-native-firebaseis great? Please consider supporting the project with any of the below:React Native FirebaseandInvertaseon TwitterNote
Medium Risk
Medium risk because it changes the package’s public entrypoints/exports and build pipeline (moving to
dist/ESM + generated typings), which can cause downstream import/type-resolution or runtime packaging regressions despite minimal logic changes.Overview
Migrates
@react-native-firebase/app-distributionfrom shipping hand-written JS/.d.tsto a TypeScript source layout compiled viareact-native-builder-bob, updatingpackage.jsonto export from./dist/moduleand./dist/typescript(and adding per-packagetsconfig.json).Splits the public surface into explicit TS modules: a typed namespaced implementation (
namespaced.ts), modular wrappers (modular.ts) and new public/internal type definitions (includingAppDistributionReleaseand native module typings), while keeping the legacyFirebaseAppDistributionTypesnamespace deprecated for compatibility.Updates tests/type-tests and root
tsconfig.jsonincludes to validate the new exports and deprecation warning behavior.Reviewed by Cursor Bugbot for commit ed51cc3. Bugbot is set up for automated code reviews on this repo. Configure here.