Legacy JavaScript App Packages
Use this page only when your app package was delivered before the TypeScript app structure. Current app packages should use the main setup guides instead.
Quick Answer
For an older JavaScript app package, follow the included README.md,
package.json, and lockfile first. Do not replace its dependency workflow with
the current TypeScript app workflow unless you are intentionally upgrading the
project.
How To Identify an Older Package
An older package may have most app source files as .js files, older React
Native dependencies, or older Firebase backend files. That is expected for
projects delivered before the TypeScript app structure.
The most reliable files to check are:
| File | What to check |
|---|---|
README.md | App-specific setup and service configuration notes. |
package.json | Required Node, package manager, and app commands. |
yarn.lock or package-lock.json | Dependency versions that worked with that app. |
.nvmrc | Node version expected by the project, when included. |
ios/Podfile | iOS deployment target and native dependency setup. |
android/build.gradle | Android Gradle and SDK requirements. |
Minimum Setup Flow
- Open the app folder that contains
package.json,ios/,android/, andsrc/. - Use the Node version requested by
.nvmrcwhen the file is present. - Install dependencies with the package manager and lockfile included with the app.
- Install iOS pods on macOS.
- Start Metro.
- Run iOS or Android before making custom changes.
- Configure Firebase, payments, maps, push notifications, or other services only after the unchanged app opens locally.
Do Not Mix Workflows
Avoid mixing the current TypeScript setup with an older JavaScript package. Before upgrading, make a backup or commit a working state, then upgrade one package family at a time.
Common risky changes include:
- deleting the lockfile;
- switching package managers without checking the app's README;
- upgrading React Native and Expo modules together without a compatibility plan;
- changing iOS or Android native dependencies before the original app builds;
- replacing Firebase backend runtime or secrets handling without testing the feature that depends on it.
When To Use the Current TypeScript Docs
Use the current TypeScript docs when:
- your app package uses
.tsand.tsxsource files; package.jsondeclares Yarn through Corepack;- the Firebase backend uses TypeScript and Node 22;
- you are starting a new project from a current app package.