firebase-tools 11.0.1 → 11.1.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 (156) hide show
  1. package/lib/accountImporter.js +92 -93
  2. package/lib/api.js +77 -218
  3. package/lib/apiv2.js +5 -4
  4. package/lib/auth.js +69 -47
  5. package/lib/bin/firebase.js +42 -47
  6. package/lib/checkValidTargetFilters.js +13 -12
  7. package/lib/commands/appdistribution-distribute.js +2 -1
  8. package/lib/commands/appdistribution-testers-add.js +2 -1
  9. package/lib/commands/appdistribution-testers-remove.js +2 -1
  10. package/lib/commands/apps-android-sha-create.js +2 -1
  11. package/lib/commands/apps-android-sha-delete.js +2 -1
  12. package/lib/commands/apps-android-sha-list.js +2 -1
  13. package/lib/commands/apps-create.js +2 -1
  14. package/lib/commands/apps-list.js +2 -1
  15. package/lib/commands/apps-sdkconfig.js +2 -1
  16. package/lib/commands/auth-export.js +2 -1
  17. package/lib/commands/auth-import.js +7 -10
  18. package/lib/commands/crashlytics-symbols-upload.js +2 -1
  19. package/lib/commands/database-get.js +4 -3
  20. package/lib/commands/database-instances-create.js +2 -1
  21. package/lib/commands/database-instances-list.js +3 -3
  22. package/lib/commands/database-profile.js +2 -1
  23. package/lib/commands/database-push.js +2 -1
  24. package/lib/commands/database-remove.js +2 -1
  25. package/lib/commands/database-rules-canary.js +2 -1
  26. package/lib/commands/database-rules-get.js +2 -1
  27. package/lib/commands/database-rules-list.js +2 -1
  28. package/lib/commands/database-rules-release.js +2 -1
  29. package/lib/commands/database-rules-stage.js +2 -1
  30. package/lib/commands/database-set.js +2 -1
  31. package/lib/commands/database-settings-get.js +2 -1
  32. package/lib/commands/database-settings-set.js +2 -1
  33. package/lib/commands/database-update.js +2 -1
  34. package/lib/commands/deploy.js +23 -21
  35. package/lib/commands/emulators-exec.js +2 -1
  36. package/lib/commands/emulators-export.js +2 -1
  37. package/lib/commands/emulators-start.js +2 -1
  38. package/lib/commands/experimental-functions-shell.js +10 -8
  39. package/lib/commands/ext-configure.js +2 -1
  40. package/lib/commands/ext-dev-deprecate.js +2 -1
  41. package/lib/commands/ext-dev-emulators-exec.js +2 -1
  42. package/lib/commands/ext-dev-emulators-start.js +2 -1
  43. package/lib/commands/ext-dev-extension-delete.js +2 -1
  44. package/lib/commands/ext-dev-init.js +2 -1
  45. package/lib/commands/ext-dev-list.js +2 -1
  46. package/lib/commands/ext-dev-publish.js +2 -1
  47. package/lib/commands/ext-dev-register.js +2 -1
  48. package/lib/commands/ext-dev-undeprecate.js +2 -1
  49. package/lib/commands/ext-dev-unpublish.js +2 -1
  50. package/lib/commands/ext-dev-usage.js +2 -1
  51. package/lib/commands/ext-export.js +2 -1
  52. package/lib/commands/ext-info.js +2 -1
  53. package/lib/commands/ext-install.js +2 -1
  54. package/lib/commands/ext-list.js +2 -1
  55. package/lib/commands/ext-sources-create.js +2 -1
  56. package/lib/commands/ext-uninstall.js +2 -1
  57. package/lib/commands/ext-update.js +2 -1
  58. package/lib/commands/ext.js +2 -1
  59. package/lib/commands/firestore-delete.js +2 -1
  60. package/lib/commands/firestore-indexes-list.js +2 -1
  61. package/lib/commands/functions-config-clone.js +4 -3
  62. package/lib/commands/functions-config-export.js +2 -1
  63. package/lib/commands/functions-config-get.js +2 -1
  64. package/lib/commands/functions-config-set.js +2 -1
  65. package/lib/commands/functions-config-unset.js +2 -1
  66. package/lib/commands/functions-delete.js +2 -1
  67. package/lib/commands/functions-deletegcfartifacts.js +2 -1
  68. package/lib/commands/functions-list.js +2 -1
  69. package/lib/commands/functions-log.js +2 -1
  70. package/lib/commands/functions-secrets-access.js +2 -1
  71. package/lib/commands/functions-secrets-destroy.js +2 -1
  72. package/lib/commands/functions-secrets-get.js +2 -1
  73. package/lib/commands/functions-secrets-prune.js +2 -1
  74. package/lib/commands/functions-secrets-set.js +2 -1
  75. package/lib/commands/functions-shell.js +12 -10
  76. package/lib/commands/help.js +2 -1
  77. package/lib/commands/hosting-channel-create.js +2 -1
  78. package/lib/commands/hosting-channel-delete.js +2 -1
  79. package/lib/commands/hosting-channel-deploy.js +2 -1
  80. package/lib/commands/hosting-channel-list.js +2 -1
  81. package/lib/commands/hosting-channel-open.js +2 -1
  82. package/lib/commands/hosting-clone.js +2 -1
  83. package/lib/commands/hosting-disable.js +2 -1
  84. package/lib/commands/hosting-sites-create.js +2 -1
  85. package/lib/commands/hosting-sites-delete.js +2 -1
  86. package/lib/commands/hosting-sites-get.js +2 -1
  87. package/lib/commands/hosting-sites-list.js +2 -1
  88. package/lib/commands/index.js +23 -13
  89. package/lib/commands/init.js +47 -43
  90. package/lib/commands/login-add.js +2 -1
  91. package/lib/commands/login-ci.js +2 -1
  92. package/lib/commands/login-list.js +2 -1
  93. package/lib/commands/login-use.js +2 -1
  94. package/lib/commands/login.js +2 -1
  95. package/lib/commands/logout.js +2 -1
  96. package/lib/commands/open.js +2 -1
  97. package/lib/commands/projects-addfirebase.js +2 -1
  98. package/lib/commands/projects-create.js +2 -1
  99. package/lib/commands/projects-list.js +2 -1
  100. package/lib/commands/remoteconfig-get.js +2 -1
  101. package/lib/commands/remoteconfig-rollback.js +2 -1
  102. package/lib/commands/remoteconfig-versions-list.js +2 -1
  103. package/lib/commands/serve.js +29 -27
  104. package/lib/commands/setup-emulators-database.js +2 -1
  105. package/lib/commands/setup-emulators-firestore.js +2 -1
  106. package/lib/commands/setup-emulators-pubsub.js +2 -1
  107. package/lib/commands/setup-emulators-storage.js +2 -1
  108. package/lib/commands/setup-emulators-ui.js +2 -1
  109. package/lib/commands/target-apply.js +2 -1
  110. package/lib/commands/target-clear.js +2 -1
  111. package/lib/commands/target-remove.js +2 -1
  112. package/lib/commands/target.js +2 -1
  113. package/lib/commands/use.js +54 -52
  114. package/lib/config.js +3 -3
  115. package/lib/deploy/database/deploy.js +3 -2
  116. package/lib/deploy/database/index.js +8 -5
  117. package/lib/deploy/database/prepare.js +22 -19
  118. package/lib/deploy/database/release.js +12 -9
  119. package/lib/deploy/firestore/prepare.js +2 -2
  120. package/lib/deploy/functions/build.js +32 -20
  121. package/lib/deploy/functions/runtimes/discovery/v1alpha1.js +187 -54
  122. package/lib/deploy/functions/runtimes/node/parseTriggers.js +14 -2
  123. package/lib/deploy/functions/services/database.js +14 -0
  124. package/lib/deploy/functions/services/index.js +14 -0
  125. package/lib/deploy/index.js +3 -3
  126. package/lib/deploy/lifecycleHooks.js +23 -20
  127. package/lib/deploy/remoteconfig/prepare.js +2 -2
  128. package/lib/emulator/auth/apiSpec.js +14 -46
  129. package/lib/emulator/auth/operations.js +6 -29
  130. package/lib/emulator/auth/state.js +2 -25
  131. package/lib/emulator/controller.js +1 -1
  132. package/lib/emulator/databaseEmulator.js +2 -2
  133. package/lib/errorOut.js +2 -2
  134. package/lib/functions/events/v2.js +7 -1
  135. package/lib/functionsConfigClone.js +43 -41
  136. package/lib/gcp/cloudfunctionsv2.js +17 -2
  137. package/lib/gcp/iam.js +1 -1
  138. package/lib/gcp/index.js +10 -10
  139. package/lib/gcp/runtimeconfig.js +45 -47
  140. package/lib/index.js +29 -28
  141. package/lib/init/features/database.js +10 -2
  142. package/lib/init/features/functions/index.js +1 -1
  143. package/lib/init/features/functions/javascript.js +23 -20
  144. package/lib/init/features/functions/npm-dependencies.js +17 -14
  145. package/lib/init/features/functions/typescript.js +27 -24
  146. package/lib/init/features/hosting/github.js +5 -4
  147. package/lib/loadCJSON.js +9 -6
  148. package/lib/logError.js +15 -12
  149. package/lib/parseBoltRules.js +15 -14
  150. package/lib/profileReport.js +503 -511
  151. package/lib/profiler.js +4 -4
  152. package/lib/requireAuth.js +0 -1
  153. package/lib/responseToError.js +8 -5
  154. package/lib/scopes.js +9 -9
  155. package/npm-shrinkwrap.json +537 -193
  156. package/package.json +8 -6
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const path = require("path");
4
5
  const clc = require("cli-color");
5
6
  const requireInteractive_1 = require("../requireInteractive");
@@ -69,7 +70,7 @@ function fromEntries(itr) {
69
70
  }
70
71
  return obj;
71
72
  }
72
- exports.default = new command_1.Command("functions:config:export")
73
+ exports.command = new command_1.Command("functions:config:export")
73
74
  .description("Export environment config as environment variables in dotenv format")
74
75
  .before(requirePermissions_1.requirePermissions, [
75
76
  "runtimeconfig.configs.list",
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const lodash_1 = require("lodash");
4
5
  const path_1 = require("path");
5
6
  const command_1 = require("../command");
@@ -18,7 +19,7 @@ async function materialize(projectId, path) {
18
19
  const query = parts.join(".");
19
20
  return query ? (0, lodash_1.get)(result, query) : result;
20
21
  }
21
- exports.default = new command_1.Command("functions:config:get [path]")
22
+ exports.command = new command_1.Command("functions:config:get [path]")
22
23
  .description("fetch environment config stored at the given path")
23
24
  .before(requirePermissions_1.requirePermissions, [
24
25
  "runtimeconfig.configs.list",
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const clc = require("cli-color");
4
5
  const command_1 = require("../command");
5
6
  const error_1 = require("../error");
@@ -8,7 +9,7 @@ const projectUtils_1 = require("../projectUtils");
8
9
  const requirePermissions_1 = require("../requirePermissions");
9
10
  const functionsConfig = require("../functionsConfig");
10
11
  const utils = require("../utils");
11
- exports.default = new command_1.Command("functions:config:set [values...]")
12
+ exports.command = new command_1.Command("functions:config:set [values...]")
12
13
  .description("set environment config with key=value syntax")
13
14
  .before(requirePermissions_1.requirePermissions, [
14
15
  "runtimeconfig.configs.list",
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const clc = require("cli-color");
4
5
  const command_1 = require("../command");
5
6
  const logger_1 = require("../logger");
@@ -9,7 +10,7 @@ const functionsConfig = require("../functionsConfig");
9
10
  const runtimeconfig = require("../gcp/runtimeconfig");
10
11
  const utils = require("../utils");
11
12
  const error_1 = require("../error");
12
- exports.default = new command_1.Command("functions:config:unset [keys...]")
13
+ exports.command = new command_1.Command("functions:config:unset [keys...]")
13
14
  .description("unset environment config at the specified path(s)")
14
15
  .before(requirePermissions_1.requirePermissions, [
15
16
  "runtimeconfig.configs.list",
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const clc = require("cli-color");
4
5
  const functionsConfig = require("../functionsConfig");
5
6
  const command_1 = require("../command");
@@ -17,7 +18,7 @@ const fabricator = require("../deploy/functions/release/fabricator");
17
18
  const executor = require("../deploy/functions/release/executor");
18
19
  const reporter = require("../deploy/functions/release/reporter");
19
20
  const containerCleaner = require("../deploy/functions/containerCleaner");
20
- exports.default = new command_1.Command("functions:delete [filters...]")
21
+ exports.command = new command_1.Command("functions:delete [filters...]")
21
22
  .description("delete one or more Cloud Functions by name or group name.")
22
23
  .option("--region <region>", "Specify region of the function to be deleted. " +
23
24
  "If omitted, functions from all regions whose names match the filters will be deleted. ")
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const command_1 = require("../command");
4
5
  const projectUtils_1 = require("../projectUtils");
5
6
  const containerCleaner_1 = require("../deploy/functions/containerCleaner");
@@ -14,7 +15,7 @@ function getConfirmationMessage(paths) {
14
15
  message += "\nAre you sure?\n";
15
16
  return message;
16
17
  }
17
- exports.default = new command_1.Command("functions:deletegcfartifacts")
18
+ exports.command = new command_1.Command("functions:deletegcfartifacts")
18
19
  .description("Deletes all artifacts created by Google Cloud Functions on Google Container Registry.")
19
20
  .option("--regions <regions>", "Specify regions of artifacts to be deleted. " +
20
21
  "If omitted, artifacts from all regions will be deleted. " +
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const command_1 = require("../command");
4
5
  const error_1 = require("../error");
5
6
  const projectUtils_1 = require("../projectUtils");
@@ -7,7 +8,7 @@ const requirePermissions_1 = require("../requirePermissions");
7
8
  const backend = require("../deploy/functions/backend");
8
9
  const logger_1 = require("../logger");
9
10
  const Table = require("cli-table");
10
- exports.default = new command_1.Command("functions:list")
11
+ exports.command = new command_1.Command("functions:list")
11
12
  .description("list all deployed functions in your Firebase project")
12
13
  .before(requirePermissions_1.requirePermissions, ["cloudfunctions.functions.list"])
13
14
  .action(async (options) => {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const opn = require("open");
4
5
  const qs = require("querystring");
5
6
  const command_1 = require("../command");
@@ -8,7 +9,7 @@ const cloudlogging = require("../gcp/cloudlogging");
8
9
  const functionsLog = require("../functions/functionslog");
9
10
  const projectUtils_1 = require("../projectUtils");
10
11
  const requirePermissions_1 = require("../requirePermissions");
11
- module.exports = new command_1.Command("functions:log")
12
+ exports.command = new command_1.Command("functions:log")
12
13
  .description("read logs from deployed functions")
13
14
  .option("--only <function_names>", 'only show logs of specified, comma-seperated functions (e.g. "funcA,funcB")')
14
15
  .option("-n, --lines <num_lines>", "specify number of log lines to fetch")
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const command_1 = require("../command");
4
5
  const logger_1 = require("../logger");
5
6
  const projectUtils_1 = require("../projectUtils");
6
7
  const secretManager_1 = require("../gcp/secretManager");
7
- exports.default = new command_1.Command("functions:secrets:access <KEY>[@version]")
8
+ exports.command = new command_1.Command("functions:secrets:access <KEY>[@version]")
8
9
  .description("Access secret value given secret and its version. Defaults to accessing the latest version.")
9
10
  .action(async (key, options) => {
10
11
  const projectId = (0, projectUtils_1.needProjectId)(options);
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const command_1 = require("../command");
4
5
  const projectUtils_1 = require("../projectUtils");
5
6
  const secretManager_1 = require("../gcp/secretManager");
@@ -7,7 +8,7 @@ const prompt_1 = require("../prompt");
7
8
  const utils_1 = require("../utils");
8
9
  const secrets = require("../functions/secrets");
9
10
  const backend = require("../deploy/functions/backend");
10
- exports.default = new command_1.Command("functions:secrets:destroy <KEY>[@version]")
11
+ exports.command = new command_1.Command("functions:secrets:destroy <KEY>[@version]")
11
12
  .description("Destroy a secret. Defaults to destroying the latest version.")
12
13
  .withForce("Destroys a secret without confirmation.")
13
14
  .action(async (key, options) => {
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const Table = require("cli-table");
4
5
  const command_1 = require("../command");
5
6
  const logger_1 = require("../logger");
6
7
  const projectUtils_1 = require("../projectUtils");
7
8
  const secretManager_1 = require("../gcp/secretManager");
8
- exports.default = new command_1.Command("functions:secrets:get <KEY>")
9
+ exports.command = new command_1.Command("functions:secrets:get <KEY>")
9
10
  .description("Get metadata for secret and its versions")
10
11
  .action(async (key, options) => {
11
12
  const projectId = (0, projectUtils_1.needProjectId)(options);
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const backend = require("../deploy/functions/backend");
4
5
  const command_1 = require("../command");
5
6
  const projectUtils_1 = require("../projectUtils");
@@ -9,7 +10,7 @@ const deploymentTool_1 = require("../deploymentTool");
9
10
  const utils_1 = require("../utils");
10
11
  const prompt_1 = require("../prompt");
11
12
  const secretManager_1 = require("../gcp/secretManager");
12
- exports.default = new command_1.Command("functions:secrets:prune")
13
+ exports.command = new command_1.Command("functions:secrets:prune")
13
14
  .withForce("Destroys unused secrets without prompt")
14
15
  .description("Destroys unused secrets")
15
16
  .before(requirePermissions_1.requirePermissions, [
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const tty = require("tty");
4
5
  const fs = require("fs");
5
6
  const clc = require("cli-color");
@@ -12,7 +13,7 @@ const projectUtils_1 = require("../projectUtils");
12
13
  const secretManager_1 = require("../gcp/secretManager");
13
14
  const secrets = require("../functions/secrets");
14
15
  const backend = require("../deploy/functions/backend");
15
- exports.default = new command_1.Command("functions:secrets:set <KEY>")
16
+ exports.command = new command_1.Command("functions:secrets:set <KEY>")
16
17
  .description("Create or update a secret for use in Cloud Functions for Firebase.")
17
18
  .withForce("Automatically updates functions to use the new secret.")
18
19
  .before(requirePermissions_1.requirePermissions, [
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
- var { Command } = require("../command");
3
- var { requirePermissions } = require("../requirePermissions");
4
- var { actionFunction } = require("../functionsShellCommandAction");
5
- var { requireConfig } = require("../requireConfig");
6
- var commandUtils = require("../emulator/commandUtils");
7
- module.exports = new Command("functions:shell")
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
4
+ const command_1 = require("../command");
5
+ const requirePermissions_1 = require("../requirePermissions");
6
+ const functionsShellCommandAction_1 = require("../functionsShellCommandAction");
7
+ const requireConfig_1 = require("../requireConfig");
8
+ const commandUtils_1 = require("../emulator/commandUtils");
9
+ exports.command = new command_1.Command("functions:shell")
8
10
  .description("launch full Node shell with emulated functions")
9
11
  .option("-p, --port <port>", "the port on which to emulate functions")
10
- .option(commandUtils.FLAG_INSPECT_FUNCTIONS, commandUtils.DESC_INSPECT_FUNCTIONS)
11
- .before(requireConfig)
12
- .before(requirePermissions)
13
- .action(actionFunction);
12
+ .option(commandUtils_1.FLAG_INSPECT_FUNCTIONS, commandUtils_1.DESC_INSPECT_FUNCTIONS)
13
+ .before(requireConfig_1.requireConfig)
14
+ .before(requirePermissions_1.requirePermissions)
15
+ .action(functionsShellCommandAction_1.actionFunction);
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const clc = require("cli-color");
4
5
  const command_1 = require("../command");
5
6
  const logger_1 = require("../logger");
6
7
  const utils = require("../utils");
7
- exports.default = new command_1.Command("help [command]")
8
+ exports.command = new command_1.Command("help [command]")
8
9
  .description("display help information")
9
10
  .action(function (commandName) {
10
11
  const client = this.client;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const cli_color_1 = require("cli-color");
4
5
  const api_1 = require("../hosting/api");
5
6
  const command_1 = require("../command");
@@ -14,7 +15,7 @@ const requireConfig_1 = require("../requireConfig");
14
15
  const { marked } = require("marked");
15
16
  const requireHostingSite_1 = require("../requireHostingSite");
16
17
  const LOG_TAG = "hosting:channel";
17
- exports.default = new command_1.Command("hosting:channel:create [channelId]")
18
+ exports.command = new command_1.Command("hosting:channel:create [channelId]")
18
19
  .description("create a Firebase Hosting channel")
19
20
  .option("-e, --expires <duration>", "duration string (e.g. 12h or 30d) for channel expiration, max 30d")
20
21
  .option("--site <siteId>", "site for which to create the channel")
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const cli_color_1 = require("cli-color");
4
5
  const { marked } = require("marked");
5
6
  const command_1 = require("../command");
@@ -11,7 +12,7 @@ const requirePermissions_1 = require("../requirePermissions");
11
12
  const projectUtils_1 = require("../projectUtils");
12
13
  const requireConfig_1 = require("../requireConfig");
13
14
  const logger_1 = require("../logger");
14
- exports.default = new command_1.Command("hosting:channel:delete <channelId>")
15
+ exports.command = new command_1.Command("hosting:channel:delete <channelId>")
15
16
  .description("delete a Firebase Hosting channel")
16
17
  .withForce()
17
18
  .option("--site <siteId>", "site in which the channel exists")
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const cli_color_1 = require("cli-color");
4
5
  const command_1 = require("../command");
5
6
  const error_1 = require("../error");
@@ -15,7 +16,7 @@ const utils_1 = require("../utils");
15
16
  const { marked } = require("marked");
16
17
  const requireHostingSite_1 = require("../requireHostingSite");
17
18
  const LOG_TAG = "hosting:channel";
18
- exports.default = new command_1.Command("hosting:channel:deploy [channelId]")
19
+ exports.command = new command_1.Command("hosting:channel:deploy [channelId]")
19
20
  .description("deploy to a specific Firebase Hosting channel")
20
21
  .option("-e, --expires <duration>", "duration string (e.g. 12h, 30d) for channel expiration, max 30d; defaults to 7d")
21
22
  .option("--only <target1,target2...>", "only create previews for specified targets")
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const cli_color_1 = require("cli-color");
4
5
  const Table = require("cli-table");
5
6
  const api_1 = require("../hosting/api");
@@ -11,7 +12,7 @@ const requireConfig_1 = require("../requireConfig");
11
12
  const utils_1 = require("../utils");
12
13
  const requireHostingSite_1 = require("../requireHostingSite");
13
14
  const TABLE_HEAD = ["Channel ID", "Last Release Time", "URL", "Expire Time"];
14
- exports.default = new command_1.Command("hosting:channel:list")
15
+ exports.command = new command_1.Command("hosting:channel:list")
15
16
  .description("list all Firebase Hosting channels for your project")
16
17
  .option("--site <siteName>", "list channels for the specified site")
17
18
  .before(requireConfig_1.requireConfig)
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const lodash_1 = require("lodash");
4
5
  const cli_color_1 = require("cli-color");
5
6
  const open = require("open");
@@ -12,7 +13,7 @@ const requireConfig_1 = require("../requireConfig");
12
13
  const utils_1 = require("../utils");
13
14
  const prompt_1 = require("../prompt");
14
15
  const requireHostingSite_1 = require("../requireHostingSite");
15
- exports.default = new command_1.Command("hosting:channel:open [channelId]")
16
+ exports.command = new command_1.Command("hosting:channel:open [channelId]")
16
17
  .description("opens the URL for a Firebase Hosting channel")
17
18
  .help("if unable to open the URL in a browser, it will be displayed in the output")
18
19
  .option("--site <siteId>", "the site to which the channel belongs")
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const cli_color_1 = require("cli-color");
4
5
  const ora = require("ora");
5
6
  const command_1 = require("../command");
@@ -9,7 +10,7 @@ const utils = require("../utils");
9
10
  const requireAuth_1 = require("../requireAuth");
10
11
  const { marked } = require("marked");
11
12
  const logger_1 = require("../logger");
12
- exports.default = new command_1.Command("hosting:clone <source> <targetChannel>")
13
+ exports.command = new command_1.Command("hosting:clone <source> <targetChannel>")
13
14
  .description("clone a version from one site to another")
14
15
  .before(requireAuth_1.requireAuth)
15
16
  .action(async (source = "", targetChannel = "") => {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const clc = require("cli-color");
4
5
  const apiv2_1 = require("../apiv2");
5
6
  const command_1 = require("../command");
@@ -8,7 +9,7 @@ const prompt_1 = require("../prompt");
8
9
  const requireHostingSite_1 = require("../requireHostingSite");
9
10
  const requirePermissions_1 = require("../requirePermissions");
10
11
  const utils = require("../utils");
11
- exports.default = new command_1.Command("hosting:disable")
12
+ exports.command = new command_1.Command("hosting:disable")
12
13
  .description("stop serving web traffic to your Firebase Hosting site")
13
14
  .option("-f, --force", "skip confirmation")
14
15
  .option("-s, --site <siteName>", "the site to disable")
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const cli_color_1 = require("cli-color");
4
5
  const utils_1 = require("../utils");
5
6
  const command_1 = require("../command");
@@ -10,7 +11,7 @@ const requirePermissions_1 = require("../requirePermissions");
10
11
  const projectUtils_1 = require("../projectUtils");
11
12
  const logger_1 = require("../logger");
12
13
  const LOG_TAG = "hosting:sites";
13
- exports.default = new command_1.Command("hosting:sites:create [siteId]")
14
+ exports.command = new command_1.Command("hosting:sites:create [siteId]")
14
15
  .description("create a Firebase Hosting site")
15
16
  .option("--app <appId>", "specify an existing Firebase Web App ID")
16
17
  .before(requirePermissions_1.requirePermissions, ["firebasehosting.sites.update"])
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const cli_color_1 = require("cli-color");
4
5
  const command_1 = require("../command");
5
6
  const utils_1 = require("../utils");
@@ -11,7 +12,7 @@ const projectUtils_1 = require("../projectUtils");
11
12
  const requireConfig_1 = require("../requireConfig");
12
13
  const logger_1 = require("../logger");
13
14
  const LOG_TAG = "hosting:sites";
14
- exports.default = new command_1.Command("hosting:sites:delete <siteId>")
15
+ exports.command = new command_1.Command("hosting:sites:delete <siteId>")
15
16
  .description("delete a Firebase Hosting site")
16
17
  .withForce()
17
18
  .before(requireConfig_1.requireConfig)
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const Table = require("cli-table");
4
5
  const command_1 = require("../command");
5
6
  const api_1 = require("../hosting/api");
@@ -7,7 +8,7 @@ const requirePermissions_1 = require("../requirePermissions");
7
8
  const projectUtils_1 = require("../projectUtils");
8
9
  const logger_1 = require("../logger");
9
10
  const error_1 = require("../error");
10
- exports.default = new command_1.Command("hosting:sites:get <siteId>")
11
+ exports.command = new command_1.Command("hosting:sites:get <siteId>")
11
12
  .description("print info about a Firebase Hosting site")
12
13
  .before(requirePermissions_1.requirePermissions, ["firebasehosting.sites.get"])
13
14
  .action(async (siteId, options) => {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.command = void 0;
3
4
  const cli_color_1 = require("cli-color");
4
5
  const Table = require("cli-table");
5
6
  const command_1 = require("../command");
@@ -8,7 +9,7 @@ const requirePermissions_1 = require("../requirePermissions");
8
9
  const projectUtils_1 = require("../projectUtils");
9
10
  const logger_1 = require("../logger");
10
11
  const TABLE_HEAD = ["Site ID", "Default URL", "App ID (if set)"];
11
- exports.default = new command_1.Command("hosting:sites:list")
12
+ exports.command = new command_1.Command("hosting:sites:list")
12
13
  .description("list Firebase Hosting sites")
13
14
  .before(requirePermissions_1.requirePermissions, ["firebasehosting.sites.get"])
14
15
  .action(async (options) => {
@@ -1,14 +1,19 @@
1
1
  "use strict";
2
- const previews = require("../previews").previews;
3
- module.exports = function (client) {
4
- var loadCommand = function (name) {
5
- var cmd = require("./" + name);
6
- if (cmd.default) {
7
- cmd = cmd.default;
8
- }
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.load = void 0;
4
+ const previews_1 = require("../previews");
5
+ function load(client) {
6
+ function loadCommand(name) {
7
+ const t0 = process.hrtime.bigint();
8
+ const { command: cmd } = require(`./${name}`);
9
9
  cmd.register(client);
10
+ const t1 = process.hrtime.bigint();
11
+ const diffMS = (t1 - t0) / BigInt(1e6);
12
+ if (diffMS > 75) {
13
+ }
10
14
  return cmd.runner();
11
- };
15
+ }
16
+ const t0 = process.hrtime.bigint();
12
17
  client.appdistribution = {};
13
18
  client.appdistribution.distribute = loadCommand("appdistribution-distribute");
14
19
  client.appdistribution.testers = {};
@@ -37,7 +42,7 @@ module.exports = function (client) {
37
42
  client.database.profile = loadCommand("database-profile");
38
43
  client.database.push = loadCommand("database-push");
39
44
  client.database.remove = loadCommand("database-remove");
40
- if (previews.rtdbrules) {
45
+ if (previews_1.previews.rtdbrules) {
41
46
  client.database.rules = {};
42
47
  client.database.rules.get = loadCommand("database-rules-get");
43
48
  client.database.rules.list = loadCommand("database-rules-list");
@@ -66,11 +71,11 @@ module.exports = function (client) {
66
71
  client.ext.list = loadCommand("ext-list");
67
72
  client.ext.uninstall = loadCommand("ext-uninstall");
68
73
  client.ext.update = loadCommand("ext-update");
69
- if (previews.ext) {
74
+ if (previews_1.previews.ext) {
70
75
  client.ext.sources = {};
71
76
  client.ext.sources.create = loadCommand("ext-sources-create");
72
77
  }
73
- if (previews.extdev) {
78
+ if (previews_1.previews.extdev) {
74
79
  client.ext.dev = {};
75
80
  client.ext.dev.init = loadCommand("ext-dev-init");
76
81
  client.ext.dev.list = loadCommand("ext-dev-list");
@@ -99,7 +104,7 @@ module.exports = function (client) {
99
104
  client.functions.log = loadCommand("functions-log");
100
105
  client.functions.shell = loadCommand("functions-shell");
101
106
  client.functions.list = loadCommand("functions-list");
102
- if (previews.deletegcfartifacts) {
107
+ if (previews_1.previews.deletegcfartifacts) {
103
108
  client.functions.deletegcfartifacts = loadCommand("functions-deletegcfartifacts");
104
109
  }
105
110
  client.functions.secrets = {};
@@ -153,5 +158,10 @@ module.exports = function (client) {
153
158
  client.target.clear = loadCommand("target-clear");
154
159
  client.target.remove = loadCommand("target-remove");
155
160
  client.use = loadCommand("use");
161
+ const t1 = process.hrtime.bigint();
162
+ const diffMS = (t1 - t0) / BigInt(1e6);
163
+ if (diffMS > 100) {
164
+ }
156
165
  return client;
157
- };
166
+ }
167
+ exports.load = load;