Skip to content

Commit 9fb6ee1

Browse files
authored
Merge branch 'master' into pr-remote-src-pr2-master
2 parents 5d53070 + d68aa33 commit 9fb6ee1

File tree

6 files changed

+31
-31
lines changed

6 files changed

+31
-31
lines changed

.github/workflows/node-test.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ jobs:
4848
node-version:
4949
- "20"
5050
- "22"
51+
- "24"
5152
steps:
5253
- uses: actions/checkout@v4
5354
- uses: actions/setup-node@v3
@@ -153,6 +154,7 @@ jobs:
153154
node-version:
154155
- "20"
155156
- "22"
157+
- "24"
156158
steps:
157159
- uses: actions/checkout@v4
158160
- uses: actions/setup-node@v3
@@ -301,7 +303,6 @@ jobs:
301303
matrix:
302304
node-version:
303305
- "20"
304-
- "22"
305306

306307
steps:
307308
- uses: actions/checkout@v4
@@ -321,7 +322,6 @@ jobs:
321322
matrix:
322323
node-version:
323324
- "20"
324-
- "22"
325325

326326
steps:
327327
- uses: actions/checkout@v4
@@ -341,7 +341,6 @@ jobs:
341341
matrix:
342342
node-version:
343343
- "20"
344-
- "22"
345344

346345
steps:
347346
- uses: actions/checkout@v4

CHANGELOG.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +0,0 @@
1-
- Fixed a crash during parallel deployments when buildConfig is empty (#9455)
2-
- [Added] support for new google-genai plugin during `init genkit` (#8957)
3-
- Updated to v2.17.1 of the Data Connect emulator, which fixes an admin SDK bug for operation without argument #9449 (#9454).
4-
- Fixed "Precondition failed" error when updating GCFv2 functions in a FAILED state without code changes.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Firebase CLI and MCP Server [![Actions Status][gh-actions-badge]][gh-actions] [![Node Version][node-badge]][npm] [![NPM version][npm-badge]][npm] [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=firebase&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImZpcmViYXNlLXRvb2xzIiwiZXhwZXBpbWVudGFsOm1jcCIsIi0tZGlyIiwiLiJdfQ==)
1+
# Firebase CLI and MCP Server [![Actions Status][gh-actions-badge]][gh-actions] [![Node Version][node-badge]][npm] [![NPM version][npm-badge]][npm] [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=firebase&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImZpcmViYXNlLXRvb2xzIiwibWNwIiwiLS1kaXIiLCIuIl19)
22

33
The Firebase Command Line Interface (CLI) Tools can be used to test, manage, and deploy your Firebase project from the command line. This repository is also the home of the official Firebase MCP Server. For more information, please see the [Firebase MCP Server documentation](./src/mcp).
44

npm-shrinkwrap.json

Lines changed: 12 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "firebase-tools",
3-
"version": "14.24.2",
3+
"version": "14.25.0",
44
"description": "Command-Line Interface for Firebase",
55
"main": "./lib/index.js",
66
"bin": {
@@ -72,7 +72,7 @@
7272
],
7373
"preferGlobal": true,
7474
"engines": {
75-
"node": ">=20.0.0 || >=22.0.0"
75+
"node": ">=20.0.0 || >=22.0.0 || >=24.0.0"
7676
},
7777
"author": "Firebase (https://firebase.google.com/)",
7878
"license": "MIT",
@@ -165,7 +165,7 @@
165165
"sql-formatter": "^15.3.0",
166166
"stream-chain": "^2.2.4",
167167
"stream-json": "^1.7.3",
168-
"superstatic": "^9.2.0",
168+
"superstatic": "^10.0.0",
169169
"tar": "^6.1.11",
170170
"tcp-port-used": "^1.0.2",
171171
"tmp": "^0.2.3",

src/config.spec.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as path from "path";
22
import * as fs from "fs";
3+
import * as os from "os";
34

45
import { expect } from "chai";
56

@@ -78,17 +79,26 @@ describe("Config", () => {
7879
});
7980

8081
describe("functions.source", () => {
82+
let tmpDir: string;
83+
84+
beforeEach(() => {
85+
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "firebase-test"));
86+
});
87+
88+
afterEach(() => {
89+
if (tmpDir) {
90+
fs.rmSync(tmpDir, { recursive: true, force: true });
91+
}
92+
});
93+
8194
it("injects default source when default dir exists but source is missing", () => {
82-
const tmpDir = fs.mkdtempSync("firebase-test");
8395
fs.mkdirSync(path.join(tmpDir, Config.DEFAULT_FUNCTIONS_SOURCE));
8496

8597
const cfg = new Config({ functions: {} }, { cwd: tmpDir, projectDir: tmpDir });
8698
expect(cfg.get("functions.source")).to.be.equal("functions");
8799
});
88100

89101
it("does not injects default source when default dir is missing", () => {
90-
const tmpDir = fs.mkdtempSync("firebase-test");
91-
92102
const cfg = new Config(
93103
{ functions: { runtime: "nodejs20" } },
94104
{ cwd: tmpDir, projectDir: tmpDir },
@@ -97,7 +107,6 @@ describe("Config", () => {
97107
});
98108

99109
it("does not inject source for remoteSource", () => {
100-
const tmpDir = fs.mkdtempSync("firebase-test");
101110
fs.mkdirSync(path.join(tmpDir, Config.DEFAULT_FUNCTIONS_SOURCE));
102111

103112
const cfg = new Config(
@@ -113,7 +122,6 @@ describe("Config", () => {
113122
});
114123

115124
it("injects into the first empty entry only when default dir exists", () => {
116-
const tmpDir = fs.mkdtempSync("firebase-test");
117125
fs.mkdirSync(path.join(tmpDir, Config.DEFAULT_FUNCTIONS_SOURCE));
118126

119127
const cfg = new Config(
@@ -136,7 +144,6 @@ describe("Config", () => {
136144
});
137145

138146
it("injects only one entry when multiple are empty", () => {
139-
const tmpDir = fs.mkdtempSync("firebase-test");
140147
fs.mkdirSync(path.join(tmpDir, Config.DEFAULT_FUNCTIONS_SOURCE));
141148

142149
const cfg = new Config(
@@ -152,7 +159,6 @@ describe("Config", () => {
152159
});
153160

154161
it("does not inject when no entry is empty", () => {
155-
const tmpDir = fs.mkdtempSync("firebase-test");
156162
fs.mkdirSync(path.join(tmpDir, Config.DEFAULT_FUNCTIONS_SOURCE));
157163

158164
const cfg = new Config(
@@ -173,8 +179,6 @@ describe("Config", () => {
173179
});
174180

175181
it("does not inject for arrays when default dir is missing", () => {
176-
const tmpDir = fs.mkdtempSync("firebase-test");
177-
178182
const cfg = new Config(
179183
{
180184
functions: [{}, { source: "something" }],

0 commit comments

Comments
 (0)