Add --base meta-argument to set prev/pend/deltas as subdirs

This commit is contained in:
2026-03-07 01:30:06 +00:00
parent 96e3024991
commit e999fca352
2 changed files with 13 additions and 3 deletions

View File

@@ -3,6 +3,7 @@
* CLI args always win. Required paths are validated here.
*/
import { readFile } from 'fs/promises';
import { join } from 'path';
const REQUIRED_PATHS = ['source', 'prev', 'pend', 'deltas'];
const DEFAULTS = {
@@ -25,6 +26,13 @@ export async function loadConfig(args) {
// CLI args override file config, file config overrides defaults
const config = { ...DEFAULTS, ...fileConfig, ...filterDefined(args) };
// Expand --base into --prev/--pend/--deltas, explicit flags take priority
if (config.base) {
config.prev ??= join(config.base, 'previous');
config.pend ??= join(config.base, 'pending');
config.deltas ??= join(config.base, 'deltas');
}
// Guard: refuse to run if any required path is missing
if (config.command === 'run') {
const missing = REQUIRED_PATHS.filter(k => !config[k]);