-
Notifications
You must be signed in to change notification settings - Fork 74
chore: add demo- to emulator project names #208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
To view this pull requests documentation preview, visit the following URL: docs.page/invertase/tanstack-query-firebase~208 Documentation is deployed and generated using docs.page. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @cabljac, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request introduces a minor but important chore change by standardizing the Firebase emulator project ID across the repository. The previous 'test-project' ID has been uniformly updated to 'demo-test-project' in various configuration files and scripts. This change aims to improve clarity and consistency when working with local Firebase emulators, ensuring that all development and testing environments refer to a clearly designated demo project.
Highlights
- Standardized Firebase Project ID: The Firebase project ID used across various scripts and configurations has been standardized from 'test-project' to 'demo-test-project'. This affects how Firebase emulators are started and how testing utilities interact with them.
- Updated Package Scripts: Several
package.json
scripts, including those for running development emulators and tests, have been updated to reflect the new 'demo-test-project' ID, ensuring consistent emulator usage across the codebase. - Emulator Utility Updates: Internal testing utilities, specifically those for wiping Firestore and Authentication data during tests, now correctly target the 'demo-test-project' emulator instance.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request consistently updates the Firebase emulator project name from test-project
to demo-test-project
across various configuration and test files. The changes are correct and achieve the goal stated in the title.
I've added a few suggestions to improve maintainability by avoiding hardcoded project IDs. By centralizing the project ID, future changes will be much easier to manage.
"test:emulator": "firebase emulators:exec --project demo-test-project \"pnpm turbo test:ci\"", | ||
"serve:coverage": "npx serve coverage", | ||
"emulator": "firebase emulators:start --project test-project", | ||
"emulator": "firebase emulators:start --project demo-test-project", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The project ID demo-test-project
is hardcoded here and in other package.json
files. This can make it difficult to maintain if the project ID changes.
To centralize this configuration, you could create a .firebaserc
file in the project root with the following content:
{
"projects": {
"default": "demo-test-project"
}
}
With this file, you can remove the --project demo-test-project
flag from your firebase
commands, as the Firebase CLI will automatically use the default project. For example, line 9 could be simplified to:
"emulator": "firebase emulators:start"
packages/react/vitest/utils.ts
Outdated
const response = await fetch( | ||
"http://localhost:8080/emulator/v1/projects/test-project/databases/(default)/documents", | ||
"http://localhost:8080/emulator/v1/projects/demo-test-project/databases/(default)/documents", | ||
{ | ||
method: "DELETE", | ||
}, | ||
} | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To improve maintainability and avoid hardcoding the project ID in multiple places, consider using the projectId
from the firebaseTestingOptions
object defined above. This ensures that if the project ID changes, you only need to update it in one place within this file.
const response = await fetch( | |
"http://localhost:8080/emulator/v1/projects/test-project/databases/(default)/documents", | |
"http://localhost:8080/emulator/v1/projects/demo-test-project/databases/(default)/documents", | |
{ | |
method: "DELETE", | |
}, | |
} | |
); | |
const response = await fetch( | |
`http://localhost:8080/emulator/v1/projects/${firebaseTestingOptions.projectId}/databases/(default)/documents`, | |
{ | |
method: "DELETE", | |
} | |
); |
packages/react/vitest/utils.ts
Outdated
const response = await fetch( | ||
"http://localhost:9099/emulator/v1/projects/test-project/accounts", | ||
"http://localhost:9099/emulator/v1/projects/demo-test-project/accounts", | ||
{ | ||
method: "DELETE", | ||
}, | ||
} | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to the wipeFirestore
function, you can use the projectId
from firebaseTestingOptions
here to avoid hardcoding the value and improve maintainability.
const response = await fetch( | |
"http://localhost:9099/emulator/v1/projects/test-project/accounts", | |
"http://localhost:9099/emulator/v1/projects/demo-test-project/accounts", | |
{ | |
method: "DELETE", | |
}, | |
} | |
); | |
const response = await fetch( | |
`http://localhost:9099/emulator/v1/projects/${firebaseTestingOptions.projectId}/accounts`, | |
{ | |
method: "DELETE", | |
} | |
); |
f50efa6
to
cd03ed9
Compare
|
No description provided.