{"id":25077306,"url":"https://github.com/expo/atlas","last_synced_at":"2026-01-12T05:09:32.329Z","repository":{"id":227317890,"uuid":"771045035","full_name":"expo/atlas","owner":"expo","description":"Visualize React Native bundles to understand and optimize your app.","archived":false,"fork":false,"pushed_at":"2025-09-30T23:27:03.000Z","size":22189,"stargazers_count":194,"open_issues_count":8,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-12-03T00:31:52.702Z","etag":null,"topics":["analyzer","bundle","explorer","expo","metro","react-native","sourcemap","visualizer"],"latest_commit_sha":null,"homepage":"https://docs.expo.dev/guides/analyzing-bundles/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/expo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-12T15:37:39.000Z","updated_at":"2025-12-02T17:27:43.000Z","dependencies_parsed_at":"2024-04-08T12:30:24.574Z","dependency_job_id":"812b2069-85de-44f2-aed4-d056d1820b13","html_url":"https://github.com/expo/atlas","commit_stats":null,"previous_names":["bycedric/expo-atlas","expo/expo-atlas","expo/atlas"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/expo/atlas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expo%2Fatlas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expo%2Fatlas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expo%2Fatlas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expo%2Fatlas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/expo","download_url":"https://codeload.github.com/expo/atlas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expo%2Fatlas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28335158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analyzer","bundle","explorer","expo","metro","react-native","sourcemap","visualizer"],"created_at":"2025-02-07T02:24:27.116Z","updated_at":"2026-01-12T05:09:32.321Z","avatar_url":"https://github.com/expo.png","language":"TypeScript","readme":"# Expo Atlas\n\nInspect your Metro bundle, on module level.\n\n## 🚀 How to use it\n\nAtlas is built into Expo starting from SDK 51, and enabled when defining the environment variable `EXPO_UNSTABLE_ATLAS=true`.\n\nYou can use Atlas with two Expo commands:\n- `$ expo start` → Start a local dev server, Atlas will listen to any change within your project.\n- `$ expo export` → Export your app to Android, iOS, or web. Atlas will generate the `atlas.jsonl` file.\n\n### Using `$ expo start`\n\nWhen enabling Atlas with the local dev server, you can access Atlas on [http://localhost:8081/_expo/atlas](http://localhost:8081/_expo/atlas). This shows you all information from the bundle loaded during development.\n\n```bash\n$ EXPO_UNSTABLE_ATLAS=true npx expo start\n```\n\n\u003e [!TIP]\n\u003e Expo start runs in development mode by default. If you want to see a production bundle of your app, you can start the local dev server in production mode: `$ expo start --no-dev`.\n\n### Using `$ expo export`\n\nWhen enabling Atlas during exports, Expo generates the `.expo/atlas.json` file in your project. This file contains all bundle information, including the actual source code of individual files. You can open the Atlas file through `npx expo-atlas [path/to/atlas.jsonl]`.\n\n```bash\n# Export the app for all platforms\n$ EXPO_UNSTABLE_ATLAS=true npx expo export --platform all\n\n# Open Atlas using the default `.expo/atlas.jsonl` path\n$ npx expo-atlas\n# Open Atlas from a shared file\n$ npx expo-atlas ./path/to/atlas.jsonl\n```\n\n## 🏛️ Project structure\n\n- [`apps/example`](./apps/example) — A default Expo project, with Atlas enabled by default\n- [`packages/expo-atlas`](./packages/expo-atlas) — The core package of Atlas, including Metro data handling and the CLI command\n- [`packages/expo-atlas-ui`](./packages/expo-atlas-ui) — The web-only Expo project representing the UI of Atlas\n\n## 🧑‍💻 Contributing to Atlas\n\nAtlas is open source and contributions are welcome.\n\n### 🏗️ Preparing the repository\n\n- Clone this repository\n- `$ bun install` — Atlas uses [Bun](https://bun.sh/)'s package manager, ensure you have it installed\n\n### 🎨 Changing the Atlas UI\n\nIf you need to change anything related to the Atlas UI, you need to:\n\n- `$ bun start` — This builds [**expo-atlas**](./packages/expo-atlas) and starts [**expo-atlas-ui**](./packages/expo-atlas-ui) with a [default fixture](./packages/expo-atlas-ui/_fixtures)\n- `$ open http://localhost:8081` — To view [**expo-atlas-ui**](./packages/expo-atlas-ui) in your browser\n- Make any change in [**expo-atlas-ui**](./packages/expo-atlas-ui)\n\n### 📊 Changing the Atlas data\n\nIf you need to change anything related to extracting data from Metro, you need to:\n\n- `$ cd packages/expo-atlas` — Make the changes in [**expo-atlas**](./packages/expo-atlas)\n- `$ bun start` — Build [**expo-atlas**](./packages/expo-atlas) on any change\n- Open another terminal\n- `$ cd apps/example` — Atlas has a default Expo project to experiment with\n- `$ bun start` — The example project automatically enables Atlas through [**apps/example/.env**](./apps/example/.env)\n  - `$ bun expo export` — The example project can also export an **.expo/atlas.jsonl** file\n  - `$ bun expo-atlas` — When exporting an **.expo/atlas.jsonl** file, you can open Atlas using this export\n\n### 📦 Releasing a new version\n\nIf you need to release a new version of Atlas, you need to:\n\n- Make sure you have no uncomitted changes and have checked out **main**\n- Update the package version in [**expo-atlas/package.json**](./packages/expo-atlas/package.json)\n- Commit the new version to **main**\n- `$ bun install` — Make sure to install all dependencies\n- `$ bun run build` — Build both [**expo-atlas**](./packages/expo-atlas) and [**expo-atlas-ui**](./packages/expo-atlas-ui)\n- `$ cd packages/expo-atlas \u0026\u0026 npm publish` — Release a new version of Atlas\n\n\u003cdiv align=\"center\"\u003e\n  \u003cbr /\u003e\n  with\u0026nbsp;❤️\u0026nbsp;\u0026nbsp;\u003cstrong\u003eExpo\u003c/strong\u003e\n  \u003cbr /\u003e\n\u003c/div\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpo%2Fatlas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexpo%2Fatlas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpo%2Fatlas/lists"}