firebase-tools 11.6.0 → 11.8.1

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 (52) hide show
  1. package/lib/auth.js +1 -1
  2. package/lib/commands/crashlytics-mappingfile-generateid.js +26 -0
  3. package/lib/commands/crashlytics-mappingfile-upload.js +46 -0
  4. package/lib/commands/crashlytics-symbols-upload.js +18 -87
  5. package/lib/commands/functions-delete.js +2 -0
  6. package/lib/commands/functions-secrets-get.js +2 -0
  7. package/lib/commands/index.js +3 -0
  8. package/lib/crashlytics/buildToolsJarHelper.js +51 -0
  9. package/lib/deploy/functions/backend.js +4 -4
  10. package/lib/deploy/functions/build.js +98 -17
  11. package/lib/deploy/functions/cache/applyHash.js +29 -0
  12. package/lib/deploy/functions/cache/hash.js +30 -0
  13. package/lib/deploy/functions/cel.js +249 -0
  14. package/lib/deploy/functions/checkIam.js +6 -5
  15. package/lib/deploy/functions/functionsDeployHelper.js +12 -1
  16. package/lib/deploy/functions/params.js +262 -105
  17. package/lib/deploy/functions/prepare.js +34 -4
  18. package/lib/deploy/functions/prepareFunctionsUpload.js +12 -4
  19. package/lib/deploy/functions/release/fabricator.js +39 -6
  20. package/lib/deploy/functions/release/index.js +2 -0
  21. package/lib/deploy/functions/release/planner.js +17 -0
  22. package/lib/deploy/functions/runtimes/discovery/index.js +1 -16
  23. package/lib/deploy/functions/runtimes/discovery/parsing.js +16 -0
  24. package/lib/deploy/functions/runtimes/discovery/v1alpha1.js +59 -131
  25. package/lib/deploy/functions/runtimes/node/parseTriggers.js +10 -1
  26. package/lib/emulator/constants.js +1 -1
  27. package/lib/emulator/controller.js +6 -11
  28. package/lib/emulator/extensionsEmulator.js +1 -0
  29. package/lib/emulator/functionsEmulator.js +18 -59
  30. package/lib/emulator/functionsEmulatorRuntime.js +12 -23
  31. package/lib/emulator/functionsRuntimeWorker.js +38 -7
  32. package/lib/emulator/storage/apis/firebase.js +145 -129
  33. package/lib/emulator/storage/apis/gcloud.js +102 -42
  34. package/lib/emulator/storage/files.js +25 -15
  35. package/lib/emulator/storage/metadata.js +86 -56
  36. package/lib/emulator/storage/multipart.js +2 -2
  37. package/lib/emulator/storage/rules/runtime.js +10 -2
  38. package/lib/emulator/storage/upload.js +45 -9
  39. package/lib/extensions/extensionsHelper.js +1 -1
  40. package/lib/functions/constants.js +14 -0
  41. package/lib/functions/env.js +9 -9
  42. package/lib/functions/secrets.js +8 -1
  43. package/lib/gcp/cloudfunctions.js +15 -18
  44. package/lib/gcp/cloudfunctionsv2.js +15 -18
  45. package/lib/gcp/cloudscheduler.js +32 -14
  46. package/lib/gcp/secretManager.js +15 -1
  47. package/lib/gcp/storage.js +15 -1
  48. package/lib/previews.js +1 -1
  49. package/lib/track.js +3 -0
  50. package/npm-shrinkwrap.json +563 -30
  51. package/package.json +7 -5
  52. package/templates/init/storage/storage.rules +1 -1
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "firebase-tools",
3
- "version": "11.6.0",
3
+ "version": "11.8.1",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "firebase-tools",
9
- "version": "11.6.0",
9
+ "version": "11.8.1",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@google-cloud/pubsub": "^3.0.1",
13
13
  "abort-controller": "^3.0.0",
14
14
  "ajv": "^6.12.6",
15
15
  "archiver": "^5.0.0",
16
+ "async-lock": "1.3.2",
16
17
  "body-parser": "^1.19.0",
17
18
  "chokidar": "^3.0.2",
18
19
  "cjson": "^0.3.1",
@@ -22,7 +23,7 @@
22
23
  "configstore": "^5.0.1",
23
24
  "cors": "^2.8.5",
24
25
  "cross-env": "^5.1.3",
25
- "cross-spawn": "^7.0.1",
26
+ "cross-spawn": "^7.0.3",
26
27
  "csv-parse": "^5.0.4",
27
28
  "exegesis": "^4.1.0",
28
29
  "exegesis-express": "^4.0.0",
@@ -33,6 +34,7 @@
33
34
  "fs-extra": "^10.1.0",
34
35
  "glob": "^7.1.2",
35
36
  "google-auth-library": "^7.11.0",
37
+ "googleapis": "^105.0.0",
36
38
  "inquirer": "^8.2.0",
37
39
  "js-yaml": "^3.13.1",
38
40
  "jsonwebtoken": "^8.5.1",
@@ -47,7 +49,7 @@
47
49
  "node-fetch": "^2.6.7",
48
50
  "open": "^6.3.0",
49
51
  "ora": "^5.4.1",
50
- "portfinder": "^1.0.23",
52
+ "portfinder": "^1.0.32",
51
53
  "progress": "^2.0.3",
52
54
  "proxy-agent": "^5.0.0",
53
55
  "request": "^2.87.0",
@@ -77,6 +79,7 @@
77
79
  "@google/events": "^5.1.1",
78
80
  "@manifoldco/swagger-to-ts": "^2.0.0",
79
81
  "@types/archiver": "^5.1.0",
82
+ "@types/async-lock": "^1.1.5",
80
83
  "@types/body-parser": "^1.17.0",
81
84
  "@types/chai": "^4.3.0",
82
85
  "@types/chai-as-promised": "^7.1.4",
@@ -2164,6 +2167,12 @@
2164
2167
  "@types/glob": "*"
2165
2168
  }
2166
2169
  },
2170
+ "node_modules/@types/async-lock": {
2171
+ "version": "1.1.5",
2172
+ "resolved": "https://registry.npmjs.org/@types/async-lock/-/async-lock-1.1.5.tgz",
2173
+ "integrity": "sha512-A9ClUfmj6wwZMLRz0NaYzb98YH1exlHdf/cdDSKBfMQJnPOdO8xlEW0Eh2QsTTntGzOFWURcEjYElkZ1IY4GCQ==",
2174
+ "dev": true
2175
+ },
2167
2176
  "node_modules/@types/body-parser": {
2168
2177
  "version": "1.17.0",
2169
2178
  "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
@@ -3517,6 +3526,11 @@
3517
3526
  "lodash": "^4.17.14"
3518
3527
  }
3519
3528
  },
3529
+ "node_modules/async-lock": {
3530
+ "version": "1.3.2",
3531
+ "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.3.2.tgz",
3532
+ "integrity": "sha512-phnXdS3RP7PPcmP6NWWzWMU0sLTeyvtZCxBPpZdkYE3seGLKSQZs9FrmVO/qwypq98FUtWWUEYxziLkdGk5nnA=="
3533
+ },
3520
3534
  "node_modules/asynckit": {
3521
3535
  "version": "0.4.0",
3522
3536
  "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -4682,9 +4696,9 @@
4682
4696
  }
4683
4697
  },
4684
4698
  "node_modules/cross-spawn": {
4685
- "version": "7.0.2",
4686
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
4687
- "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
4699
+ "version": "7.0.3",
4700
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
4701
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
4688
4702
  "dependencies": {
4689
4703
  "path-key": "^3.1.0",
4690
4704
  "shebang-command": "^2.0.0",
@@ -7167,6 +7181,283 @@
7167
7181
  "node": ">= 6.13.0"
7168
7182
  }
7169
7183
  },
7184
+ "node_modules/googleapis": {
7185
+ "version": "105.0.0",
7186
+ "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-105.0.0.tgz",
7187
+ "integrity": "sha512-wH/jU/6QpqwsjTKj4vfKZz97ne7xT7BBbKwzQEwnbsG8iH9Seyw19P+AuLJcxNNrmgblwLqfr3LORg4Okat1BQ==",
7188
+ "dependencies": {
7189
+ "google-auth-library": "^8.0.2",
7190
+ "googleapis-common": "^6.0.0"
7191
+ },
7192
+ "engines": {
7193
+ "node": ">=12.0.0"
7194
+ }
7195
+ },
7196
+ "node_modules/googleapis-common": {
7197
+ "version": "6.0.0",
7198
+ "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-6.0.0.tgz",
7199
+ "integrity": "sha512-ieZouiuoyTHCckOgu7NU+n5UvA8kAzGTRRMQD+3bobCX9npnRvYDmTHZjM5lQLzf0cGz1xQ1ABCxGQ+xSsMkCw==",
7200
+ "dependencies": {
7201
+ "extend": "^3.0.2",
7202
+ "gaxios": "^4.0.0",
7203
+ "google-auth-library": "^8.0.2",
7204
+ "qs": "^6.7.0",
7205
+ "url-template": "^2.0.8",
7206
+ "uuid": "^8.0.0"
7207
+ },
7208
+ "engines": {
7209
+ "node": ">=12.0.0"
7210
+ }
7211
+ },
7212
+ "node_modules/googleapis-common/node_modules/gcp-metadata": {
7213
+ "version": "5.0.0",
7214
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.0.tgz",
7215
+ "integrity": "sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA==",
7216
+ "dependencies": {
7217
+ "gaxios": "^5.0.0",
7218
+ "json-bigint": "^1.0.0"
7219
+ },
7220
+ "engines": {
7221
+ "node": ">=12"
7222
+ }
7223
+ },
7224
+ "node_modules/googleapis-common/node_modules/gcp-metadata/node_modules/gaxios": {
7225
+ "version": "5.0.1",
7226
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz",
7227
+ "integrity": "sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==",
7228
+ "dependencies": {
7229
+ "extend": "^3.0.2",
7230
+ "https-proxy-agent": "^5.0.0",
7231
+ "is-stream": "^2.0.0",
7232
+ "node-fetch": "^2.6.7"
7233
+ },
7234
+ "engines": {
7235
+ "node": ">=12"
7236
+ }
7237
+ },
7238
+ "node_modules/googleapis-common/node_modules/google-auth-library": {
7239
+ "version": "8.1.1",
7240
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz",
7241
+ "integrity": "sha512-eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg==",
7242
+ "dependencies": {
7243
+ "arrify": "^2.0.0",
7244
+ "base64-js": "^1.3.0",
7245
+ "ecdsa-sig-formatter": "^1.0.11",
7246
+ "fast-text-encoding": "^1.0.0",
7247
+ "gaxios": "^5.0.0",
7248
+ "gcp-metadata": "^5.0.0",
7249
+ "gtoken": "^6.0.0",
7250
+ "jws": "^4.0.0",
7251
+ "lru-cache": "^6.0.0"
7252
+ },
7253
+ "engines": {
7254
+ "node": ">=12"
7255
+ }
7256
+ },
7257
+ "node_modules/googleapis-common/node_modules/google-auth-library/node_modules/gaxios": {
7258
+ "version": "5.0.1",
7259
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz",
7260
+ "integrity": "sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==",
7261
+ "dependencies": {
7262
+ "extend": "^3.0.2",
7263
+ "https-proxy-agent": "^5.0.0",
7264
+ "is-stream": "^2.0.0",
7265
+ "node-fetch": "^2.6.7"
7266
+ },
7267
+ "engines": {
7268
+ "node": ">=12"
7269
+ }
7270
+ },
7271
+ "node_modules/googleapis-common/node_modules/google-p12-pem": {
7272
+ "version": "4.0.0",
7273
+ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz",
7274
+ "integrity": "sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==",
7275
+ "dependencies": {
7276
+ "node-forge": "^1.3.1"
7277
+ },
7278
+ "bin": {
7279
+ "gp12-pem": "build/src/bin/gp12-pem.js"
7280
+ },
7281
+ "engines": {
7282
+ "node": ">=12.0.0"
7283
+ }
7284
+ },
7285
+ "node_modules/googleapis-common/node_modules/gtoken": {
7286
+ "version": "6.1.0",
7287
+ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz",
7288
+ "integrity": "sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==",
7289
+ "dependencies": {
7290
+ "gaxios": "^4.0.0",
7291
+ "google-p12-pem": "^4.0.0",
7292
+ "jws": "^4.0.0"
7293
+ },
7294
+ "engines": {
7295
+ "node": ">=12.0.0"
7296
+ }
7297
+ },
7298
+ "node_modules/googleapis-common/node_modules/is-stream": {
7299
+ "version": "2.0.1",
7300
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
7301
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
7302
+ "engines": {
7303
+ "node": ">=8"
7304
+ },
7305
+ "funding": {
7306
+ "url": "https://github.com/sponsors/sindresorhus"
7307
+ }
7308
+ },
7309
+ "node_modules/googleapis-common/node_modules/jwa": {
7310
+ "version": "2.0.0",
7311
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
7312
+ "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
7313
+ "dependencies": {
7314
+ "buffer-equal-constant-time": "1.0.1",
7315
+ "ecdsa-sig-formatter": "1.0.11",
7316
+ "safe-buffer": "^5.0.1"
7317
+ }
7318
+ },
7319
+ "node_modules/googleapis-common/node_modules/jws": {
7320
+ "version": "4.0.0",
7321
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
7322
+ "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
7323
+ "dependencies": {
7324
+ "jwa": "^2.0.0",
7325
+ "safe-buffer": "^5.0.1"
7326
+ }
7327
+ },
7328
+ "node_modules/googleapis-common/node_modules/node-forge": {
7329
+ "version": "1.3.1",
7330
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
7331
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
7332
+ "engines": {
7333
+ "node": ">= 6.13.0"
7334
+ }
7335
+ },
7336
+ "node_modules/googleapis/node_modules/gaxios": {
7337
+ "version": "5.0.1",
7338
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz",
7339
+ "integrity": "sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==",
7340
+ "dependencies": {
7341
+ "extend": "^3.0.2",
7342
+ "https-proxy-agent": "^5.0.0",
7343
+ "is-stream": "^2.0.0",
7344
+ "node-fetch": "^2.6.7"
7345
+ },
7346
+ "engines": {
7347
+ "node": ">=12"
7348
+ }
7349
+ },
7350
+ "node_modules/googleapis/node_modules/gcp-metadata": {
7351
+ "version": "5.0.0",
7352
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.0.tgz",
7353
+ "integrity": "sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA==",
7354
+ "dependencies": {
7355
+ "gaxios": "^5.0.0",
7356
+ "json-bigint": "^1.0.0"
7357
+ },
7358
+ "engines": {
7359
+ "node": ">=12"
7360
+ }
7361
+ },
7362
+ "node_modules/googleapis/node_modules/google-auth-library": {
7363
+ "version": "8.1.1",
7364
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz",
7365
+ "integrity": "sha512-eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg==",
7366
+ "dependencies": {
7367
+ "arrify": "^2.0.0",
7368
+ "base64-js": "^1.3.0",
7369
+ "ecdsa-sig-formatter": "^1.0.11",
7370
+ "fast-text-encoding": "^1.0.0",
7371
+ "gaxios": "^5.0.0",
7372
+ "gcp-metadata": "^5.0.0",
7373
+ "gtoken": "^6.0.0",
7374
+ "jws": "^4.0.0",
7375
+ "lru-cache": "^6.0.0"
7376
+ },
7377
+ "engines": {
7378
+ "node": ">=12"
7379
+ }
7380
+ },
7381
+ "node_modules/googleapis/node_modules/google-p12-pem": {
7382
+ "version": "4.0.0",
7383
+ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz",
7384
+ "integrity": "sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==",
7385
+ "dependencies": {
7386
+ "node-forge": "^1.3.1"
7387
+ },
7388
+ "bin": {
7389
+ "gp12-pem": "build/src/bin/gp12-pem.js"
7390
+ },
7391
+ "engines": {
7392
+ "node": ">=12.0.0"
7393
+ }
7394
+ },
7395
+ "node_modules/googleapis/node_modules/gtoken": {
7396
+ "version": "6.1.0",
7397
+ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz",
7398
+ "integrity": "sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==",
7399
+ "dependencies": {
7400
+ "gaxios": "^4.0.0",
7401
+ "google-p12-pem": "^4.0.0",
7402
+ "jws": "^4.0.0"
7403
+ },
7404
+ "engines": {
7405
+ "node": ">=12.0.0"
7406
+ }
7407
+ },
7408
+ "node_modules/googleapis/node_modules/gtoken/node_modules/gaxios": {
7409
+ "version": "4.3.3",
7410
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.3.tgz",
7411
+ "integrity": "sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==",
7412
+ "dependencies": {
7413
+ "abort-controller": "^3.0.0",
7414
+ "extend": "^3.0.2",
7415
+ "https-proxy-agent": "^5.0.0",
7416
+ "is-stream": "^2.0.0",
7417
+ "node-fetch": "^2.6.7"
7418
+ },
7419
+ "engines": {
7420
+ "node": ">=10"
7421
+ }
7422
+ },
7423
+ "node_modules/googleapis/node_modules/is-stream": {
7424
+ "version": "2.0.1",
7425
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
7426
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
7427
+ "engines": {
7428
+ "node": ">=8"
7429
+ },
7430
+ "funding": {
7431
+ "url": "https://github.com/sponsors/sindresorhus"
7432
+ }
7433
+ },
7434
+ "node_modules/googleapis/node_modules/jwa": {
7435
+ "version": "2.0.0",
7436
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
7437
+ "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
7438
+ "dependencies": {
7439
+ "buffer-equal-constant-time": "1.0.1",
7440
+ "ecdsa-sig-formatter": "1.0.11",
7441
+ "safe-buffer": "^5.0.1"
7442
+ }
7443
+ },
7444
+ "node_modules/googleapis/node_modules/jws": {
7445
+ "version": "4.0.0",
7446
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
7447
+ "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
7448
+ "dependencies": {
7449
+ "jwa": "^2.0.0",
7450
+ "safe-buffer": "^5.0.1"
7451
+ }
7452
+ },
7453
+ "node_modules/googleapis/node_modules/node-forge": {
7454
+ "version": "1.3.1",
7455
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
7456
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
7457
+ "engines": {
7458
+ "node": ">= 6.13.0"
7459
+ }
7460
+ },
7170
7461
  "node_modules/got": {
7171
7462
  "version": "9.6.0",
7172
7463
  "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
@@ -9277,11 +9568,11 @@
9277
9568
  }
9278
9569
  },
9279
9570
  "node_modules/mkdirp": {
9280
- "version": "0.5.5",
9281
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
9282
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
9571
+ "version": "0.5.6",
9572
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
9573
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
9283
9574
  "dependencies": {
9284
- "minimist": "^1.2.5"
9575
+ "minimist": "^1.2.6"
9285
9576
  },
9286
9577
  "bin": {
9287
9578
  "mkdirp": "bin/cmd.js"
@@ -10618,13 +10909,13 @@
10618
10909
  }
10619
10910
  },
10620
10911
  "node_modules/portfinder": {
10621
- "version": "1.0.28",
10622
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
10623
- "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
10912
+ "version": "1.0.32",
10913
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
10914
+ "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==",
10624
10915
  "dependencies": {
10625
- "async": "^2.6.2",
10626
- "debug": "^3.1.1",
10627
- "mkdirp": "^0.5.5"
10916
+ "async": "^2.6.4",
10917
+ "debug": "^3.2.7",
10918
+ "mkdirp": "^0.5.6"
10628
10919
  },
10629
10920
  "engines": {
10630
10921
  "node": ">= 0.12.0"
@@ -13479,6 +13770,11 @@
13479
13770
  "node": ">=4"
13480
13771
  }
13481
13772
  },
13773
+ "node_modules/url-template": {
13774
+ "version": "2.0.8",
13775
+ "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
13776
+ "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw=="
13777
+ },
13482
13778
  "node_modules/util-deprecate": {
13483
13779
  "version": "1.0.2",
13484
13780
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -15693,6 +15989,12 @@
15693
15989
  "@types/glob": "*"
15694
15990
  }
15695
15991
  },
15992
+ "@types/async-lock": {
15993
+ "version": "1.1.5",
15994
+ "resolved": "https://registry.npmjs.org/@types/async-lock/-/async-lock-1.1.5.tgz",
15995
+ "integrity": "sha512-A9ClUfmj6wwZMLRz0NaYzb98YH1exlHdf/cdDSKBfMQJnPOdO8xlEW0Eh2QsTTntGzOFWURcEjYElkZ1IY4GCQ==",
15996
+ "dev": true
15997
+ },
15696
15998
  "@types/body-parser": {
15697
15999
  "version": "1.17.0",
15698
16000
  "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
@@ -16819,6 +17121,11 @@
16819
17121
  "lodash": "^4.17.14"
16820
17122
  }
16821
17123
  },
17124
+ "async-lock": {
17125
+ "version": "1.3.2",
17126
+ "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.3.2.tgz",
17127
+ "integrity": "sha512-phnXdS3RP7PPcmP6NWWzWMU0sLTeyvtZCxBPpZdkYE3seGLKSQZs9FrmVO/qwypq98FUtWWUEYxziLkdGk5nnA=="
17128
+ },
16822
17129
  "asynckit": {
16823
17130
  "version": "0.4.0",
16824
17131
  "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -17709,9 +18016,9 @@
17709
18016
  }
17710
18017
  },
17711
18018
  "cross-spawn": {
17712
- "version": "7.0.2",
17713
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
17714
- "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
18019
+ "version": "7.0.3",
18020
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
18021
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
17715
18022
  "requires": {
17716
18023
  "path-key": "^3.1.0",
17717
18024
  "shebang-command": "^2.0.0",
@@ -19657,6 +19964,227 @@
19657
19964
  }
19658
19965
  }
19659
19966
  },
19967
+ "googleapis": {
19968
+ "version": "105.0.0",
19969
+ "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-105.0.0.tgz",
19970
+ "integrity": "sha512-wH/jU/6QpqwsjTKj4vfKZz97ne7xT7BBbKwzQEwnbsG8iH9Seyw19P+AuLJcxNNrmgblwLqfr3LORg4Okat1BQ==",
19971
+ "requires": {
19972
+ "google-auth-library": "^8.0.2",
19973
+ "googleapis-common": "^6.0.0"
19974
+ },
19975
+ "dependencies": {
19976
+ "gaxios": {
19977
+ "version": "5.0.1",
19978
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz",
19979
+ "integrity": "sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==",
19980
+ "requires": {
19981
+ "extend": "^3.0.2",
19982
+ "https-proxy-agent": "^5.0.0",
19983
+ "is-stream": "^2.0.0",
19984
+ "node-fetch": "^2.6.7"
19985
+ }
19986
+ },
19987
+ "gcp-metadata": {
19988
+ "version": "5.0.0",
19989
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.0.tgz",
19990
+ "integrity": "sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA==",
19991
+ "requires": {
19992
+ "gaxios": "^5.0.0",
19993
+ "json-bigint": "^1.0.0"
19994
+ }
19995
+ },
19996
+ "google-auth-library": {
19997
+ "version": "8.1.1",
19998
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz",
19999
+ "integrity": "sha512-eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg==",
20000
+ "requires": {
20001
+ "arrify": "^2.0.0",
20002
+ "base64-js": "^1.3.0",
20003
+ "ecdsa-sig-formatter": "^1.0.11",
20004
+ "fast-text-encoding": "^1.0.0",
20005
+ "gaxios": "^5.0.0",
20006
+ "gcp-metadata": "^5.0.0",
20007
+ "gtoken": "^6.0.0",
20008
+ "jws": "^4.0.0",
20009
+ "lru-cache": "^6.0.0"
20010
+ }
20011
+ },
20012
+ "google-p12-pem": {
20013
+ "version": "4.0.0",
20014
+ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz",
20015
+ "integrity": "sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==",
20016
+ "requires": {
20017
+ "node-forge": "^1.3.1"
20018
+ }
20019
+ },
20020
+ "gtoken": {
20021
+ "version": "6.1.0",
20022
+ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz",
20023
+ "integrity": "sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==",
20024
+ "requires": {
20025
+ "gaxios": "^4.0.0",
20026
+ "google-p12-pem": "^4.0.0",
20027
+ "jws": "^4.0.0"
20028
+ },
20029
+ "dependencies": {
20030
+ "gaxios": {
20031
+ "version": "4.3.3",
20032
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.3.tgz",
20033
+ "integrity": "sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==",
20034
+ "requires": {
20035
+ "abort-controller": "^3.0.0",
20036
+ "extend": "^3.0.2",
20037
+ "https-proxy-agent": "^5.0.0",
20038
+ "is-stream": "^2.0.0",
20039
+ "node-fetch": "^2.6.7"
20040
+ }
20041
+ }
20042
+ }
20043
+ },
20044
+ "is-stream": {
20045
+ "version": "2.0.1",
20046
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
20047
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
20048
+ },
20049
+ "jwa": {
20050
+ "version": "2.0.0",
20051
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
20052
+ "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
20053
+ "requires": {
20054
+ "buffer-equal-constant-time": "1.0.1",
20055
+ "ecdsa-sig-formatter": "1.0.11",
20056
+ "safe-buffer": "^5.0.1"
20057
+ }
20058
+ },
20059
+ "jws": {
20060
+ "version": "4.0.0",
20061
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
20062
+ "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
20063
+ "requires": {
20064
+ "jwa": "^2.0.0",
20065
+ "safe-buffer": "^5.0.1"
20066
+ }
20067
+ },
20068
+ "node-forge": {
20069
+ "version": "1.3.1",
20070
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
20071
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
20072
+ }
20073
+ }
20074
+ },
20075
+ "googleapis-common": {
20076
+ "version": "6.0.0",
20077
+ "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-6.0.0.tgz",
20078
+ "integrity": "sha512-ieZouiuoyTHCckOgu7NU+n5UvA8kAzGTRRMQD+3bobCX9npnRvYDmTHZjM5lQLzf0cGz1xQ1ABCxGQ+xSsMkCw==",
20079
+ "requires": {
20080
+ "extend": "^3.0.2",
20081
+ "gaxios": "^4.0.0",
20082
+ "google-auth-library": "^8.0.2",
20083
+ "qs": "^6.7.0",
20084
+ "url-template": "^2.0.8",
20085
+ "uuid": "^8.0.0"
20086
+ },
20087
+ "dependencies": {
20088
+ "gcp-metadata": {
20089
+ "version": "5.0.0",
20090
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.0.tgz",
20091
+ "integrity": "sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA==",
20092
+ "requires": {
20093
+ "gaxios": "^5.0.0",
20094
+ "json-bigint": "^1.0.0"
20095
+ },
20096
+ "dependencies": {
20097
+ "gaxios": {
20098
+ "version": "5.0.1",
20099
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz",
20100
+ "integrity": "sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==",
20101
+ "requires": {
20102
+ "extend": "^3.0.2",
20103
+ "https-proxy-agent": "^5.0.0",
20104
+ "is-stream": "^2.0.0",
20105
+ "node-fetch": "^2.6.7"
20106
+ }
20107
+ }
20108
+ }
20109
+ },
20110
+ "google-auth-library": {
20111
+ "version": "8.1.1",
20112
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz",
20113
+ "integrity": "sha512-eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg==",
20114
+ "requires": {
20115
+ "arrify": "^2.0.0",
20116
+ "base64-js": "^1.3.0",
20117
+ "ecdsa-sig-formatter": "^1.0.11",
20118
+ "fast-text-encoding": "^1.0.0",
20119
+ "gaxios": "^5.0.0",
20120
+ "gcp-metadata": "^5.0.0",
20121
+ "gtoken": "^6.0.0",
20122
+ "jws": "^4.0.0",
20123
+ "lru-cache": "^6.0.0"
20124
+ },
20125
+ "dependencies": {
20126
+ "gaxios": {
20127
+ "version": "5.0.1",
20128
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz",
20129
+ "integrity": "sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==",
20130
+ "requires": {
20131
+ "extend": "^3.0.2",
20132
+ "https-proxy-agent": "^5.0.0",
20133
+ "is-stream": "^2.0.0",
20134
+ "node-fetch": "^2.6.7"
20135
+ }
20136
+ }
20137
+ }
20138
+ },
20139
+ "google-p12-pem": {
20140
+ "version": "4.0.0",
20141
+ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz",
20142
+ "integrity": "sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==",
20143
+ "requires": {
20144
+ "node-forge": "^1.3.1"
20145
+ }
20146
+ },
20147
+ "gtoken": {
20148
+ "version": "6.1.0",
20149
+ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz",
20150
+ "integrity": "sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==",
20151
+ "requires": {
20152
+ "gaxios": "^4.0.0",
20153
+ "google-p12-pem": "^4.0.0",
20154
+ "jws": "^4.0.0"
20155
+ }
20156
+ },
20157
+ "is-stream": {
20158
+ "version": "2.0.1",
20159
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
20160
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
20161
+ },
20162
+ "jwa": {
20163
+ "version": "2.0.0",
20164
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
20165
+ "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
20166
+ "requires": {
20167
+ "buffer-equal-constant-time": "1.0.1",
20168
+ "ecdsa-sig-formatter": "1.0.11",
20169
+ "safe-buffer": "^5.0.1"
20170
+ }
20171
+ },
20172
+ "jws": {
20173
+ "version": "4.0.0",
20174
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
20175
+ "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
20176
+ "requires": {
20177
+ "jwa": "^2.0.0",
20178
+ "safe-buffer": "^5.0.1"
20179
+ }
20180
+ },
20181
+ "node-forge": {
20182
+ "version": "1.3.1",
20183
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
20184
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
20185
+ }
20186
+ }
20187
+ },
19660
20188
  "got": {
19661
20189
  "version": "9.6.0",
19662
20190
  "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
@@ -21325,11 +21853,11 @@
21325
21853
  }
21326
21854
  },
21327
21855
  "mkdirp": {
21328
- "version": "0.5.5",
21329
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
21330
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
21856
+ "version": "0.5.6",
21857
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
21858
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
21331
21859
  "requires": {
21332
- "minimist": "^1.2.5"
21860
+ "minimist": "^1.2.6"
21333
21861
  }
21334
21862
  },
21335
21863
  "mkdirp-classic": {
@@ -22348,13 +22876,13 @@
22348
22876
  }
22349
22877
  },
22350
22878
  "portfinder": {
22351
- "version": "1.0.28",
22352
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
22353
- "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
22879
+ "version": "1.0.32",
22880
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
22881
+ "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==",
22354
22882
  "requires": {
22355
- "async": "^2.6.2",
22356
- "debug": "^3.1.1",
22357
- "mkdirp": "^0.5.5"
22883
+ "async": "^2.6.4",
22884
+ "debug": "^3.2.7",
22885
+ "mkdirp": "^0.5.6"
22358
22886
  },
22359
22887
  "dependencies": {
22360
22888
  "debug": {
@@ -24562,6 +25090,11 @@
24562
25090
  "prepend-http": "^2.0.0"
24563
25091
  }
24564
25092
  },
25093
+ "url-template": {
25094
+ "version": "2.0.8",
25095
+ "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
25096
+ "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw=="
25097
+ },
24565
25098
  "util-deprecate": {
24566
25099
  "version": "1.0.2",
24567
25100
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",