Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ jobs:
matrix:
node-version: [20.x, 22.x, 24.x, 25.x]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
- run: npm ci || npm install
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ If the goal is to back up an entire database en masse, this simple Node.js scrip
- `index.js`: The main entry point and CLI wrapper. Uses `commander` to parse arguments and define commands for backing up, restoring, auditing (`list`), and testing restores.
- `lib/cmd.js`: Helper functions for parsing command line arguments and extracting things like Google Cloud project IDs and bucket names.
- `lib/datastore-backup.js`: Core programmatic logic that interfaces with `@google-cloud/datastore` to execute export operations and execute validation commands via `gcloud`.
- `test/`: Contains the test suite files (currently using Mocha + Should). Tests validate configuration parsing and command generation.
- `test/`: Contains the test suite files (Vitest). Tests validate configuration parsing and command generation.
Comment thread
eschultink marked this conversation as resolved.
- `examples/`: Example configuration files like `backup-schedule.json`.

## Technical Details

- **Dependencies**: Uses `@google-cloud/datastore` for interacting with the Google Cloud Datastore API and executes some `gcloud` CLI commands via `child_process.execSync` for testing and restoration outputs.
- **Testing**: Test suite verifies the core configuration logic but does not automatically hit live GCP endpoints unless explicitly configured.
- **Testing**: Vitest (`npm test`) verifies the core configuration logic but does not automatically hit live GCP endpoints unless explicitly configured.
- **CI**: There is a GitHub Actions workflow that runs standard `npm test` checks.
1 change: 1 addition & 0 deletions lib/cmd.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
require('colors');

const _ = require('lodash');
const child_process = require('child_process');
Expand Down
Loading
Loading