Skip to main content

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:

FileWhat to check
README.mdApp-specific setup and service configuration notes.
package.jsonRequired Node, package manager, and app commands.
yarn.lock or package-lock.jsonDependency versions that worked with that app.
.nvmrcNode version expected by the project, when included.
ios/PodfileiOS deployment target and native dependency setup.
android/build.gradleAndroid Gradle and SDK requirements.

Minimum Setup Flow

  1. Open the app folder that contains package.json, ios/, android/, and src/.
  2. Use the Node version requested by .nvmrc when the file is present.
  3. Install dependencies with the package manager and lockfile included with the app.
  4. Install iOS pods on macOS.
  5. Start Metro.
  6. Run iOS or Android before making custom changes.
  7. 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 .ts and .tsx source files;
  • package.json declares Yarn through Corepack;
  • the Firebase backend uses TypeScript and Node 22;
  • you are starting a new project from a current app package.

Next Steps