Skip to content

Commit 2c6ca7e

Browse files
authored
Merge pull request #2487 from firebase/next
Release: 22nd July 2025 gen-schema-view firestore-translate-text storage-resize-images
2 parents 59fb1e1 + 7dcd2f4 commit 2c6ca7e

File tree

25 files changed

+7838
-13290
lines changed

25 files changed

+7838
-13290
lines changed

firestore-bigquery-export/firestore-bigquery-change-tracker/package-lock.json

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

firestore-bigquery-export/guides/GENERATE_SCHEMA_VIEWS.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ The `fs-bq-schema-views` script creates richly-typed BigQuery views from your ra
1313
- Preserves all raw data (no data loss due to schema mismatches)
1414
- Supports complex Firestore data types like arrays, maps, and geopoints
1515

16+
### AI-powered schema generation with Genkit
17+
18+
This extension uses the [Genkit SDK](https://genkit.dev/) to power AI-based schema generation for Firestore data.
19+
20+
For more information about Genkit, visit the Genkit documentation at [genkit.dev](http://genkit.dev/).
21+
1622
## Prerequisites
1723

1824
1. Node.js installed (to run npm and npx commands)

firestore-bigquery-export/scripts/gen-schema-view/package-lock.json

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

firestore-bigquery-export/scripts/gen-schema-view/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"scripts": {
1212
"build": "npm run clean && npm run compile",
1313
"clean": "rimraf ./lib",
14-
"compile": "tsc && cp -r src/__tests__/fixtures lib/__tests__",
14+
"compile": "tsc && copyfiles \"src/__tests__/fixtures/**/*\" lib/__tests__",
1515
"gen-schema-views": "node ./lib/index.js",
1616
"prepare": "npm run build",
1717
"test": "jest"
@@ -32,14 +32,14 @@
3232
"license": "Apache-2.0",
3333
"dependencies": {
3434
"@firebaseextensions/firestore-bigquery-change-tracker": "^1.1.40",
35-
"@genkit-ai/googleai": "^1.1.0",
35+
"@genkit-ai/googleai": "^1.14.1",
3636
"@google-cloud/bigquery": "^6.0.3",
3737
"commander": "5.0.0",
3838
"firebase-admin": "^12.1.0",
3939
"firebase-functions": "^4.2.0",
4040
"fs-find": "^0.4.0",
4141
"generate-schema": "^2.6.0",
42-
"genkit": "^1.1.0",
42+
"genkit": "^1.14.1",
4343
"glob": "7.1.5",
4444
"inquirer": "^6.4.0",
4545
"sql-formatter": "^2.3.3"
@@ -51,6 +51,7 @@
5151
"@types/inquirer": "^9.0.7",
5252
"@types/jest": "29.5.0",
5353
"chai": "^4.2.0",
54+
"copyfiles": "^2.4.1",
5455
"exec": "^0.2.1",
5556
"jest": "29.5.0",
5657
"mocked-env": "^1.3.2",

firestore-bigquery-export/scripts/gen-schema-view/src/__tests__/genkit/sampleFirestoreDocuments.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ jest.mock("../../schema/genkit", () => {
9999
};
100100
});
101101

102-
describe.skip("sampleFirestoreDocuments", () => {
102+
describe("sampleFirestoreDocuments", () => {
103103
it("should sample documents from Firestore collection", async () => {
104104
const collectionPath = "test-collection";
105105
const sampleSize = 2;

firestore-bigquery-export/scripts/gen-schema-view/src/schema/genkit.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import type { CliConfig } from "../config";
1818
import firebase = require("firebase-admin");
1919
import { genkit, z } from "genkit";
20-
import { googleAI, gemini20Flash } from "@genkit-ai/googleai";
20+
import { googleAI } from "@genkit-ai/googleai";
2121
import * as fs from "fs";
2222
import * as path from "path";
2323
import inquirer from "inquirer";
@@ -226,7 +226,7 @@ export const generateSchemaFilesWithGemini = async (config: CliConfig) => {
226226

227227
// prompt gemini with sample data to generate a schema file
228228
const { text } = await ai.generate({
229-
model: gemini20Flash,
229+
model: googleAI.model("gemini-2.5-flash"),
230230
prompt,
231231
output: {
232232
format: "json",

0 commit comments

Comments
 (0)