firebase-tools 13.29.3 → 13.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/lib/apphosting/secrets/dialogs.js +2 -2
  2. package/lib/commands/appdistribution-groups-list.js +1 -1
  3. package/lib/commands/appdistribution-testers-list.js +4 -4
  4. package/lib/commands/apphosting-backends-list.js +1 -1
  5. package/lib/commands/apphosting-secrets-describe.js +1 -1
  6. package/lib/commands/apps-android-sha-list.js +1 -1
  7. package/lib/commands/apps-create.js +1 -104
  8. package/lib/commands/apps-init.js +94 -0
  9. package/lib/commands/apps-list.js +1 -1
  10. package/lib/commands/apps-sdkconfig.js +3 -3
  11. package/lib/commands/database-instances-list.js +1 -1
  12. package/lib/commands/dataconnect-services-list.js +1 -1
  13. package/lib/commands/emulators-start.js +1 -1
  14. package/lib/commands/experiments-list.js +1 -1
  15. package/lib/commands/ext-dev-list.js +1 -1
  16. package/lib/commands/ext-dev-usage.js +1 -1
  17. package/lib/commands/functions-list.js +1 -1
  18. package/lib/commands/hosting-channel-list.js +1 -1
  19. package/lib/commands/hosting-sites-get.js +1 -1
  20. package/lib/commands/hosting-sites-list.js +1 -1
  21. package/lib/commands/index.js +1 -0
  22. package/lib/commands/projects-list.js +1 -1
  23. package/lib/commands/remoteconfig-get.js +1 -1
  24. package/lib/commands/remoteconfig-versions-list.js +1 -1
  25. package/lib/crashlytics/buildToolsJarHelper.js +1 -1
  26. package/lib/dataconnect/build.js +6 -0
  27. package/lib/dataconnect/client.js +1 -1
  28. package/lib/dataconnect/dataplaneClient.js +1 -1
  29. package/lib/dataconnect/fileUtils.js +25 -2
  30. package/lib/dataconnect/graphqlError.js +5 -3
  31. package/lib/emulator/commandUtils.js +1 -1
  32. package/lib/emulator/dataconnectEmulator.js +4 -1
  33. package/lib/emulator/dataconnectToolkitController.js +5 -0
  34. package/lib/emulator/downloadableEmulators.js +9 -9
  35. package/lib/emulator/extensionsEmulator.js +2 -2
  36. package/lib/experiments.js +6 -0
  37. package/lib/extensions/change-log.js +1 -25
  38. package/lib/extensions/listExtensions.js +1 -1
  39. package/lib/extensions/provisioningHelper.js +1 -1
  40. package/lib/firestore/pretty-print.js +1 -1
  41. package/lib/frameworks/angular/index.js +11 -6
  42. package/lib/frameworks/utils.js +3 -1
  43. package/lib/functions/secrets.js +1 -1
  44. package/lib/gcp/cloudfunctionsv2.js +3 -0
  45. package/lib/gcp/cloudsql/interactive.js +1 -1
  46. package/lib/init/features/dataconnect/sdk.js +28 -3
  47. package/lib/init/features/genkit/index.js +17 -9
  48. package/lib/management/apps.js +314 -7
  49. package/lib/profileReport.js +1 -1
  50. package/lib/prompt.js +10 -2
  51. package/package.json +14 -5
  52. package/templates/genkit/firebase.0.9.0.template +1 -1
  53. package/templates/genkit/firebase.1.0.0.template +66 -0
  54. package/templates/init/dataconnect/mutations.gql +9 -26
  55. package/templates/init/dataconnect/queries.gql +9 -14
  56. package/templates/init/dataconnect/schema.gql +28 -21
  57. package/templates/setup/web.js +0 -5
@@ -1,44 +1,51 @@
1
1
  # # Example schema for simple movie review app
2
2
 
3
- # # Users
4
- # # Suppose a user can leave reviews for movies
5
- # # user -> reviews is a one to many relationship,
6
- # # movie -> reviews is a one to many relationship
7
- # # movie <-> user is a many to many relationship
3
+ # # User table is keyed by Firebase Auth UID.
8
4
  # type User @table {
9
- # id: String! @col(name: "user_auth")
10
- # username: String! @col(name: "username", dataType: "varchar(50)")
11
- # # The following are generated by the user: User! field in the Review table
12
- # # reviews_on_user
13
- # # movies_via_Review
5
+ # # `@default(expr: "auth.uid")` sets it to Firebase Auth UID during insert and upsert.
6
+ # id: String! @default(expr: "auth.uid")
7
+ # username: String! @col(dataType: "varchar(50)")
8
+ # # The `user: User!` field in the Review table generates the following one-to-many query field.
9
+ # # reviews_on_user: [Review!]!
10
+ # # The `Review` join table the following many-to-many query field.
11
+ # # movies_via_Review: [Movie!]!
14
12
  # }
15
13
 
16
- # # Movies
14
+ # # Movie is keyed by a randomly generated UUID.
17
15
  # type Movie @table {
18
- # # The below parameter values are generated by default with @table, and can be edited manually.
19
- # # implies directive `@col(name: "movie_id")`, generating a column name
20
- # id: UUID! @default(expr: "uuidV4()")
16
+ # # If you do not pass a 'key' to `@table`, Data Connect automatically adds the following 'id' column.
17
+ # # Feel free to uncomment and customize it.
18
+ # # id: UUID! @default(expr: "uuidV4()")
21
19
  # title: String!
22
20
  # imageUrl: String!
23
21
  # genre: String
24
22
  # }
25
23
 
26
- # # Movie Metadata
27
- # # Movie - MovieMetadata is a one-to-one relationship
24
+ # # MovieMetadata is a metadata attached to a Movie.
25
+ # # Movie <-> MovieMetadata is a one-to-one relationship
28
26
  # type MovieMetadata @table {
29
- # # @unique indicates a 1-1 relationship
30
- # movie: Movie! @unique
31
- # # movieId: UUID <- this is created by the above reference
27
+ # # @unique ensures each Movie can only one MovieMetadata.
28
+ # movie: Movie! @unique
29
+ # # The movie field adds the following foreign key field. Feel free to uncomment and customize it.
30
+ # # movieId: UUID!
32
31
  # rating: Float
33
32
  # releaseYear: Int
34
33
  # description: String
35
34
  # }
36
35
 
37
- # # Reviews
36
+ # # Reviews is a join table between User and Movie.
37
+ # # It has a composite primary keys `userUid` and `movieId`.
38
+ # # A user can leave reviews for many movies. A movie can have reviews from many users.
39
+ # # User <-> Review is a one-to-many relationship
40
+ # # Movie <-> Review is a one-to-many relationship
41
+ # # Movie <-> User is a many-to-many relationship
38
42
  # type Review @table(name: "Reviews", key: ["movie", "user"]) {
39
- # id: UUID! @default(expr: "uuidV4()")
40
43
  # user: User!
44
+ # # The user field adds the following foreign key field. Feel free to uncomment and customize it.
45
+ # # userUid: String!
41
46
  # movie: Movie!
47
+ # # The movie field adds the following foreign key field. Feel free to uncomment and customize it.
48
+ # # movieId: UUID!
42
49
  # rating: Int
43
50
  # reviewText: String
44
51
  # reviewDate: Date! @default(expr: "request.time")
@@ -1,5 +0,0 @@
1
- // Copy and paste this into your JavaScript code to initialize the Firebase SDK.
2
- // You will also need to load the Firebase SDK.
3
- // See https://firebase.google.com/docs/web/setup for more details.
4
-
5
- firebase.initializeApp({/*--CONFIG--*/});