firebase-tools 15.5.0 → 15.5.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.
package/lib/apiv2.js CHANGED
@@ -352,8 +352,14 @@ class Client {
352
352
  const logURL = this.requestURL(options);
353
353
  logger_1.logger.debug(`>>> [apiv2][query] ${options.method} ${logURL} ${queryParamsLog}`);
354
354
  const headers = options.headers;
355
- if (headers && headers.has(GOOG_QUOTA_USER_HEADER)) {
356
- logger_1.logger.debug(`>>> [apiv2][(partial)header] ${options.method} ${logURL} x-goog-quota-user=${headers.get(GOOG_QUOTA_USER_HEADER) || ""}`);
355
+ if (headers && (headers.has(GOOG_QUOTA_USER_HEADER) || headers.has(GOOG_USER_PROJECT_HEADER))) {
356
+ const userHeader = headers.has(GOOG_QUOTA_USER_HEADER)
357
+ ? `${GOOG_QUOTA_USER_HEADER}=${headers.get(GOOG_QUOTA_USER_HEADER)}`
358
+ : "";
359
+ const projectHeader = headers.has(GOOG_USER_PROJECT_HEADER)
360
+ ? `${GOOG_USER_PROJECT_HEADER}=${headers.get(GOOG_USER_PROJECT_HEADER)}`
361
+ : "";
362
+ logger_1.logger.debug(`>>> [apiv2][(partial)header] ${options.method} ${logURL} ${userHeader} ${projectHeader}`);
357
363
  }
358
364
  if (options.body !== undefined) {
359
365
  let logBody = "[omitted]";
@@ -190,7 +190,7 @@ async function ensureAppHostingComputeServiceAccount(projectId, serviceAccount)
190
190
  const sa = serviceAccount || defaultComputeServiceAccountEmail(projectId);
191
191
  const name = `projects/${projectId}/serviceAccounts/${sa}`;
192
192
  try {
193
- await iam.testResourceIamPermissions((0, api_1.iamOrigin)(), "v1", name, ["iam.serviceAccounts.actAs"], `projects/${projectId}`);
193
+ await iam.testResourceIamPermissions((0, api_1.iamOrigin)(), "v1", name, ["iam.serviceAccounts.actAs"], `${projectId}`);
194
194
  }
195
195
  catch (err) {
196
196
  if (!(err instanceof error_1.FirebaseError)) {
@@ -27,7 +27,7 @@ async function check(projectId, apiUri, prefix, silent = false) {
27
27
  return true;
28
28
  }
29
29
  const res = await apiClient.get(`/projects/${projectId}/services/${apiName}`, {
30
- headers: { "x-goog-user-project": `projects/${projectId}` },
30
+ headers: { "x-goog-user-project": `${projectId}` },
31
31
  skipLog: { resBody: true },
32
32
  });
33
33
  const isEnabled = res.body.state === "ENABLED";
@@ -45,7 +45,7 @@ function isPermissionError(e) {
45
45
  async function enable(projectId, apiName) {
46
46
  try {
47
47
  await apiClient.post(`/projects/${projectId}/services/${apiName}:enable`, undefined, {
48
- headers: { "x-goog-user-project": `projects/${projectId}` },
48
+ headers: { "x-goog-user-project": `${projectId}` },
49
49
  skipLog: { resBody: true },
50
50
  });
51
51
  cacheEnabledAPI(projectId, apiName);
package/lib/gcp/iam.js CHANGED
@@ -78,7 +78,7 @@ async function testResourceIamPermissions(origin, apiVersion, resourceName, perm
78
78
  };
79
79
  }
80
80
  async function testIamPermissions(projectId, permissions) {
81
- return testResourceIamPermissions((0, api_1.resourceManagerOrigin)(), "v1", `projects/${projectId}`, permissions, `projects/${projectId}`);
81
+ return testResourceIamPermissions((0, api_1.resourceManagerOrigin)(), "v1", `projects/${projectId}`, permissions, `${projectId}`);
82
82
  }
83
83
  function mergeBindings(policy, requiredBindings) {
84
84
  let updated = false;
@@ -22,7 +22,7 @@ const serviceUsagePollerOptions = {
22
22
  async function generateServiceIdentity(projectNumber, service, prefix) {
23
23
  utils.logLabeledBullet(prefix, `generating the service identity for ${(0, colorette_1.bold)(service)}...`);
24
24
  try {
25
- const res = await exports.apiClient.post(`projects/${projectNumber}/services/${service}:generateServiceIdentity`, {}, { headers: { "x-goog-user-project": `projects/${projectNumber}` } });
25
+ const res = await exports.apiClient.post(`projects/${projectNumber}/services/${service}:generateServiceIdentity`, {}, { headers: { "x-goog-user-project": `${projectNumber}` } });
26
26
  return res.body;
27
27
  }
28
28
  catch (err) {
@@ -39,6 +39,6 @@ async function generateServiceIdentityAndPoll(projectNumber, service, prefix) {
39
39
  await poller.pollOperation({
40
40
  ...serviceUsagePollerOptions,
41
41
  operationResourceName: op.name,
42
- headers: { "x-goog-user-project": `projects/${projectNumber}` },
42
+ headers: { "x-goog-user-project": `${projectNumber}` },
43
43
  });
44
44
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "firebase-tools",
3
- "version": "15.5.0",
3
+ "version": "15.5.1",
4
4
  "description": "Command-Line Interface for Firebase",
5
5
  "main": "./lib/index.js",
6
6
  "mcpName": "io.github.firebase/firebase-mcp",