From 5256f745e248b8406adeacb85ad9f53e4e9493ae Mon Sep 17 00:00:00 2001 From: Sam Stern Date: Fri, 21 Dec 2018 08:05:51 -0800 Subject: [PATCH] Re-fix issue 495 --- changelog.txt | 1 + src/firestore/indexes.ts | 4 ++-- src/test/firestore/indexes.spec.ts | 8 ++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/changelog.txt b/changelog.txt index e69de29b..ba96189c 100644 --- a/changelog.txt +++ b/changelog.txt @@ -0,0 +1 @@ +fixed - Firestore Indexes deploy no longer crashes on an empty spec. \ No newline at end of file diff --git a/src/firestore/indexes.ts b/src/firestore/indexes.ts index b9714f9a..97240136 100644 --- a/src/firestore/indexes.ts +++ b/src/firestore/indexes.ts @@ -453,8 +453,8 @@ export class FirestoreIndexes { fieldOverrides: spec.fieldOverrides || [], }; - if (!spec.indexes) { - return; + if (!(spec.indexes && spec.indexes.length > 0)) { + return result; } // Try to detect use of the old API, warn the users. diff --git a/src/test/firestore/indexes.spec.ts b/src/test/firestore/indexes.spec.ts index a9df9783..0c32d538 100644 --- a/src/test/firestore/indexes.spec.ts +++ b/src/test/firestore/indexes.spec.ts @@ -40,6 +40,14 @@ describe("IndexValidation", () => { expect(upgraded).to.eql(VALID_SPEC); }); + it("should accept an empty spec", () => { + const empty = { + indexes: [], + }; + + idx.validateSpec(idx.upgradeOldSpec(empty)); + }); + it("should accept a valid v1beta1 index spec after upgrade", () => { idx.validateSpec( idx.upgradeOldSpec({