Skip to content

Releases: dalenguyen/firestore-backup-restore

v1.7.0

Choose a tag to compare

@dalenguyen dalenguyen released this 14 Jul 15:56

What's changed

Bug fixes

  • #153 initializeFirebaseApp now returns the correct named Firebase app when one already exists. Previously, calls with a custom name argument silently returned the default app's Firestore instance if any app was already initialized.
  • #136 Restored timestamps now preserve nanosecond precision. makeTime returns Firestore.Timestamp instead of Date.
  • #50, #83 dates, geos, and refs import options now correctly traverse arrays of objects at any depth.
  • makeGeoPoint no longer returns null for coordinates equal to 0 (the falsy-coord bug).

New features

  • #18 Restore writes are now batched (500 docs per commit) instead of one-at-a-time. 10k-doc restores drop from minutes to seconds.
  • #19 New clearCollection import option deletes target collections before restore.
  • #103 New includeSubcollections export option (default: true) — set to false to skip subcollection traversal.
  • #121 showLogs: true now works on export (backup, backups, backupFromDoc).
  • dryRun import option — preview what clearCollection would delete and how many docs would be written, without touching Firestore.

Internal

  • restoreService rewritten from Promise constructor pattern to async/await.
  • traverseObjects replaced with a new applyToPath helper that uniformly handles nested objects and arrays.
  • Updated to firebase-admin v13, Vitest, Vite (already shipped via the modernization PRs).

Acknowledgments

Thanks to @eudanielhenrique for splitting the original mega-PR (#169) into three reviewable chunks and addressing review feedback on console.warn hot-path concerns, recursiveDelete atomicity, and the dryRun mode for clearCollection.


See CHANGELOG.md for the full history.

v1.6.0

Choose a tag to compare

@dalenguyen dalenguyen released this 15 Feb 04:06
2ff4747

[1.6.0] - 2025-02-14

- 💅 [Polish]

  • Migrated build system to Vite
  • Added dual ESM/CJS module support
  • Improved minification using esbuild
  • Removed manual minification process
  • Fix #167

v1.5.0

Choose a tag to compare

@dalenguyen dalenguyen released this 01 Jan 21:22
0233b1f

[1.5.0] - 2025-01-01

- 💅 [Polish]

  • update packages & github actions
  • migrate from mocha to vitest

v1.5.0

Choose a tag to compare

@dalenguyen dalenguyen released this 01 Jan 21:24
95a0b78

[1.5.0] - 2025-01-01

- 💅 [Polish]

  • update packages & github actions
  • migrate from mocha to vitest

v1.5.0

Choose a tag to compare

@dalenguyen dalenguyen released this 01 Jan 21:20
b116fe8

[1.5.0] - 2025-01-01

- 💅 [Polish]

  • update packages & github actions
  • migrate from mocha to vitest

v1.4.0

Choose a tag to compare

@dalenguyen dalenguyen released this 30 Jul 15:36
235de03

[1.4.0] - 2023-07-30

- 💥 [Breaking Change]

  • passing firestore as a parameter (#153)

- 💅 [Polish]

  • update packages

v1.3.5

Choose a tag to compare

@dalenguyen dalenguyen released this 28 Oct 09:27
385c45a

[1.3.5] - 2022-10-28

- 🐛 [Bug Fix]

  • fix unable to get subCollection data if setting queryCollection in export options (thank @leoleelf)

v1.3.4

Choose a tag to compare

@dalenguyen dalenguyen released this 10 Oct 14:33
80edd17

[1.3.4] - 2022-10-09

- 🐛 [Bug Fix]

  • fix import link & use commonjs

v1.3.0

Choose a tag to compare

@dalenguyen dalenguyen released this 09 Oct 23:45

[1.3.0] - 2022-10-09

- 💅 [Polish]

  • turn the package to use es module
  • update packages

v1.2.1-1

Choose a tag to compare

@dalenguyen dalenguyen released this 24 Aug 19:48

[1.2.1] - 2022-08-24

- 💅 [Polish]

  • update packages
  • utilize pnpm instead of yarn