@fazetitans/fscopy 1.0.1 → 1.1.1
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.
- package/README.md +21 -1
- package/package.json +1 -1
- package/src/cli.ts +298 -1377
package/README.md
CHANGED
|
@@ -33,10 +33,14 @@ Transfer documents between Firebase projects with support for subcollections, fi
|
|
|
33
33
|
- **Webhook notifications** - Send Slack, Discord, or custom webhooks on completion
|
|
34
34
|
- **Resume transfers** - Continue interrupted transfers from saved state
|
|
35
35
|
- **Interactive mode** - Guided setup with prompts for project and collection selection
|
|
36
|
-
- **Progress bar** - Real-time progress with ETA
|
|
36
|
+
- **Progress bar** - Real-time progress with speed (docs/s) and ETA
|
|
37
37
|
- **Automatic retry** - Exponential backoff on network errors
|
|
38
38
|
- **Dry run mode** - Preview changes before applying (enabled by default)
|
|
39
39
|
- **Flexible config** - INI, JSON, or CLI arguments
|
|
40
|
+
- **Rate limiting** - Control transfer speed to avoid quota issues
|
|
41
|
+
- **Size validation** - Skip oversized documents (>1MB)
|
|
42
|
+
- **JSON output** - Machine-readable output for CI/CD pipelines
|
|
43
|
+
- **Post-transfer verification** - Verify document counts after transfer
|
|
40
44
|
|
|
41
45
|
## Installation
|
|
42
46
|
|
|
@@ -158,6 +162,18 @@ fscopy -f config.ini --webhook https://hooks.slack.com/services/...
|
|
|
158
162
|
|
|
159
163
|
# Resume an interrupted transfer
|
|
160
164
|
fscopy -f config.ini --resume
|
|
165
|
+
|
|
166
|
+
# Verify document counts after transfer
|
|
167
|
+
fscopy -f config.ini --verify
|
|
168
|
+
|
|
169
|
+
# Rate limit to 100 docs/second (avoid quota issues)
|
|
170
|
+
fscopy -f config.ini --rate-limit 100
|
|
171
|
+
|
|
172
|
+
# Skip documents larger than 1MB
|
|
173
|
+
fscopy -f config.ini --skip-oversized
|
|
174
|
+
|
|
175
|
+
# JSON output for CI/CD pipelines
|
|
176
|
+
fscopy -f config.ini --json
|
|
161
177
|
```
|
|
162
178
|
|
|
163
179
|
### Collection Renaming
|
|
@@ -364,6 +380,10 @@ fscopy --init config.json
|
|
|
364
380
|
| `--webhook` | | string | | Webhook URL for notifications |
|
|
365
381
|
| `--resume` | | boolean | `false` | Resume from saved state |
|
|
366
382
|
| `--state-file` | | string | `.fscopy-state.json` | State file path |
|
|
383
|
+
| `--verify` | | boolean | `false` | Verify counts after transfer |
|
|
384
|
+
| `--rate-limit` | | number | `0` | Limit docs/second (0 = unlimited) |
|
|
385
|
+
| `--skip-oversized` | | boolean | `false` | Skip documents > 1MB |
|
|
386
|
+
| `--json` | | boolean | `false` | JSON output for CI/CD |
|
|
367
387
|
|
|
368
388
|
## How It Works
|
|
369
389
|
|
package/package.json
CHANGED