9023ed3ef9
humanizer 2.2.0 -> 2.9.1 (blader/humanizer, MIT): adds a Voice Calibration section and a passive-voice pattern, reworks negative parallelisms and em dashes. Version moved to metadata.version upstream. impeccable 3.6.0 -> 4.0.4 (pbakaus/impeccable, Apache-2.0): the repo tags the skill and the npm CLI separately, so 3.6.0 was a real release and npm's 3.5.0 was never the comparison. Adds native-platform reference briefs. Each now carries an UPSTREAM file; bin/check-vendored.sh reports drift.
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
class TargetArgError extends Error {
|
|
constructor(message, code) {
|
|
super(message);
|
|
this.name = 'TargetArgError';
|
|
this.code = code;
|
|
}
|
|
}
|
|
|
|
export function parseTargetPath(args = [], { strict = false } = {}) {
|
|
let targetPath = null;
|
|
for (let i = 0; i < args.length; i++) {
|
|
const arg = String(args[i]);
|
|
if (arg === '--target' || arg === '-t') {
|
|
const next = args[i + 1];
|
|
if (next && !String(next).startsWith('-')) {
|
|
targetPath = String(next);
|
|
i++;
|
|
continue;
|
|
}
|
|
if (strict) {
|
|
throw new TargetArgError('--target requires a path value.', 'TARGET_VALUE_MISSING');
|
|
}
|
|
continue;
|
|
}
|
|
if (arg.startsWith('--target=')) {
|
|
const value = arg.slice('--target='.length);
|
|
if (value) {
|
|
targetPath = value;
|
|
continue;
|
|
}
|
|
if (strict) {
|
|
throw new TargetArgError('--target requires a path value.', 'TARGET_VALUE_MISSING');
|
|
}
|
|
}
|
|
}
|
|
return targetPath;
|
|
}
|
|
|
|
export function parseTargetOptions(args = [], options = {}) {
|
|
const targetPath = parseTargetPath(args, options);
|
|
return targetPath ? { targetPath } : {};
|
|
}
|