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
Re-implement firebase init
command's default project setup flow
#1506
Conversation
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.
There's one big change in here that I'm seeing that I'm not sure we want to do.
For my notes, the UI now does the following when I'm logged into an account with lots of projects:
=== Project Setup
First, let's associate this project directory with a Firebase project.
You can create multiple project aliases by running firebase use --add,
but for now we'll just set up a default project.
? Please select an option: Use an existing project
? Please input the project ID you would like to use:
And then it waits for me to enter an ID (rather than picking one from a list).
I don't actually think we want to change the behavior this way (unless there's a review or something I've missed discussing this already).
* Add create a new project option for init command
) * Implement getFirebaseProject and deprecate firebaseApi * Implement getProjectPage() and refactor listFirebaseProject() * Implement use an existing project option * Update behavior when there's no project * Implement "Create a new project" option (#1510)
) * Implement getFirebaseProject and deprecate firebaseApi * Implement getProjectPage() and refactor listFirebaseProject() * Implement use an existing project option * Update behavior when there's no project * Implement "Create a new project" option (#1510)
* fix build container to have later npm (#1570) * Release Firestore emulator v1.7.0 (#1571) * Use ADC for Emulator Tests (#1575) * Adds privacy policy link to login notice. (#1576) * Use displayName when available (#1555) * shows displayName if available * formats * uses displayName if available * formats * Declare project and app metadata types (#1470) and update dependencies * Implement projects:create command (#1429) * Implement api calls to support project creation * Initial working command * Replace nock with sinon to mock api requests * export createFirebaseProject() and update tests * Implement projects:create command * Remove poll helper methods * Rename firebase-resource-manager.ts to projectsCreate.ts * Declare project and app metadata types * Update timeout constant * Update unit tests as suggestion * Split metadata.ts into apps.ts and projects.ts * move code to projects.ts * Addressing comment * Implement apps:create command (#1438) * Implement API calls for apps:create command * Implement apps:create command * Remove --sha-certificate option * Support providing appStoreId for iOS app creation * Update the command to use getProjectId() * Update unit tests as suggestion * move code to apps.ts * Add input options interfaces and getAppPlatform * Implement projects:list command (#1465) * Implement projects:list command * Matching changes from metadata * Move code to projects.ts * Resolving TODO * Implement apps:list command (#1477) * Implement apps:list command * Introducing AppPlatform.ANY and code refactoring * Move code to apps.ts * Implement getFirebaseProject and deprecate firebaseApi (#1502) * Re-implement `firebase init` command's default project setup flow (#1506) * Implement getFirebaseProject and deprecate firebaseApi * Implement getProjectPage() and refactor listFirebaseProject() * Implement use an existing project option * Update behavior when there's no project * Implement "Create a new project" option (#1510) * [projects:list] and [apps:list] Logging count (#1526) * Logging total project count after listing. * Logging total app count * Implement apps:sdkconfig command (#1515) * Implement API methods for apps:sdkconfig * Implement apps:sdkconfig command * Add getOrPromptProject function to projects.ts (#1552) * Make getAppPlatform throw if the input platform is unknown * Update changelog for project and app management * Move changelog into CHANGELOG.MD * No more requireAuth() for functions (#1577) * Add the ability to add Firebase resources to an existing GCP project (#1572) * Implement projects:addfirebase command * Update init command to have add Firebase option * implements style fixes suggested in other pr * typescriptifys ensureApiEnabled (#1554) * typescriptifys ensureApiEnabled This reverts commit e7ec80f. * style fixes for switch to ts * Release Firestore emulator v1.7.1 (#1584)
Description
This pull request includes some twists on setting up the default Firebase project process when using the
firebase init
command:firebase use
command or declared inside.firebaserc
), the CLI will use that project and skip the project setup flowUse an existing project
,Create a new project
andDon't set up default project
Use and existing project
: (completed)Create a new project
projects:create
command to create a new projectDon't set up default project
=> do nothingAPI methods changes
FirebaseProjectPage
interfacegetProjectPage
to list all projects in a page givenpageSize
andpageToken
listFirebaseProjects
to usegetProjectPage
methodNotes: