firebase-tools 10.0.1 → 10.1.3

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 (254) hide show
  1. package/lib/accountExporter.js +9 -8
  2. package/lib/accountImporter.js +10 -8
  3. package/lib/api.js +1 -0
  4. package/lib/apiv2.js +91 -48
  5. package/lib/appdistribution/client.js +1 -1
  6. package/lib/appdistribution/options-parser-util.js +1 -1
  7. package/lib/archiveDirectory.js +63 -73
  8. package/lib/auth.js +2 -2
  9. package/lib/bin/firebase.js +1 -1
  10. package/lib/command.js +26 -26
  11. package/lib/commands/appdistribution-distribute.js +4 -4
  12. package/lib/commands/appdistribution-testers-add.js +2 -2
  13. package/lib/commands/appdistribution-testers-remove.js +2 -2
  14. package/lib/commands/apps-android-sha-create.js +2 -2
  15. package/lib/commands/apps-android-sha-delete.js +2 -2
  16. package/lib/commands/apps-android-sha-list.js +2 -2
  17. package/lib/commands/apps-create.js +9 -9
  18. package/lib/commands/apps-list.js +3 -3
  19. package/lib/commands/apps-sdkconfig.js +8 -8
  20. package/lib/commands/auth-export.js +26 -25
  21. package/lib/commands/auth-import.js +88 -78
  22. package/lib/commands/database-get.js +1 -1
  23. package/lib/commands/database-instances-create.js +4 -4
  24. package/lib/commands/database-instances-list.js +4 -4
  25. package/lib/commands/database-profile.js +1 -1
  26. package/lib/commands/database-push.js +1 -1
  27. package/lib/commands/database-remove.js +2 -2
  28. package/lib/commands/database-set.js +2 -2
  29. package/lib/commands/database-settings-get.js +1 -1
  30. package/lib/commands/database-settings-set.js +1 -1
  31. package/lib/commands/database-update.js +2 -2
  32. package/lib/commands/ext-configure.js +3 -3
  33. package/lib/commands/ext-dev-deprecate.js +4 -4
  34. package/lib/commands/ext-dev-extension-delete.js +3 -3
  35. package/lib/commands/ext-dev-init.js +4 -4
  36. package/lib/commands/ext-dev-list.js +1 -1
  37. package/lib/commands/ext-dev-publish.js +4 -4
  38. package/lib/commands/ext-dev-register.js +6 -6
  39. package/lib/commands/ext-dev-undeprecate.js +4 -4
  40. package/lib/commands/ext-dev-unpublish.js +3 -3
  41. package/lib/commands/ext-dev-usage.js +140 -0
  42. package/lib/commands/ext-export.js +8 -8
  43. package/lib/commands/ext-info.js +5 -5
  44. package/lib/commands/ext-install.js +27 -23
  45. package/lib/commands/ext-list.js +2 -2
  46. package/lib/commands/ext-sources-create.js +2 -2
  47. package/lib/commands/ext-uninstall.js +4 -4
  48. package/lib/commands/ext-update.js +18 -18
  49. package/lib/commands/ext.js +3 -3
  50. package/lib/commands/firestore-delete.js +1 -1
  51. package/lib/commands/functions-config-clone.js +22 -23
  52. package/lib/commands/functions-config-export.js +11 -11
  53. package/lib/commands/functions-config-get.js +22 -22
  54. package/lib/commands/functions-config-set.js +24 -22
  55. package/lib/commands/functions-config-unset.js +20 -22
  56. package/lib/commands/functions-delete.js +3 -3
  57. package/lib/commands/functions-deletegcfartifacts.js +4 -4
  58. package/lib/commands/functions-list.js +1 -1
  59. package/lib/commands/functions-log.js +1 -1
  60. package/lib/commands/help.js +12 -12
  61. package/lib/commands/hosting-channel-create.js +13 -13
  62. package/lib/commands/hosting-channel-delete.js +10 -10
  63. package/lib/commands/hosting-channel-deploy.js +18 -18
  64. package/lib/commands/hosting-channel-list.js +5 -5
  65. package/lib/commands/hosting-channel-open.js +9 -9
  66. package/lib/commands/hosting-clone.js +16 -16
  67. package/lib/commands/hosting-disable.js +1 -1
  68. package/lib/commands/hosting-sites-create.js +7 -7
  69. package/lib/commands/hosting-sites-delete.js +7 -7
  70. package/lib/commands/hosting-sites-get.js +2 -2
  71. package/lib/commands/hosting-sites-list.js +3 -3
  72. package/lib/commands/index.js +1 -0
  73. package/lib/commands/login-ci.js +10 -10
  74. package/lib/commands/login.js +2 -2
  75. package/lib/commands/logout.js +1 -1
  76. package/lib/commands/open.js +1 -1
  77. package/lib/commands/projects-addfirebase.js +2 -2
  78. package/lib/commands/projects-create.js +2 -2
  79. package/lib/commands/projects-list.js +1 -1
  80. package/lib/commands/remoteconfig-get.js +3 -3
  81. package/lib/commands/remoteconfig-rollback.js +3 -3
  82. package/lib/commands/remoteconfig-versions-list.js +7 -2
  83. package/lib/commands/setup-emulators-database.js +8 -7
  84. package/lib/commands/setup-emulators-firestore.js +8 -7
  85. package/lib/commands/setup-emulators-pubsub.js +5 -4
  86. package/lib/commands/setup-emulators-storage.js +4 -3
  87. package/lib/commands/setup-emulators-ui.js +8 -7
  88. package/lib/commands/target-apply.js +17 -16
  89. package/lib/commands/target-clear.js +11 -10
  90. package/lib/commands/target-remove.js +10 -9
  91. package/lib/commands/target.js +20 -20
  92. package/lib/config.js +6 -6
  93. package/lib/database/api.js +2 -2
  94. package/lib/database/metadata.js +16 -24
  95. package/lib/defaultCredentials.js +3 -3
  96. package/lib/deploy/extensions/deploy.js +4 -4
  97. package/lib/deploy/extensions/deploymentSummary.js +5 -4
  98. package/lib/deploy/extensions/index.js +1 -0
  99. package/lib/deploy/extensions/params.js +1 -1
  100. package/lib/deploy/extensions/planner.js +3 -3
  101. package/lib/deploy/extensions/prepare.js +9 -9
  102. package/lib/deploy/extensions/release.js +1 -1
  103. package/lib/deploy/extensions/secrets.js +7 -7
  104. package/lib/deploy/extensions/validate.js +2 -2
  105. package/lib/deploy/functions/backend.js +9 -5
  106. package/lib/deploy/functions/checkIam.js +7 -7
  107. package/lib/deploy/functions/containerCleaner.js +3 -3
  108. package/lib/deploy/functions/deploy.js +4 -4
  109. package/lib/deploy/functions/ensureCloudBuildEnabled.js +3 -3
  110. package/lib/deploy/functions/index.js +1 -0
  111. package/lib/deploy/functions/prepare.js +29 -23
  112. package/lib/deploy/functions/prompts.js +5 -5
  113. package/lib/deploy/functions/release/executor.js +4 -1
  114. package/lib/deploy/functions/release/fabricator.js +9 -6
  115. package/lib/deploy/functions/release/index.js +2 -2
  116. package/lib/deploy/functions/release/planner.js +6 -6
  117. package/lib/deploy/functions/release/reporter.js +8 -4
  118. package/lib/deploy/functions/runtimes/discovery/index.js +2 -2
  119. package/lib/deploy/functions/runtimes/discovery/v1alpha1.js +14 -14
  120. package/lib/deploy/functions/runtimes/golang/index.js +11 -14
  121. package/lib/deploy/functions/runtimes/index.js +6 -10
  122. package/lib/deploy/functions/runtimes/node/index.js +6 -10
  123. package/lib/deploy/functions/runtimes/node/parseTriggers.js +3 -3
  124. package/lib/deploy/functions/runtimes/node/validate.js +2 -1
  125. package/lib/deploy/functions/services/storage.js +1 -1
  126. package/lib/deploy/functions/triggerRegionHelper.js +1 -1
  127. package/lib/deploy/functions/validate.js +32 -4
  128. package/lib/deploy/hosting/convertConfig.js +45 -24
  129. package/lib/deploy/hosting/deploy.js +7 -7
  130. package/lib/deploy/hosting/prepare.js +1 -1
  131. package/lib/deploy/hosting/uploader.js +1 -1
  132. package/lib/deploy/hosting/validate.js +3 -3
  133. package/lib/deploy/remoteconfig/prepare.js +3 -3
  134. package/lib/deploy/remoteconfig/release.js +3 -3
  135. package/lib/deploy/storage/deploy.js +1 -1
  136. package/lib/deploy/storage/release.js +2 -2
  137. package/lib/detectProjectRoot.js +5 -5
  138. package/lib/emulator/auth/apiSpec.js +13 -7
  139. package/lib/emulator/auth/handlers.js +3 -3
  140. package/lib/emulator/auth/index.js +1 -1
  141. package/lib/emulator/auth/operations.js +256 -248
  142. package/lib/emulator/auth/server.js +11 -8
  143. package/lib/emulator/auth/state.js +12 -12
  144. package/lib/emulator/commandUtils.js +5 -5
  145. package/lib/emulator/controller.js +16 -11
  146. package/lib/emulator/downloadableEmulators.js +5 -4
  147. package/lib/emulator/emulatorLogger.js +1 -1
  148. package/lib/emulator/functionsEmulator.js +110 -75
  149. package/lib/emulator/functionsEmulatorRuntime.js +36 -21
  150. package/lib/emulator/functionsEmulatorShell.js +3 -2
  151. package/lib/emulator/functionsRuntimeWorker.js +1 -1
  152. package/lib/emulator/hubExport.js +2 -2
  153. package/lib/emulator/storage/apis/firebase.js +2 -2
  154. package/lib/emulator/storage/apis/gcloud.js +2 -2
  155. package/lib/emulator/storage/cloudFunctions.js +1 -1
  156. package/lib/emulator/storage/files.js +14 -14
  157. package/lib/emulator/storage/index.js +2 -2
  158. package/lib/emulator/storage/metadata.js +7 -6
  159. package/lib/emulator/storage/rules/runtime.js +10 -9
  160. package/lib/emulator/storage/server.js +2 -2
  161. package/lib/ensureApiEnabled.js +7 -7
  162. package/lib/error.js +3 -3
  163. package/lib/extensions/askUserForConsent.js +3 -4
  164. package/lib/extensions/askUserForParam.js +11 -11
  165. package/lib/extensions/billingMigrationHelper.js +2 -2
  166. package/lib/extensions/changelog.js +4 -4
  167. package/lib/extensions/displayExtensionInfo.js +6 -6
  168. package/lib/extensions/emulator/optionsHelper.js +1 -1
  169. package/lib/extensions/emulator/specHelper.js +1 -1
  170. package/lib/extensions/emulator/triggerHelper.js +1 -1
  171. package/lib/extensions/export.js +6 -6
  172. package/lib/extensions/extensionsApi.js +68 -110
  173. package/lib/extensions/extensionsHelper.js +56 -43
  174. package/lib/extensions/listExtensions.js +1 -1
  175. package/lib/extensions/localHelper.js +1 -1
  176. package/lib/extensions/metricsTypeDef.js +2 -0
  177. package/lib/extensions/metricsUtils.js +98 -0
  178. package/lib/extensions/paramHelper.js +6 -6
  179. package/lib/extensions/provisioningHelper.js +13 -14
  180. package/lib/extensions/resolveSource.js +6 -6
  181. package/lib/extensions/secretsUtils.js +3 -3
  182. package/lib/extensions/updateHelper.js +10 -10
  183. package/lib/extensions/utils.js +1 -1
  184. package/lib/extensions/warnings.js +11 -10
  185. package/lib/fetchWebSetup.js +2 -2
  186. package/lib/filterTargets.js +2 -2
  187. package/lib/firestore/indexes.js +2 -2
  188. package/lib/fsAsync.js +3 -3
  189. package/lib/fsutils.js +2 -2
  190. package/lib/functional.js +2 -1
  191. package/lib/functions/env.js +1 -1
  192. package/lib/functions/runtimeConfigExport.js +4 -4
  193. package/lib/functionsConfig.js +7 -8
  194. package/lib/functionsShellCommandAction.js +4 -3
  195. package/lib/gcp/cloudbilling.js +8 -19
  196. package/lib/gcp/cloudfunctions.js +22 -46
  197. package/lib/gcp/cloudlogging.js +8 -11
  198. package/lib/gcp/cloudmonitoring.js +77 -0
  199. package/lib/gcp/cloudscheduler.js +8 -19
  200. package/lib/gcp/firedata.js +5 -4
  201. package/lib/gcp/firestore.js +5 -5
  202. package/lib/gcp/iam.js +19 -34
  203. package/lib/gcp/resourceManager.js +10 -15
  204. package/lib/gcp/rules.js +18 -41
  205. package/lib/gcp/runtimeconfig.js +31 -53
  206. package/lib/gcp/secretManager.js +24 -45
  207. package/lib/gcp/storage.js +24 -29
  208. package/lib/getDefaultDatabaseInstance.js +1 -1
  209. package/lib/getDefaultHostingSite.js +1 -1
  210. package/lib/getProjectNumber.js +2 -2
  211. package/lib/handlePreviewToggles.js +5 -5
  212. package/lib/hosting/api.js +6 -6
  213. package/lib/hosting/cloudRunProxy.js +6 -6
  214. package/lib/hosting/functionsProxy.js +3 -3
  215. package/lib/hosting/implicitInit.js +2 -2
  216. package/lib/hosting/normalizedHostingConfigs.js +3 -3
  217. package/lib/hosting/proxy.js +2 -2
  218. package/lib/init/features/account.js +7 -7
  219. package/lib/init/features/database.js +9 -9
  220. package/lib/init/features/emulators.js +8 -8
  221. package/lib/init/features/firestore/index.js +3 -3
  222. package/lib/init/features/firestore/indexes.js +2 -2
  223. package/lib/init/features/firestore/rules.js +2 -2
  224. package/lib/init/features/functions/golang.js +4 -4
  225. package/lib/init/features/functions/index.js +4 -4
  226. package/lib/init/features/hosting/github.js +31 -31
  227. package/lib/init/features/project.js +8 -8
  228. package/lib/init/features/remoteconfig.js +2 -2
  229. package/lib/init/features/storage.js +2 -2
  230. package/lib/listFiles.js +1 -1
  231. package/lib/management/apps.js +3 -3
  232. package/lib/management/projects.js +6 -6
  233. package/lib/previews.js +2 -2
  234. package/lib/profiler.js +1 -1
  235. package/lib/projectPath.js +1 -1
  236. package/lib/projectUtils.js +2 -2
  237. package/lib/prompt.js +0 -1
  238. package/lib/rc.js +1 -1
  239. package/lib/remoteconfig/get.js +14 -8
  240. package/lib/remoteconfig/rollback.js +13 -6
  241. package/lib/remoteconfig/versionslist.js +13 -7
  242. package/lib/requireAuth.js +2 -2
  243. package/lib/requireDatabaseInstance.js +1 -1
  244. package/lib/requireHostingSite.js +1 -1
  245. package/lib/requirePermissions.js +4 -4
  246. package/lib/rulesDeploy.js +2 -2
  247. package/lib/serve/functions.js +14 -7
  248. package/lib/serve/hosting.js +7 -7
  249. package/lib/utils.js +3 -2
  250. package/npm-shrinkwrap.json +24090 -0
  251. package/package.json +36 -31
  252. package/schema/firebase-config.json +387 -12
  253. package/lib/commands/functions-config-legacy.js +0 -45
  254. package/lib/prepareFirebaseRules.js +0 -58
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "firebase-tools",
3
- "version": "10.0.1",
3
+ "version": "10.1.3",
4
4
  "description": "Command-Line Interface for Firebase",
5
5
  "main": "./lib/index.js",
6
6
  "bin": {
@@ -84,9 +84,7 @@
84
84
  ]
85
85
  },
86
86
  "dependencies": {
87
- "@google-cloud/pubsub": "^2.7.0",
88
- "@types/archiver": "^5.1.0",
89
- "JSONStream": "^1.2.1",
87
+ "@google-cloud/pubsub": "^2.18.4",
90
88
  "abort-controller": "^3.0.0",
91
89
  "ajv": "^6.12.6",
92
90
  "archiver": "^5.0.0",
@@ -100,42 +98,45 @@
100
98
  "cors": "^2.8.5",
101
99
  "cross-env": "^5.1.3",
102
100
  "cross-spawn": "^7.0.1",
103
- "csv-streamify": "^3.0.4",
101
+ "csv-parse": "^5.0.4",
104
102
  "dotenv": "^6.1.0",
105
- "exegesis": "^2.5.7",
106
- "exegesis-express": "^2.0.0",
103
+ "exegesis": "^4.1.0",
104
+ "exegesis-express": "^4.0.0",
107
105
  "exit-code": "^1.0.2",
108
106
  "express": "^4.16.4",
109
107
  "filesize": "^6.1.0",
110
108
  "fs-extra": "^5.0.0",
111
109
  "glob": "^7.1.2",
112
- "google-auth-library": "^6.1.3",
113
- "inquirer": "~6.3.1",
110
+ "google-auth-library": "^7.11.0",
111
+ "inquirer": "^8.2.0",
114
112
  "js-yaml": "^3.13.1",
115
113
  "jsonwebtoken": "^8.5.1",
116
114
  "leven": "^3.1.0",
117
115
  "lodash": "^4.17.21",
118
- "marked": "^0.7.0",
116
+ "marked": "^4.0.10",
119
117
  "marked-terminal": "^3.3.0",
120
118
  "mime": "^2.5.2",
121
119
  "minimatch": "^3.0.4",
122
120
  "morgan": "^1.10.0",
123
121
  "node-fetch": "^2.6.1",
124
122
  "open": "^6.3.0",
125
- "ora": "^3.4.0",
123
+ "ora": "^5.4.1",
126
124
  "portfinder": "^1.0.23",
127
125
  "progress": "^2.0.3",
128
126
  "proxy-agent": "^5.0.0",
129
127
  "request": "^2.87.0",
128
+ "retry": "^0.13.1",
130
129
  "rimraf": "^3.0.0",
131
130
  "semver": "^5.7.1",
131
+ "stream-chain": "^2.2.4",
132
+ "stream-json": "^1.7.3",
132
133
  "superstatic": "^7.1.0",
133
- "tar": "^4.3.0",
134
+ "tar": "^6.1.11",
134
135
  "tcp-port-used": "^1.0.1",
135
136
  "tmp": "0.0.33",
136
137
  "triple-beam": "^1.3.0",
137
138
  "tweetsodium": "0.0.5",
138
- "universal-analytics": "^0.4.16",
139
+ "universal-analytics": "^0.5.3",
139
140
  "unzipper": "^0.10.10",
140
141
  "update-notifier": "^5.1.0",
141
142
  "uuid": "^8.3.2",
@@ -146,9 +147,10 @@
146
147
  "devDependencies": {
147
148
  "@google/events": "^5.1.1",
148
149
  "@manifoldco/swagger-to-ts": "^2.0.0",
150
+ "@types/archiver": "^5.1.0",
149
151
  "@types/body-parser": "^1.17.0",
150
- "@types/chai": "^4.2.12",
151
- "@types/chai-as-promised": "^7.1.3",
152
+ "@types/chai": "^4.3.0",
153
+ "@types/chai-as-promised": "^7.1.4",
152
154
  "@types/cjson": "^0.5.0",
153
155
  "@types/cli-color": "^0.3.29",
154
156
  "@types/cli-table": "^0.3.0",
@@ -160,24 +162,27 @@
160
162
  "@types/express-serve-static-core": "^4.17.8",
161
163
  "@types/fs-extra": "^5.0.5",
162
164
  "@types/glob": "^7.1.1",
163
- "@types/inquirer": "^6.0.3",
165
+ "@types/inquirer": "^8.1.3",
164
166
  "@types/js-yaml": "^3.12.2",
165
167
  "@types/jsonwebtoken": "^8.3.8",
166
168
  "@types/lodash": "^4.14.149",
167
- "@types/marked": "^0.6.5",
168
- "@types/mocha": "^8.2.0",
169
+ "@types/marked": "^4.0.1",
170
+ "@types/marked-terminal": "^3.1.3",
171
+ "@types/mocha": "^9.0.0",
169
172
  "@types/multer": "^1.4.3",
170
- "@types/node": "^10.17.50",
173
+ "@types/node": "^12.20.39",
171
174
  "@types/node-fetch": "^2.5.7",
172
175
  "@types/progress": "^2.0.3",
173
176
  "@types/puppeteer": "^5.4.2",
174
177
  "@types/request": "^2.48.1",
178
+ "@types/retry": "^0.12.1",
175
179
  "@types/rimraf": "^2.0.3",
176
180
  "@types/semver": "^6.0.0",
177
181
  "@types/sinon": "^9.0.10",
178
182
  "@types/sinon-chai": "^3.2.2",
183
+ "@types/stream-json": "^1.7.2",
179
184
  "@types/supertest": "^2.0.6",
180
- "@types/tar": "^4.0.0",
185
+ "@types/tar": "^6.1.1",
181
186
  "@types/tcp-port-used": "^1.0.0",
182
187
  "@types/tmp": "^0.1.0",
183
188
  "@types/triple-beam": "^1.3.0",
@@ -185,24 +190,24 @@
185
190
  "@types/uuid": "^8.3.1",
186
191
  "@types/winston": "^2.4.4",
187
192
  "@types/ws": "^7.2.3",
188
- "@typescript-eslint/eslint-plugin": "^4.12.0",
189
- "@typescript-eslint/parser": "^4.12.0",
190
- "chai": "^4.2.0",
193
+ "@typescript-eslint/eslint-plugin": "^5.9.0",
194
+ "@typescript-eslint/parser": "^5.9.0",
195
+ "chai": "^4.3.4",
191
196
  "chai-as-promised": "^7.1.1",
192
- "eslint": "^7.17.0",
197
+ "eslint": "^8.6.0",
193
198
  "eslint-config-google": "^0.14.0",
194
- "eslint-config-prettier": "^7.1.0",
195
- "eslint-plugin-jsdoc": "^30.7.13",
196
- "eslint-plugin-prettier": "^3.3.1",
199
+ "eslint-config-prettier": "^8.3.0",
200
+ "eslint-plugin-jsdoc": "^37.5.1",
201
+ "eslint-plugin-prettier": "^4.0.0",
197
202
  "firebase": "^7.24.0",
198
203
  "firebase-admin": "^9.4.2",
199
204
  "firebase-functions": "^3.15.0",
200
205
  "google-discovery-to-swagger": "^2.1.0",
201
- "mocha": "^8.2.1",
206
+ "mocha": "^9.1.3",
202
207
  "nock": "^13.0.5",
203
208
  "nyc": "^15.1.0",
204
209
  "openapi-merge": "^1.0.23",
205
- "prettier": "^2.2.1",
210
+ "prettier": "^2.5.1",
206
211
  "proxy": "^1.0.2",
207
212
  "puppeteer": "^9.0.0",
208
213
  "sinon": "^9.2.3",
@@ -210,8 +215,8 @@
210
215
  "source-map-support": "^0.5.9",
211
216
  "supertest": "^3.3.0",
212
217
  "swagger2openapi": "^6.0.3",
213
- "ts-node": "^9.1.1",
214
- "typescript": "^3.9.5",
218
+ "ts-node": "^10.4.0",
219
+ "typescript": "^4.5.4",
215
220
  "typescript-json-schema": "^0.50.1"
216
221
  }
217
222
  }