{"id":13799137,"url":"https://github.com/firebase/firebase-tools-ui","last_synced_at":"2025-05-16T04:05:55.367Z","repository":{"id":37560423,"uuid":"232189634","full_name":"firebase/firebase-tools-ui","owner":"firebase","description":"A local-first UI for Firebase Emulator Suite.","archived":false,"fork":false,"pushed_at":"2025-05-08T01:27:21.000Z","size":18726,"stargazers_count":280,"open_issues_count":129,"forks_count":67,"subscribers_count":62,"default_branch":"master","last_synced_at":"2025-05-14T01:37:06.283Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://firebase.googleblog.com/2020/05/local-firebase-emulator-ui.html","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firebase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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}},"created_at":"2020-01-06T21:34:53.000Z","updated_at":"2025-05-10T22:19:24.000Z","dependencies_parsed_at":"2023-10-14T21:20:06.191Z","dependency_job_id":"a3d1ecae-cbcb-4a80-a777-2ab4d521bee8","html_url":"https://github.com/firebase/firebase-tools-ui","commit_stats":{"total_commits":566,"total_committers":31,"mean_commits":"18.258064516129032","dds":0.667844522968198,"last_synced_commit":"be5053362c0ab22334c94c1f53c0b8263724e282"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2Ffirebase-tools-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2Ffirebase-tools-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2Ffirebase-tools-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2Ffirebase-tools-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firebase","download_url":"https://codeload.github.com/firebase/firebase-tools-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464895,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-08-04T00:00:59.236Z","updated_at":"2025-05-16T04:05:50.360Z","avatar_url":"https://github.com/firebase.png","language":"TypeScript","readme":"# Firebase Emulator UI\n\nThe web UI for Firebase Emulator Suite. Features include:\n\n- Overview of Emulators running\n- Firebase Realtime Database Data Viewer/Editor\n- Cloud Firestore Data Viewer/Editor\n- Logs Viewer with powerful filters\n\nMore on the [blog post](https://firebase.googleblog.com/2020/05/local-firebase-emulator-ui.html)!\n\n## Usage\n\nIf you want to use the Emulator UI in your project, just simply follow the guide for [installing and running the Emulator Suite](https://firebase.google.com/docs/emulator-suite/install_and_configure).\n\nMake sure you have Firebase CLI `\u003e= 8.4.0`. (You may want to [update](https://firebase.google.com/docs/cli#update-cli) if you already have Firebase CLI installed.) The Emulator UI will automatically start when you start the Emulator Suite.\n\n## Contributing\n\nWe welcome any issues and Pull Requests to improve the Emulator UI. The following instructions cover how to set up your dev environment for iterating on the Emulator UI itself.\n\n(If you're looking forward to use the Emulator UI as a user, please refer to the Usage section above.)\n\n### Setting up your development environment\n\nClone the repo and install any dependencies:\n\n```bash\ngit clone https://github.com/firebase/firebase-tools-ui.git\ncd firebase-tools-ui\nnpm install # must be run the first time you clone\n```\n\n### Start the Development Server\n\nTo run the development server with test data:\n\n```bash\nfirebase emulators:exec --project demo-example --import test-data 'npm start'\n```\n\nThis will run the web app in the development mode.\u003cbr /\u003e\nOpen [http://localhost:5173](http://localhost:5173) to view it in the browser.\n\nThe page will reload if you make edits.\u003cbr /\u003e\nYou will also see any lint errors in the console.\n\nNOTE: The `emulators:exec` command is necessary to set the environment variables for the web app to talk to emulators.\n\n### Developing within a user project\n\nYou can also start the dev server of the Emulator UI and connect to your real project. To do so, first start the Emulator Suite in your project folder:\n\n```bash\ncd project/\nfirebase emulators:start --import my-data\n\n✔  hub: emulator hub started at http://localhost:4400\n```\n\nThis will run the emulators for your project.\u003cbr /\u003e\n\nIn another terminal, run the Emulator Suite UI from the firebase-tools-ui folder: (note that `\u003cproject-id\u003e` must be replaced with the matching project id of your project.)\n\n```\ncd firebase-tools-ui/\nGCLOUD_PROJECT=\u003cproject-id\u003e FIREBASE_EMULATOR_HUB=localhost:4400 npm start\n```\n\nOpen [http://localhost:5173](http://localhost:5173) to view it in the browser. Note: The development server runs by default on port **5173**, so please make sure you are visiting that URL instead of the production Emulator UI (which defaults on port **4000**).\n\n### Developing features behind flags\n\nExperimental CLI features that are activated/deactivated with the `firebase experiments:enable` command are surfaced to the UI via an environment variable. UI components can check if an experiment is active with the `useExperiment` hook:\n\n```jsx\nfunction ExperimentalFeatureUI() {\n  const showNewFeature = useExperiment(\"pineapple-smoothie\");\n\n  if (showNewFeature === true) {\n    return \u003ch1\u003eHi, I am an experimental feature\u003c/h1\u003e;\n  } else {\n    return null;\n  }\n}\n```\n\n### Other Available Scripts\n\nIn the project directory, you can run:\n\n#### `npm test`\n\nLaunches the test runner in the interactive watch mode.\n\nSee the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.\n\nTo run the test runner with emulators, use:\n\n```bash\nfirebase emulators:exec --project demo-test 'npm test'\n\nfirebase emulators:exec --project demo-test --only firestore 'npm test AddCollectionDialog.test.tsx'\n```\n\nTo disable the Jest interactive mode use the flag `watchAll=false` like so:\n\n```bash\nfirebase emulators:exec --project demo-test --only firestore 'npm test -- --watchAll=false'\n```\n\nIf you get port conflict errors, make sure to stop other instances of the Firebase Emulator Suite (e.g. the one you've started for the development server above) and try again.\n\n#### `npm run build`\n\nBuilds the app for production, both server and web.\n\nThe web production build will be output to the `dist/client` folder.\u003cbr /\u003e\nIt correctly bundles React in production mode and optimizes the build for the best performance.\nThe build is minified and the filenames include the hashes.\u003cbr /\u003e\n\nThe server code will be packed into `dist/server/server.js`, which is a\nstandalone JS file including all dependencies, ready for execution with Node.js.\n\nTo run the production build with emulators, use:\n\n```bash\nfirebase emulators:exec --project demo-example --import test-data 'node dist/server/server.js'\n```\n\nThis will start a server that serves both the static files and APIs at `http://localhost:5173/`.\n\nNOTE: The static files are not meant to be deployed to a website or CDN. They must be used in conjunction with\nthe server as described above.\n\n## License\n\n[Apache-2.0 License](https://github.com/firebase/firebase-tools-ui/blob/master/LICENSE)\n\u003cbr\u003e\nCopyright 2019-2021 Google LLC. All rights reserved.\n","funding_links":[],"categories":["CLI \u0026 에디터"],"sub_categories":["iOS"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirebase%2Ffirebase-tools-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirebase%2Ffirebase-tools-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirebase%2Ffirebase-tools-ui/lists"}