firebase-tools 13.5.2 → 13.6.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 (116) hide show
  1. package/lib/accountExporter.js +1 -1
  2. package/lib/accountImporter.js +1 -1
  3. package/lib/api.js +112 -58
  4. package/lib/apiv2.js +3 -1
  5. package/lib/appdistribution/client.js +4 -4
  6. package/lib/apphosting/config.js +31 -0
  7. package/lib/apphosting/githubConnections.js +261 -0
  8. package/lib/{init/features/apphosting → apphosting}/index.js +26 -22
  9. package/lib/{init/features/apphosting → apphosting}/repo.js +25 -13
  10. package/lib/apphosting/secrets/dialogs.js +169 -0
  11. package/lib/apphosting/secrets/index.js +98 -0
  12. package/lib/auth.js +17 -17
  13. package/lib/commands/apphosting-backends-create.js +4 -2
  14. package/lib/commands/apphosting-backends-delete.js +1 -1
  15. package/lib/commands/apphosting-secrets-describe.js +29 -0
  16. package/lib/commands/apphosting-secrets-grantaccess.js +45 -0
  17. package/lib/commands/apphosting-secrets-set.js +102 -0
  18. package/lib/commands/functions-secrets-access.js +2 -2
  19. package/lib/commands/functions-secrets-describe.js +14 -0
  20. package/lib/commands/functions-secrets-destroy.js +2 -2
  21. package/lib/commands/functions-secrets-get.js +3 -17
  22. package/lib/commands/functions-secrets-prune.js +2 -1
  23. package/lib/commands/functions-secrets-set.js +2 -2
  24. package/lib/commands/hosting-disable.js +1 -1
  25. package/lib/commands/index.js +5 -0
  26. package/lib/commands/open.js +1 -1
  27. package/lib/database/metadata.js +3 -3
  28. package/lib/defaultCredentials.js +2 -2
  29. package/lib/deploy/extensions/v2FunctionHelper.js +1 -1
  30. package/lib/deploy/functions/build.js +1 -1
  31. package/lib/deploy/functions/checkIam.js +3 -6
  32. package/lib/deploy/functions/containerCleaner.js +5 -15
  33. package/lib/deploy/functions/deploy.js +8 -2
  34. package/lib/deploy/functions/ensure.js +1 -1
  35. package/lib/deploy/functions/params.js +2 -2
  36. package/lib/deploy/functions/prepare.js +16 -7
  37. package/lib/deploy/functions/release/fabricator.js +8 -8
  38. package/lib/deploy/functions/runtimes/discovery/index.js +2 -2
  39. package/lib/deploy/functions/runtimes/index.js +6 -43
  40. package/lib/deploy/functions/runtimes/node/index.js +3 -2
  41. package/lib/deploy/functions/runtimes/node/parseRuntimeAndValidateSDK.js +15 -34
  42. package/lib/deploy/functions/runtimes/node/parseTriggers.js +2 -2
  43. package/lib/deploy/functions/runtimes/python/index.js +11 -7
  44. package/lib/deploy/functions/runtimes/supported.js +135 -0
  45. package/lib/deploy/hosting/uploader.js +1 -1
  46. package/lib/deploy/index.js +1 -1
  47. package/lib/deploy/remoteconfig/functions.js +1 -1
  48. package/lib/emulator/adminSdkConfig.js +1 -1
  49. package/lib/emulator/controller.js +8 -1
  50. package/lib/emulator/downloadableEmulators.js +6 -6
  51. package/lib/emulator/functionsEmulator.js +2 -2
  52. package/lib/emulator/hub.js +5 -0
  53. package/lib/ensureApiEnabled.js +1 -1
  54. package/lib/extensions/emulator/specHelper.js +4 -3
  55. package/lib/extensions/extensionsApi.js +5 -5
  56. package/lib/extensions/extensionsHelper.js +4 -4
  57. package/lib/extensions/provisioningHelper.js +2 -2
  58. package/lib/extensions/publishHelpers.js +1 -1
  59. package/lib/extensions/publisherApi.js +3 -3
  60. package/lib/extensions/resolveSource.js +1 -1
  61. package/lib/extensions/secretsUtils.js +1 -1
  62. package/lib/extensions/tos.js +1 -1
  63. package/lib/fetchMOTD.js +1 -1
  64. package/lib/fetchWebSetup.js +2 -2
  65. package/lib/firestore/api-sort.js +17 -0
  66. package/lib/firestore/api.js +9 -2
  67. package/lib/firestore/checkDatabaseType.js +1 -1
  68. package/lib/firestore/delete.js +1 -1
  69. package/lib/firestore/pretty-print.js +11 -2
  70. package/lib/functional.js +2 -2
  71. package/lib/functions/secrets.js +42 -24
  72. package/lib/functionsConfig.js +1 -1
  73. package/lib/gcp/apphosting.js +17 -4
  74. package/lib/gcp/artifactregistry.js +1 -1
  75. package/lib/gcp/auth.js +1 -1
  76. package/lib/gcp/cloudbilling.js +1 -1
  77. package/lib/gcp/cloudbuild.js +8 -4
  78. package/lib/gcp/cloudfunctions.js +6 -6
  79. package/lib/gcp/cloudfunctionsv2.js +4 -4
  80. package/lib/gcp/cloudlogging.js +1 -1
  81. package/lib/gcp/cloudmonitoring.js +1 -1
  82. package/lib/gcp/cloudscheduler.js +3 -3
  83. package/lib/gcp/cloudtasks.js +1 -1
  84. package/lib/gcp/computeEngine.js +7 -0
  85. package/lib/gcp/devConnect.js +45 -22
  86. package/lib/gcp/eventarc.js +1 -1
  87. package/lib/gcp/firestore.js +2 -2
  88. package/lib/gcp/iam.js +11 -3
  89. package/lib/gcp/identityPlatform.js +1 -1
  90. package/lib/gcp/pubsub.js +1 -1
  91. package/lib/gcp/resourceManager.js +2 -1
  92. package/lib/gcp/rules.js +1 -1
  93. package/lib/gcp/run.js +1 -1
  94. package/lib/gcp/runtimeconfig.js +1 -1
  95. package/lib/gcp/secretManager.js +54 -14
  96. package/lib/gcp/serviceusage.js +21 -5
  97. package/lib/gcp/storage.js +12 -8
  98. package/lib/hosting/api.js +2 -2
  99. package/lib/hosting/cloudRunProxy.js +1 -1
  100. package/lib/init/features/database.js +1 -1
  101. package/lib/init/features/extensions/index.js +1 -1
  102. package/lib/init/features/functions/index.js +2 -2
  103. package/lib/init/features/functions/python.js +4 -3
  104. package/lib/init/features/hosting/github.js +4 -3
  105. package/lib/init/features/index.js +1 -1
  106. package/lib/management/apps.js +4 -4
  107. package/lib/management/database.js +1 -1
  108. package/lib/management/projects.js +4 -4
  109. package/lib/remoteconfig/get.js +1 -1
  110. package/lib/remoteconfig/rollback.js +1 -1
  111. package/lib/remoteconfig/versionslist.js +1 -1
  112. package/lib/shortenUrl.js +2 -2
  113. package/lib/utils.js +1 -1
  114. package/package.json +1 -1
  115. package/schema/firebase-config.json +12 -2
  116. /package/lib/{init/features/apphosting → apphosting}/constants.js +0 -0
@@ -23,5 +23,5 @@ var remoteconfig_1 = require("./remoteconfig");
23
23
  Object.defineProperty(exports, "remoteconfig", { enumerable: true, get: function () { return remoteconfig_1.doSetup; } });
24
24
  var github_1 = require("./hosting/github");
25
25
  Object.defineProperty(exports, "hostingGithub", { enumerable: true, get: function () { return github_1.initGitHub; } });
26
- var apphosting_1 = require("./apphosting");
26
+ var apphosting_1 = require("../../apphosting");
27
27
  Object.defineProperty(exports, "apphosting", { enumerable: true, get: function () { return apphosting_1.doSetup; } });
@@ -40,7 +40,7 @@ function getAppPlatform(platform) {
40
40
  }
41
41
  }
42
42
  exports.getAppPlatform = getAppPlatform;
43
- const apiClient = new apiv2_1.Client({ urlPrefix: api_1.firebaseApiOrigin, apiVersion: "v1beta1" });
43
+ const apiClient = new apiv2_1.Client({ urlPrefix: (0, api_1.firebaseApiOrigin)(), apiVersion: "v1beta1" });
44
44
  async function createIosApp(projectId, options) {
45
45
  try {
46
46
  const response = await apiClient.request({
@@ -51,7 +51,7 @@ async function createIosApp(projectId, options) {
51
51
  });
52
52
  const appData = await (0, operation_poller_1.pollOperation)({
53
53
  pollerName: "Create iOS app Poller",
54
- apiOrigin: api_1.firebaseApiOrigin,
54
+ apiOrigin: (0, api_1.firebaseApiOrigin)(),
55
55
  apiVersion: "v1beta1",
56
56
  operationResourceName: response.body.name,
57
57
  });
@@ -73,7 +73,7 @@ async function createAndroidApp(projectId, options) {
73
73
  });
74
74
  const appData = await (0, operation_poller_1.pollOperation)({
75
75
  pollerName: "Create Android app Poller",
76
- apiOrigin: api_1.firebaseApiOrigin,
76
+ apiOrigin: (0, api_1.firebaseApiOrigin)(),
77
77
  apiVersion: "v1beta1",
78
78
  operationResourceName: response.body.name,
79
79
  });
@@ -98,7 +98,7 @@ async function createWebApp(projectId, options) {
98
98
  });
99
99
  const appData = await (0, operation_poller_1.pollOperation)({
100
100
  pollerName: "Create Web app Poller",
101
- apiOrigin: api_1.firebaseApiOrigin,
101
+ apiOrigin: (0, api_1.firebaseApiOrigin)(),
102
102
  apiVersion: "v1beta1",
103
103
  operationResourceName: response.body.name,
104
104
  });
@@ -31,7 +31,7 @@ var DatabaseLocation;
31
31
  DatabaseLocation["ASIA_SOUTHEAST1"] = "asia-southeast1";
32
32
  DatabaseLocation["ANY"] = "-";
33
33
  })(DatabaseLocation = exports.DatabaseLocation || (exports.DatabaseLocation = {}));
34
- const apiClient = new apiv2_1.Client({ urlPrefix: api_1.rtdbManagementOrigin, apiVersion: exports.MGMT_API_VERSION });
34
+ const apiClient = new apiv2_1.Client({ urlPrefix: (0, api_1.rtdbManagementOrigin)(), apiVersion: exports.MGMT_API_VERSION });
35
35
  async function populateInstanceDetails(options) {
36
36
  options.instanceDetails = await getDatabaseInstanceDetails(options.project, options.instance);
37
37
  return Promise.resolve();
@@ -35,7 +35,7 @@ exports.PROJECTS_CREATE_QUESTIONS = [
35
35
  },
36
36
  ];
37
37
  const firebaseAPIClient = new apiv2_1.Client({
38
- urlPrefix: api.firebaseApiOrigin,
38
+ urlPrefix: api.firebaseApiOrigin(),
39
39
  auth: true,
40
40
  apiVersion: "v1beta1",
41
41
  });
@@ -171,7 +171,7 @@ async function promptAvailableProjectId() {
171
171
  exports.promptAvailableProjectId = promptAvailableProjectId;
172
172
  async function createCloudProject(projectId, options) {
173
173
  try {
174
- const client = new apiv2_1.Client({ urlPrefix: api.resourceManagerOrigin, apiVersion: "v1" });
174
+ const client = new apiv2_1.Client({ urlPrefix: api.resourceManagerOrigin(), apiVersion: "v1" });
175
175
  const data = {
176
176
  projectId,
177
177
  name: options.displayName || projectId,
@@ -185,7 +185,7 @@ async function createCloudProject(projectId, options) {
185
185
  });
186
186
  const projectInfo = await (0, operation_poller_1.pollOperation)({
187
187
  pollerName: "Project Creation Poller",
188
- apiOrigin: api.resourceManagerOrigin,
188
+ apiOrigin: api.resourceManagerOrigin(),
189
189
  apiVersion: "v1",
190
190
  operationResourceName: response.body.name,
191
191
  });
@@ -216,7 +216,7 @@ async function addFirebaseToCloudProject(projectId) {
216
216
  });
217
217
  const projectInfo = await (0, operation_poller_1.pollOperation)({
218
218
  pollerName: "Add Firebase Poller",
219
- apiOrigin: api.firebaseApiOrigin,
219
+ apiOrigin: api.firebaseApiOrigin(),
220
220
  apiVersion: "v1beta1",
221
221
  operationResourceName: response.body.name,
222
222
  });
@@ -8,7 +8,7 @@ const error_1 = require("../error");
8
8
  const TIMEOUT = 30000;
9
9
  const MAX_DISPLAY_ITEMS = 50;
10
10
  const apiClient = new apiv2_1.Client({
11
- urlPrefix: api_1.remoteConfigApiOrigin,
11
+ urlPrefix: (0, api_1.remoteConfigApiOrigin)(),
12
12
  apiVersion: "v1",
13
13
  });
14
14
  function parseTemplateForTable(templateItems) {
@@ -4,7 +4,7 @@ exports.rollbackTemplate = void 0;
4
4
  const api_1 = require("../api");
5
5
  const apiv2_1 = require("../apiv2");
6
6
  const apiClient = new apiv2_1.Client({
7
- urlPrefix: api_1.remoteConfigApiOrigin,
7
+ urlPrefix: (0, api_1.remoteConfigApiOrigin)(),
8
8
  apiVersion: "v1",
9
9
  });
10
10
  const TIMEOUT = 30000;
@@ -6,7 +6,7 @@ const apiv2_1 = require("../apiv2");
6
6
  const error_1 = require("../error");
7
7
  const logger_1 = require("../logger");
8
8
  const apiClient = new apiv2_1.Client({
9
- urlPrefix: api_1.remoteConfigApiOrigin,
9
+ urlPrefix: (0, api_1.remoteConfigApiOrigin)(),
10
10
  apiVersion: "v1",
11
11
  });
12
12
  const TIMEOUT = 30000;
package/lib/shortenUrl.js CHANGED
@@ -6,13 +6,13 @@ const apiv2_1 = require("./apiv2");
6
6
  const api_1 = require("./api");
7
7
  const DYNAMIC_LINKS_PREFIX = "https://firebase.tools/l";
8
8
  const apiClient = new apiv2_1.Client({
9
- urlPrefix: api_1.dynamicLinksOrigin,
9
+ urlPrefix: (0, api_1.dynamicLinksOrigin)(),
10
10
  auth: false,
11
11
  apiVersion: "v1",
12
12
  });
13
13
  async function shortenUrl(url, guessable = false) {
14
14
  try {
15
- const response = await apiClient.post(`shortLinks?key=${api_1.dynamicLinksKey}`, {
15
+ const response = await apiClient.post(`shortLinks?key=${(0, api_1.dynamicLinksKey)()}`, {
16
16
  dynamicLinkInfo: {
17
17
  link: url,
18
18
  domainUriPrefix: DYNAMIC_LINKS_PREFIX,
package/lib/utils.js CHANGED
@@ -27,7 +27,7 @@ const THIRTY_DAYS_IN_MILLISECONDS = 30 * 24 * 60 * 60 * 1000;
27
27
  exports.envOverrides = [];
28
28
  function consoleUrl(project, path) {
29
29
  const api = require("./api");
30
- return `${api.consoleOrigin}/project/${project}${path}`;
30
+ return `${api.consoleOrigin()}/project/${project}${path}`;
31
31
  }
32
32
  exports.consoleUrl = consoleUrl;
33
33
  function getInheritedOption(options, key) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "firebase-tools",
3
- "version": "13.5.2",
3
+ "version": "13.6.1",
4
4
  "description": "Command-Line Interface for Firebase",
5
5
  "main": "./lib/index.js",
6
6
  "bin": {
@@ -622,7 +622,12 @@
622
622
  "nodejs14",
623
623
  "nodejs16",
624
624
  "nodejs18",
625
- "nodejs20"
625
+ "nodejs20",
626
+ "nodejs6",
627
+ "nodejs8",
628
+ "python310",
629
+ "python311",
630
+ "python312"
626
631
  ],
627
632
  "type": "string"
628
633
  },
@@ -678,7 +683,12 @@
678
683
  "nodejs14",
679
684
  "nodejs16",
680
685
  "nodejs18",
681
- "nodejs20"
686
+ "nodejs20",
687
+ "nodejs6",
688
+ "nodejs8",
689
+ "python310",
690
+ "python311",
691
+ "python312"
682
692
  ],
683
693
  "type": "string"
684
694
  },