- package.json (ESM, bin entry) - bin/delta-backup.js — entrypoint - lib/args.js — CLI arg parsing via Node parseArgs - lib/config.js — config file merging + required path guards - lib/spawn.js — safe process spawning (no shell strings) - lib/state.js — sequence number + phase state management - lib/backends/zstd.js — zstd delta backend - lib/backends/index.js — backend registry - lib/commands/run.js — full run skeleton (phases 1-3 wired, 4-6 stubbed) - lib/commands/status.js — status command
29 lines
759 B
JavaScript
29 lines
759 B
JavaScript
/**
|
|
* status command — show current state.
|
|
*/
|
|
import { readState, PHASES } from '../state.js';
|
|
|
|
export async function statusCommand(config) {
|
|
const { deltas } = config;
|
|
|
|
if (!deltas) {
|
|
console.error('Error: --deltas required for status command');
|
|
process.exit(1);
|
|
}
|
|
|
|
const state = await readState(deltas);
|
|
|
|
console.log('\ndelta-backup status');
|
|
console.log('='.repeat(40));
|
|
console.log(` Last complete seq: ${state.last_complete}`);
|
|
console.log(` Next seq: ${state.next_seq}`);
|
|
console.log(` Current phase: ${state.phase}`);
|
|
|
|
if (state.phase !== PHASES.IDLE) {
|
|
console.log('\n ⚠ Previous run did not complete cleanly.');
|
|
console.log(' Run with same options to recover.');
|
|
}
|
|
|
|
console.log('');
|
|
}
|