firebase-tools 13.8.3 → 13.9.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.
@@ -88,7 +88,7 @@ exports.ALL_EXPERIMENTS = experiments({
88
88
  },
89
89
  apphosting: {
90
90
  shortDescription: "Allow CLI option for Frameworks",
91
- default: false,
91
+ default: true,
92
92
  public: false,
93
93
  },
94
94
  dataconnect: {
@@ -99,6 +99,7 @@ exports.ALL_EXPERIMENTS = experiments({
99
99
  genkit: {
100
100
  shortDescription: "Enable Genkit related features.",
101
101
  fullDescription: "Enable Genkit related features.",
102
+ default: true,
102
103
  public: false,
103
104
  },
104
105
  });
@@ -10,7 +10,6 @@ const logger_1 = require("./logger");
10
10
  const utils = require("./utils");
11
11
  const scopes = require("./scopes");
12
12
  const auth_1 = require("./auth");
13
- const monospace_1 = require("./monospace");
14
13
  const AUTH_ERROR_MESSAGE = `Command requires authentication, please run ${clc.bold("firebase login")}`;
15
14
  let authClient;
16
15
  function getAuthClient(config) {
@@ -32,13 +31,6 @@ async function autoAuth(options, authScopes) {
32
31
  catch (e) {
33
32
  logger_1.logger.debug(`Error getting account credentials.`);
34
33
  }
35
- if (!options.isVSCE && (0, monospace_1.isMonospaceEnv)()) {
36
- await (0, monospace_1.selectProjectInMonospace)({
37
- projectRoot: options.config.projectDir,
38
- project: options.project,
39
- isVSCE: options.isVSCE,
40
- });
41
- }
42
34
  return clientEmail;
43
35
  }
44
36
  async function requireAuth(options) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "firebase-tools",
3
- "version": "13.8.3",
3
+ "version": "13.9.0",
4
4
  "description": "Command-Line Interface for Firebase",
5
5
  "main": "./lib/index.js",
6
6
  "bin": {
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMonospaceEnv = exports.selectProjectInMonospace = void 0;
4
- const node_fetch_1 = require("node-fetch");
5
- const error_1 = require("../error");
6
- const logger_1 = require("../logger");
7
- const rc_1 = require("../rc");
8
- const POLL_USER_RESPONSE_MILLIS = 2000;
9
- async function selectProjectInMonospace({ projectRoot, project, isVSCE, }) {
10
- const initFirebaseResponse = await initFirebase(project);
11
- if (initFirebaseResponse.success === false) {
12
- throw new Error(String(initFirebaseResponse.error));
13
- }
14
- const { rid } = initFirebaseResponse;
15
- const authorizedProject = await pollAuthorizedProject(rid);
16
- if (!authorizedProject)
17
- return null;
18
- if (isVSCE)
19
- return authorizedProject;
20
- if (projectRoot)
21
- createFirebaseRc(projectRoot, authorizedProject);
22
- }
23
- exports.selectProjectInMonospace = selectProjectInMonospace;
24
- async function pollAuthorizedProject(rid) {
25
- const getInitFirebaseRes = await getInitFirebaseResponse(rid);
26
- if ("userResponse" in getInitFirebaseRes) {
27
- if (getInitFirebaseRes.userResponse.success) {
28
- return getInitFirebaseRes.userResponse.projectId;
29
- }
30
- return null;
31
- }
32
- const { error } = getInitFirebaseRes;
33
- if (error === "WAITING_FOR_RESPONSE") {
34
- await new Promise((res) => setTimeout(res, POLL_USER_RESPONSE_MILLIS));
35
- return pollAuthorizedProject(rid);
36
- }
37
- if (error === "USER_CANCELED") {
38
- throw new error_1.FirebaseError("User canceled without authorizing any project");
39
- }
40
- throw new error_1.FirebaseError(`Unhandled /get-init-firebase-response error`, {
41
- original: new Error(error),
42
- });
43
- }
44
- async function initFirebase(project) {
45
- const port = getMonospaceDaemonPort();
46
- if (!port)
47
- throw new error_1.FirebaseError("Undefined MONOSPACE_DAEMON_PORT");
48
- const initFirebaseURL = new URL(`http://localhost:${port}/init-firebase`);
49
- if (project) {
50
- initFirebaseURL.searchParams.set("known_project", project);
51
- }
52
- const initFirebaseRes = await (0, node_fetch_1.default)(initFirebaseURL.toString(), {
53
- method: "POST",
54
- headers: {
55
- "Content-Type": "application/json",
56
- },
57
- });
58
- const initFirebaseResponse = (await initFirebaseRes.json());
59
- return initFirebaseResponse;
60
- }
61
- async function getInitFirebaseResponse(rid) {
62
- const port = getMonospaceDaemonPort();
63
- if (!port)
64
- throw new error_1.FirebaseError("Undefined MONOSPACE_DAEMON_PORT");
65
- const getInitFirebaseRes = await (0, node_fetch_1.default)(`http://localhost:${port}/get-init-firebase-response?rid=${rid}`);
66
- const getInitFirebaseJson = (await getInitFirebaseRes.json());
67
- logger_1.logger.debug(`/get-init-firebase-response?rid=${rid} response:`);
68
- logger_1.logger.debug(getInitFirebaseJson);
69
- return getInitFirebaseJson;
70
- }
71
- function createFirebaseRc(projectDir, authorizedProject) {
72
- const firebaseRc = (0, rc_1.loadRC)({ cwd: projectDir });
73
- firebaseRc.addProjectAlias("default", authorizedProject);
74
- return firebaseRc.save();
75
- }
76
- function isMonospaceEnv() {
77
- return getMonospaceDaemonPort() !== undefined;
78
- }
79
- exports.isMonospaceEnv = isMonospaceEnv;
80
- function getMonospaceDaemonPort() {
81
- return process.env.MONOSPACE_DAEMON_PORT;
82
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });