Add --base meta-argument to set prev/pend/deltas as subdirs
This commit is contained in:
@@ -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]);
|
||||
|
||||
Reference in New Issue
Block a user