@boneskull/bargs 3.4.0 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -8
- package/dist/bargs.cjs +25 -1
- package/dist/bargs.cjs.map +1 -1
- package/dist/bargs.d.cts.map +1 -1
- package/dist/bargs.d.ts.map +1 -1
- package/dist/bargs.js +25 -1
- package/dist/bargs.js.map +1 -1
- package/dist/help.cjs +23 -6
- package/dist/help.cjs.map +1 -1
- package/dist/help.d.cts.map +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +23 -6
- package/dist/help.js.map +1 -1
- package/dist/opt.cjs +26 -0
- package/dist/opt.cjs.map +1 -1
- package/dist/opt.d.cts.map +1 -1
- package/dist/opt.d.ts.map +1 -1
- package/dist/opt.js +26 -0
- package/dist/opt.js.map +1 -1
- package/dist/parser.cjs +69 -3
- package/dist/parser.cjs.map +1 -1
- package/dist/parser.d.cts.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +69 -3
- package/dist/parser.js.map +1 -1
- package/dist/types.d.cts +17 -3
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.ts +17 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/opt.cjs
CHANGED
|
@@ -15,19 +15,45 @@ const errors_js_1 = require("./errors.cjs");
|
|
|
15
15
|
/**
|
|
16
16
|
* Validate that no alias conflicts exist in a merged options schema.
|
|
17
17
|
*
|
|
18
|
+
* Checks for:
|
|
19
|
+
*
|
|
20
|
+
* - Duplicate aliases across options
|
|
21
|
+
* - Aliases that conflict with canonical option names
|
|
22
|
+
* - Aliases that conflict with auto-generated boolean negation names
|
|
23
|
+
* (--no-<name>)
|
|
24
|
+
*
|
|
18
25
|
* @function
|
|
19
26
|
*/
|
|
20
27
|
const validateAliasConflicts = (schema) => {
|
|
21
28
|
const aliasToOption = new Map();
|
|
29
|
+
const canonicalNames = new Set(Object.keys(schema));
|
|
30
|
+
// Collect auto-generated boolean negation names (--no-<name>)
|
|
31
|
+
const booleanNegations = new Set();
|
|
32
|
+
for (const [name, def] of Object.entries(schema)) {
|
|
33
|
+
if (def.type === 'boolean') {
|
|
34
|
+
booleanNegations.add(`no-${name}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
22
37
|
for (const [optionName, def] of Object.entries(schema)) {
|
|
23
38
|
if (!def.aliases) {
|
|
24
39
|
continue;
|
|
25
40
|
}
|
|
26
41
|
for (const alias of def.aliases) {
|
|
42
|
+
// Check for duplicate aliases
|
|
27
43
|
const existing = aliasToOption.get(alias);
|
|
28
44
|
if (existing && existing !== optionName) {
|
|
29
45
|
throw new errors_js_1.BargsError(`Alias conflict: "-${alias}" is used by both "--${existing}" and "--${optionName}"`);
|
|
30
46
|
}
|
|
47
|
+
// Check for conflicts with canonical option names
|
|
48
|
+
if (canonicalNames.has(alias)) {
|
|
49
|
+
throw new errors_js_1.BargsError(`Alias conflict: "--${alias}" conflicts with an existing option name`);
|
|
50
|
+
}
|
|
51
|
+
// Check for conflicts with auto-generated boolean negations
|
|
52
|
+
if (booleanNegations.has(alias)) {
|
|
53
|
+
// alias is "no-<name>", so extract the original option name
|
|
54
|
+
const originalOption = alias.replace(/^no-/, '');
|
|
55
|
+
throw new errors_js_1.BargsError(`Alias conflict: "--${alias}" conflicts with auto-generated boolean negation for "--${originalOption}"`);
|
|
56
|
+
}
|
|
31
57
|
aliasToOption.set(alias, optionName);
|
|
32
58
|
}
|
|
33
59
|
}
|
package/dist/opt.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAsBH,4CAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAsBH,4CAAyC;AAEzC;;;;;;;;;;;GAWG;AACH,MAAM,sBAAsB,GAAG,CAAC,MAAqB,EAAQ,EAAE;IAC7D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpD,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,gBAAgB,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChC,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACxC,MAAM,IAAI,sBAAU,CAClB,qBAAqB,KAAK,wBAAwB,QAAQ,YAAY,UAAU,GAAG,CACpF,CAAC;YACJ,CAAC;YACD,kDAAkD;YAClD,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,sBAAU,CAClB,sBAAsB,KAAK,0CAA0C,CACtE,CAAC;YACJ,CAAC;YACD,4DAA4D;YAC5D,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,4DAA4D;gBAC5D,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjD,MAAM,IAAI,sBAAU,CAClB,sBAAsB,KAAK,2DAA2D,cAAc,GAAG,CACxG,CAAC;YACJ,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAyCF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,GAAG,CAClB,MAAS,EAC+B,EAAE;IAC1C,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE/B,4BAA4B;IAC5B;;OAEG;IACH,MAAM,MAAM,GAAG,CACb,MAAsB,EACY,EAAE;QACpC,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,MAAM,EAAE,CAAC;QAC9D,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAErC,+CAA+C;QAC/C,MAAM,WAAW,GAAG,MAEnB,CAAC;QACF,MAAM,MAAM,GAAG;YACb,GAAG,MAAM;YACT,OAAO,EAAE,QAAiB;YAC1B,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,EAA0B;SACrC,CAAC;QACF,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAkC,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAC5E,CAAC;QACD,OAAO,MAA0C,CAAC;IACpD,CAAC,CAAC;IAEF,wCAAwC;IACxC,MAAM,WAAW,GAAyC;QACxD,OAAO,EAAE,QAAQ;QACjB,eAAe,EAAE,MAAM;QACvB,aAAa,EAAE,EAAW;QAC1B,mBAAmB,EAAE,EAAE;QACvB,QAAQ,EAAE,EAAqB;KAChC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAEvC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACU,QAAA,GAAG,GAAG;IACjB,sEAAsE;IAEtE;;;;;;;;;;;;;OAaG;IACH,KAAK,EAAE,CAAC,CACN,cAAuD,EACvD,QAA6C,EAAE,EACR,EAAE;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,aAAa;YACb,OAAO;gBACL,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAE,OAAO;gBACb,GAAG,KAAK;aACkB,CAAC;QAC/B,CAAC;QACD,kBAAkB;QAClB,OAAO;YACL,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,OAAO;YACb,GAAG,KAAK;SACM,CAAC;IACnB,CAAC,CAWA;IAED;;;;OAIG;IACH,OAAO,EAAE,CAGP,QAAW,EAAO,EACC,EAAE,CACrB,CAAC;QACC,IAAI,EAAE,SAAS;QACf,GAAG,KAAK;KACT,CAAsB;IAEzB;;;;OAIG;IACH,KAAK,EAAE,CAAC,QAAmC,EAAE,EAAe,EAAE,CAAC,CAAC;QAC9D,IAAI,EAAE,OAAO;QACb,GAAG,KAAK;KACT,CAAC;IAEF;;;;OAIG;IACH,IAAI,EAAE,CAOJ,OAAU,EACV,QAAW,EAAO,EACS,EAAE,CAC7B,CAAC;QACC,OAAO;QACP,IAAI,EAAE,MAAM;QACZ,GAAG,KAAK;KACT,CAA8B;IAEjC;;;;OAIG;IACH,OAAO,EAAE,CAOP,OAAU,EACV,QAAW,EAAO,EACa,EAAE,CACjC,CAAC;QACC,OAAO;QACP,IAAI,EAAE,MAAM;QACZ,GAAG,KAAK;KACT,CAAkC;IAErC;;;;OAIG;IACH,MAAM,EAAE,CACN,QAAW,EAAO,EACA,EAAE,CACpB,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,GAAG,KAAK;KACT,CAAqB;IAExB;;;;OAIG;IACH,SAAS,EAAE,CAGT,QAAW,EAAO,EACI,EAAE,CACxB,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,GAAG,KAAK;KACT,CAAyB;IAE5B;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,WAAW;IAEpB;;;;OAIG;IACH,MAAM,EAAE,CACN,QAAW,EAAO,EACA,EAAE,CACpB,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,GAAG,KAAK;KACT,CAAqB;IAExB;;;;OAIG;IACH,SAAS,EAAE,CAGT,QAAW,EAAO,EACI,EAAE,CACxB,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,GAAG,KAAK;KACT,CAAyB;IAE5B;;;;OAIG;IACH,QAAQ,EAAE,CACR,KAA0B,EAC1B,QAAoD,EAAE,EAClC,EAAE,CAAC,CAAC;QACxB,KAAK;QACL,IAAI,EAAE,UAAU;QAChB,GAAG,KAAK;KACT,CAAC;CACH,CAAC;AA6CF;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,CACtB,GAAG,WAAc,EAC+B,EAAE;IAClD,6EAA6E;IAC7E;;OAEG;IACH,MAAM,MAAM,GAAG,CACb,MAAsB,EACgC,EAAE;QACxD,+CAA+C;QAC/C,MAAM,WAAW,GAAG,MAEnB,CAAC;QACF,MAAM,MAAM,GAAG;YACb,GAAG,MAAM;YACT,OAAO,EAAE,QAAiB;YAC1B,aAAa,EAAE,EAAyD;YACxE,mBAAmB,EAAE,CAAC,GAAG,MAAM,CAAC,mBAAmB,EAAE,GAAG,WAAW,CAAC;SACrE,CAAC;QACF,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAkC,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAC5E,CAAC;QACD,OAAO,MAA8D,CAAC;IACxE,CAAC,CAAC;IAEF,wCAAwC;IACxC,wFAAwF;IACxF,MAAM,WAAW,GAAwC;QACvD,OAAO,EAAE,QAAQ;QACjB,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,EAAoC;QACnD,mBAAmB,EAAE,WAAW;QAChC,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAEvC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACU,QAAA,GAAG,GAAG;IACjB;;;;OAIG;IACH,IAAI,EAAE,CAOJ,OAAU,EACV,QAAW,EAAO,EACa,EAAE,CACjC,CAAC;QACC,OAAO;QACP,IAAI,EAAE,MAAM;QACZ,GAAG,KAAK;KACT,CAAkC;IAErC;;;;OAIG;IACH,MAAM,EAAE,CAGN,QAAW,EAAO,EACI,EAAE,CACxB,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,GAAG,KAAK;KACT,CAAyB;IAE5B;;;;;;;;;;;;OAYG;IACH,WAAW,EAAE,eA2BZ;IAED;;;;OAIG;IACH,MAAM,EAAE,CAGN,QAAW,EAAO,EACI,EAAE,CACxB,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,GAAG,KAAK;KACT,CAAyB;IAE5B;;;;OAIG;IACH,QAAQ,EAAE,CACR,KAA0B,EAC1B,QAAoD,EAAE,EAClC,EAAE,CAAC,CAAC;QACxB,KAAK;QACL,IAAI,EAAE,UAAU;QAChB,GAAG,KAAK;KACT,CAAC;CACH,CAAC"}
|
package/dist/opt.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,aAAa,EAEb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EACnB,oBAAmB;
|
|
1
|
+
{"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,aAAa,EAEb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EACnB,oBAAmB;AA4DpB;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,SAAS,OAAO,EAAE,EACxE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACnB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GACtB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAEzB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC7B,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,CAAC,GACpC,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,GAC3C,CAAC,GACD,KAAK,CAAC;AA2Dd;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,GAAG;IAGd;;;;;;;;;;;;;OAaG;WAmBG;QAEJ,CACE,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAC1B,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC,GAC1C,WAAW,CAAC;QAEf,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAChC,OAAO,EAAE,CAAC,EACV,KAAK,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,GAC3D,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/B;IAED;;;;OAIG;cAED,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,wCAE9B,CAAC,KACP,aAAa,GAAG,CAAC;IAMpB;;;;OAIG;oBACY,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,KAAQ,WAAW;IAK3D;;;;OAIG;iBAEK,CAAC,SAAS,SAAS,MAAM,EAAE,EACjC,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,6DAKhD,CAAC,UACH,CAAC,KACP,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;IAO5B;;;;OAIG;oBAEK,CAAC,SAAS,SAAS,MAAM,EAAE,EACjC,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,iEAKpD,CAAC,UACH,CAAC,KACP,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;IAOhC;;;;OAIG;aACM,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,uCACpC,CAAC,KACP,YAAY,GAAG,CAAC;IAMnB;;;;OAIG;gBAED,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEjC,CAAC,KACP,gBAAgB,GAAG,CAAC;IAMvB;;;;;;;;;;;;OAYG;cAvNgB,CAAC,SAAS,aAAa,UAClC,CAAC,KACR,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAwNvC;;;;OAIG;aACM,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,uCACpC,CAAC,KACP,CAAC,GAAG,YAAY;IAMnB;;;;OAIG;gBAED,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEjC,CAAC,KACP,CAAC,GAAG,gBAAgB;IAMvB;;;;OAIG;sBAEM,QAAQ,GAAG,QAAQ,UACnB,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,MAAM,CAAC,KAChD,kBAAkB;CAKtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,CACrE,EAAE,EACF,EAAE,SAAS,SAAS,OAAO,EAAE,EAE7B,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACnB,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAClC,CAAC,SAAS,yBAAyB,CAAC,MAAM,CAAC,CAAC,GACxC,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAChC,CAAC,GACD,KAAK,CAAC;AAuDd;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG;IACd;;;;OAIG;iBAEK,CAAC,SAAS,SAAS,MAAM,EAAE,EACjC,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,iEAKpD,CAAC,UACH,CAAC,KACP,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;IAOhC;;;;OAIG;aAED,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEjC,CAAC,KACP,gBAAgB,GAAG,CAAC;IAMvB;;;;;;;;;;;;OAYG;iBACwC;QACzC,CAAC,CAAC,SAAS,aAAa,EACtB,CAAC,EAAE,CAAC,GACH,yBAAyB,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EAC/C,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,GACH,yBAAyB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EACxE,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,GACH,yBAAyB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CACE,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EAEvB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,GACH,yBAAyB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CACE,GAAG,WAAW,EAAE,aAAa,EAAE,GAC9B,yBAAyB,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;KAClD;IAED;;;;OAIG;aAED,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEjC,CAAC,KACP,CAAC,GAAG,gBAAgB;IAMvB;;;;OAIG;sBAEM,QAAQ,GAAG,QAAQ,UACnB,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,MAAM,CAAC,KAChD,kBAAkB;CAKtB,CAAC"}
|
package/dist/opt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,aAAa,EAEb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EACnB,mBAAmB;
|
|
1
|
+
{"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
|
package/dist/opt.js
CHANGED
|
@@ -12,19 +12,45 @@ import { BargsError } from "./errors.js";
|
|
|
12
12
|
/**
|
|
13
13
|
* Validate that no alias conflicts exist in a merged options schema.
|
|
14
14
|
*
|
|
15
|
+
* Checks for:
|
|
16
|
+
*
|
|
17
|
+
* - Duplicate aliases across options
|
|
18
|
+
* - Aliases that conflict with canonical option names
|
|
19
|
+
* - Aliases that conflict with auto-generated boolean negation names
|
|
20
|
+
* (--no-<name>)
|
|
21
|
+
*
|
|
15
22
|
* @function
|
|
16
23
|
*/
|
|
17
24
|
const validateAliasConflicts = (schema) => {
|
|
18
25
|
const aliasToOption = new Map();
|
|
26
|
+
const canonicalNames = new Set(Object.keys(schema));
|
|
27
|
+
// Collect auto-generated boolean negation names (--no-<name>)
|
|
28
|
+
const booleanNegations = new Set();
|
|
29
|
+
for (const [name, def] of Object.entries(schema)) {
|
|
30
|
+
if (def.type === 'boolean') {
|
|
31
|
+
booleanNegations.add(`no-${name}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
19
34
|
for (const [optionName, def] of Object.entries(schema)) {
|
|
20
35
|
if (!def.aliases) {
|
|
21
36
|
continue;
|
|
22
37
|
}
|
|
23
38
|
for (const alias of def.aliases) {
|
|
39
|
+
// Check for duplicate aliases
|
|
24
40
|
const existing = aliasToOption.get(alias);
|
|
25
41
|
if (existing && existing !== optionName) {
|
|
26
42
|
throw new BargsError(`Alias conflict: "-${alias}" is used by both "--${existing}" and "--${optionName}"`);
|
|
27
43
|
}
|
|
44
|
+
// Check for conflicts with canonical option names
|
|
45
|
+
if (canonicalNames.has(alias)) {
|
|
46
|
+
throw new BargsError(`Alias conflict: "--${alias}" conflicts with an existing option name`);
|
|
47
|
+
}
|
|
48
|
+
// Check for conflicts with auto-generated boolean negations
|
|
49
|
+
if (booleanNegations.has(alias)) {
|
|
50
|
+
// alias is "no-<name>", so extract the original option name
|
|
51
|
+
const originalOption = alias.replace(/^no-/, '');
|
|
52
|
+
throw new BargsError(`Alias conflict: "--${alias}" conflicts with auto-generated boolean negation for "--${originalOption}"`);
|
|
53
|
+
}
|
|
28
54
|
aliasToOption.set(alias, optionName);
|
|
29
55
|
}
|
|
30
56
|
}
|
package/dist/opt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsBH,OAAO,EAAE,UAAU,EAAE,oBAAoB;AAEzC
|
|
1
|
+
{"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.cjs
CHANGED
|
@@ -20,13 +20,19 @@ const errors_js_1 = require("./errors.cjs");
|
|
|
20
20
|
* For boolean options, also adds `no-<name>` variants to support explicit
|
|
21
21
|
* negation (e.g., `--no-verbose` sets `verbose` to `false`).
|
|
22
22
|
*
|
|
23
|
+
* Multi-character aliases are registered as separate options with the same type
|
|
24
|
+
* and multiple settings, then collapsed back to canonical names after parsing
|
|
25
|
+
* via `collapseAliases()`.
|
|
26
|
+
*
|
|
23
27
|
* @function
|
|
24
28
|
*/
|
|
25
29
|
const buildParseArgsConfig = (schema) => {
|
|
26
30
|
const config = {};
|
|
27
31
|
for (const [name, def] of Object.entries(schema)) {
|
|
32
|
+
const parseArgsType = def.type === 'boolean' ? 'boolean' : 'string';
|
|
33
|
+
const isMultiple = def.type === 'array';
|
|
28
34
|
const opt = {
|
|
29
|
-
type:
|
|
35
|
+
type: parseArgsType,
|
|
30
36
|
};
|
|
31
37
|
// First single-char alias becomes short option
|
|
32
38
|
const shortAlias = def.aliases?.find((a) => a.length === 1);
|
|
@@ -34,11 +40,22 @@ const buildParseArgsConfig = (schema) => {
|
|
|
34
40
|
opt.short = shortAlias;
|
|
35
41
|
}
|
|
36
42
|
// Arrays need multiple: true
|
|
37
|
-
if (
|
|
43
|
+
if (isMultiple) {
|
|
38
44
|
opt.multiple = true;
|
|
39
45
|
}
|
|
40
46
|
config[name] = opt;
|
|
47
|
+
// Register multi-character aliases as separate options
|
|
48
|
+
for (const alias of def.aliases ?? []) {
|
|
49
|
+
if (alias.length > 1) {
|
|
50
|
+
const aliasOpt = { type: parseArgsType };
|
|
51
|
+
if (isMultiple) {
|
|
52
|
+
aliasOpt.multiple = true;
|
|
53
|
+
}
|
|
54
|
+
config[alias] = aliasOpt;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
41
57
|
// For boolean options, add negated form (--no-<name>)
|
|
58
|
+
// Note: We do NOT add --no-<alias> forms for aliases
|
|
42
59
|
if (def.type === 'boolean') {
|
|
43
60
|
config[`no-${name}`] = { type: 'boolean' };
|
|
44
61
|
}
|
|
@@ -183,6 +200,53 @@ const processNegatedBooleans = (values, schema) => {
|
|
|
183
200
|
}
|
|
184
201
|
return result;
|
|
185
202
|
};
|
|
203
|
+
/**
|
|
204
|
+
* Collapse multi-character aliases into their canonical option names.
|
|
205
|
+
*
|
|
206
|
+
* For array options, merges values from all aliases into the canonical name.
|
|
207
|
+
* For non-array options, throws HelpError if both alias and canonical were
|
|
208
|
+
* provided. Always removes alias keys from the result.
|
|
209
|
+
*
|
|
210
|
+
* @function
|
|
211
|
+
*/
|
|
212
|
+
const collapseAliases = (values, schema) => {
|
|
213
|
+
const result = { ...values };
|
|
214
|
+
// Build alias-to-canonical mapping (only multi-char aliases)
|
|
215
|
+
const aliasToCanonical = new Map();
|
|
216
|
+
for (const [name, def] of Object.entries(schema)) {
|
|
217
|
+
for (const alias of def.aliases ?? []) {
|
|
218
|
+
if (alias.length > 1) {
|
|
219
|
+
aliasToCanonical.set(alias, name);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
// Process each alias found in the values
|
|
224
|
+
for (const [alias, canonical] of aliasToCanonical) {
|
|
225
|
+
const aliasValue = result[alias];
|
|
226
|
+
if (aliasValue === undefined) {
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
const def = schema[canonical];
|
|
230
|
+
const canonicalValue = result[canonical];
|
|
231
|
+
const isArray = def.type === 'array';
|
|
232
|
+
if (isArray) {
|
|
233
|
+
// For arrays, merge values
|
|
234
|
+
const existingArray = Array.isArray(canonicalValue) ? canonicalValue : [];
|
|
235
|
+
const aliasArray = Array.isArray(aliasValue) ? aliasValue : [aliasValue];
|
|
236
|
+
result[canonical] = [...existingArray, ...aliasArray];
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
// For non-arrays, check for conflict
|
|
240
|
+
if (canonicalValue !== undefined) {
|
|
241
|
+
throw new errors_js_1.HelpError(`Conflicting options: --${alias} and --${canonical} cannot both be specified`);
|
|
242
|
+
}
|
|
243
|
+
result[canonical] = aliasValue;
|
|
244
|
+
}
|
|
245
|
+
// Remove the alias key
|
|
246
|
+
delete result[alias];
|
|
247
|
+
}
|
|
248
|
+
return result;
|
|
249
|
+
};
|
|
186
250
|
/**
|
|
187
251
|
* Parse arguments for a simple CLI (no commands).
|
|
188
252
|
*
|
|
@@ -201,8 +265,10 @@ const parseSimple = (config) => {
|
|
|
201
265
|
});
|
|
202
266
|
// Process negated boolean options (--no-<flag>)
|
|
203
267
|
const processedValues = processNegatedBooleans(values, optionsSchema);
|
|
268
|
+
// Collapse multi-character aliases into canonical names
|
|
269
|
+
const collapsedValues = collapseAliases(processedValues, optionsSchema);
|
|
204
270
|
// Coerce and apply defaults
|
|
205
|
-
const coercedValues = coerceValues(
|
|
271
|
+
const coercedValues = coerceValues(collapsedValues, optionsSchema);
|
|
206
272
|
const coercedPositionals = coercePositionals(positionals, positionalsSchema);
|
|
207
273
|
return {
|
|
208
274
|
positionals: coercedPositionals,
|
package/dist/parser.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,yCAAsC;AAUtC,4CAAwC;AAExC
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EAClB,oBAAmB;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EAClB,oBAAmB;AA+SpB;;GAEG;AACH,UAAU,kBAAkB,CAC1B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB;IAE1D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB,EAE1D,QAAQ,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,KACjD,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAmCpE,CAAC"}
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EAClB,mBAAmB;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EAClB,mBAAmB;AA+SpB;;GAEG;AACH,UAAU,kBAAkB,CAC1B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB;IAE1D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB,EAE1D,QAAQ,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,KACjD,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAmCpE,CAAC"}
|
package/dist/parser.js
CHANGED
|
@@ -17,13 +17,19 @@ import { HelpError } from "./errors.js";
|
|
|
17
17
|
* For boolean options, also adds `no-<name>` variants to support explicit
|
|
18
18
|
* negation (e.g., `--no-verbose` sets `verbose` to `false`).
|
|
19
19
|
*
|
|
20
|
+
* Multi-character aliases are registered as separate options with the same type
|
|
21
|
+
* and multiple settings, then collapsed back to canonical names after parsing
|
|
22
|
+
* via `collapseAliases()`.
|
|
23
|
+
*
|
|
20
24
|
* @function
|
|
21
25
|
*/
|
|
22
26
|
const buildParseArgsConfig = (schema) => {
|
|
23
27
|
const config = {};
|
|
24
28
|
for (const [name, def] of Object.entries(schema)) {
|
|
29
|
+
const parseArgsType = def.type === 'boolean' ? 'boolean' : 'string';
|
|
30
|
+
const isMultiple = def.type === 'array';
|
|
25
31
|
const opt = {
|
|
26
|
-
type:
|
|
32
|
+
type: parseArgsType,
|
|
27
33
|
};
|
|
28
34
|
// First single-char alias becomes short option
|
|
29
35
|
const shortAlias = def.aliases?.find((a) => a.length === 1);
|
|
@@ -31,11 +37,22 @@ const buildParseArgsConfig = (schema) => {
|
|
|
31
37
|
opt.short = shortAlias;
|
|
32
38
|
}
|
|
33
39
|
// Arrays need multiple: true
|
|
34
|
-
if (
|
|
40
|
+
if (isMultiple) {
|
|
35
41
|
opt.multiple = true;
|
|
36
42
|
}
|
|
37
43
|
config[name] = opt;
|
|
44
|
+
// Register multi-character aliases as separate options
|
|
45
|
+
for (const alias of def.aliases ?? []) {
|
|
46
|
+
if (alias.length > 1) {
|
|
47
|
+
const aliasOpt = { type: parseArgsType };
|
|
48
|
+
if (isMultiple) {
|
|
49
|
+
aliasOpt.multiple = true;
|
|
50
|
+
}
|
|
51
|
+
config[alias] = aliasOpt;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
38
54
|
// For boolean options, add negated form (--no-<name>)
|
|
55
|
+
// Note: We do NOT add --no-<alias> forms for aliases
|
|
39
56
|
if (def.type === 'boolean') {
|
|
40
57
|
config[`no-${name}`] = { type: 'boolean' };
|
|
41
58
|
}
|
|
@@ -180,6 +197,53 @@ const processNegatedBooleans = (values, schema) => {
|
|
|
180
197
|
}
|
|
181
198
|
return result;
|
|
182
199
|
};
|
|
200
|
+
/**
|
|
201
|
+
* Collapse multi-character aliases into their canonical option names.
|
|
202
|
+
*
|
|
203
|
+
* For array options, merges values from all aliases into the canonical name.
|
|
204
|
+
* For non-array options, throws HelpError if both alias and canonical were
|
|
205
|
+
* provided. Always removes alias keys from the result.
|
|
206
|
+
*
|
|
207
|
+
* @function
|
|
208
|
+
*/
|
|
209
|
+
const collapseAliases = (values, schema) => {
|
|
210
|
+
const result = { ...values };
|
|
211
|
+
// Build alias-to-canonical mapping (only multi-char aliases)
|
|
212
|
+
const aliasToCanonical = new Map();
|
|
213
|
+
for (const [name, def] of Object.entries(schema)) {
|
|
214
|
+
for (const alias of def.aliases ?? []) {
|
|
215
|
+
if (alias.length > 1) {
|
|
216
|
+
aliasToCanonical.set(alias, name);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// Process each alias found in the values
|
|
221
|
+
for (const [alias, canonical] of aliasToCanonical) {
|
|
222
|
+
const aliasValue = result[alias];
|
|
223
|
+
if (aliasValue === undefined) {
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
const def = schema[canonical];
|
|
227
|
+
const canonicalValue = result[canonical];
|
|
228
|
+
const isArray = def.type === 'array';
|
|
229
|
+
if (isArray) {
|
|
230
|
+
// For arrays, merge values
|
|
231
|
+
const existingArray = Array.isArray(canonicalValue) ? canonicalValue : [];
|
|
232
|
+
const aliasArray = Array.isArray(aliasValue) ? aliasValue : [aliasValue];
|
|
233
|
+
result[canonical] = [...existingArray, ...aliasArray];
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
// For non-arrays, check for conflict
|
|
237
|
+
if (canonicalValue !== undefined) {
|
|
238
|
+
throw new HelpError(`Conflicting options: --${alias} and --${canonical} cannot both be specified`);
|
|
239
|
+
}
|
|
240
|
+
result[canonical] = aliasValue;
|
|
241
|
+
}
|
|
242
|
+
// Remove the alias key
|
|
243
|
+
delete result[alias];
|
|
244
|
+
}
|
|
245
|
+
return result;
|
|
246
|
+
};
|
|
183
247
|
/**
|
|
184
248
|
* Parse arguments for a simple CLI (no commands).
|
|
185
249
|
*
|
|
@@ -198,8 +262,10 @@ export const parseSimple = (config) => {
|
|
|
198
262
|
});
|
|
199
263
|
// Process negated boolean options (--no-<flag>)
|
|
200
264
|
const processedValues = processNegatedBooleans(values, optionsSchema);
|
|
265
|
+
// Collapse multi-character aliases into canonical names
|
|
266
|
+
const collapsedValues = collapseAliases(processedValues, optionsSchema);
|
|
201
267
|
// Coerce and apply defaults
|
|
202
|
-
const coercedValues = coerceValues(
|
|
268
|
+
const coercedValues = coerceValues(collapsedValues, optionsSchema);
|
|
203
269
|
const coercedPositionals = coercePositionals(positionals, positionalsSchema);
|
|
204
270
|
return {
|
|
205
271
|
positionals: coercedPositionals,
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,OAAO,EAAE,SAAS,EAAE,oBAAoB;AAExC
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,OAAO,EAAE,SAAS,EAAE,oBAAoB;AAExC;;;;;;;;;;;GAWG;AACH,MAAM,oBAAoB,GAAG,CAC3B,MAAqB,EAIrB,EAAE;IACF,MAAM,MAAM,GAGR,EAAE,CAAC;IAEP,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,aAAa,GACjB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;QAExC,MAAM,GAAG,GAIL;YACF,IAAI,EAAE,aAAa;SACpB,CAAC;QAEF,+CAA+C;QAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC;QACzB,CAAC;QAED,6BAA6B;QAC7B,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAEnB,uDAAuD;QACvD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAGV,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBAC5B,IAAI,UAAU,EAAE,CAAC;oBACf,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,qDAAqD;QACrD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,YAAY,GAAG,CACnB,MAA+B,EAC/B,MAAqB,EACI,EAAE;IAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEzB,6BAA6B;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;YAC5C,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,gBAAgB;QAChB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,QAAQ,GAAG,GAGhB,CAAC;oBACF,IAAI,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC7C,mCAAmC;wBACnC,KAAK,MAAM,CAAC,IAAI,KAAiB,EAAE,CAAC;4BAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gCAClC,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,MAAM,CAAC,sBAAsB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;4BACJ,CAAC;wBACH,CAAC;wBACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBACvB,CAAC;yBAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC/D,MAAM,CAAC,IAAI,CAAC,GAAI,KAA6B,CAAC,GAAG,CAC/C,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChE,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBACvB,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO;oBACV,kCAAkC;oBAClC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,SAAS,GAAG,KAAe,CAAC;oBAClC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC5D,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,MAAM,SAAS,sBAAsB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzF,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD,KAAK,QAAQ;oBACX,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACjE,MAAM;gBACR;oBACE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CACxB,WAAqB,EACrB,MAAyB,EACL,EAAE;IACtB,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5B,sBAAsB;YACtB,MAAM,WAAW,GAAG,GAAqC,CAAC;YAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,MAAM;QACR,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,uBAAuB;gBACvB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,gCAAgC,CAAC,MAAM,KAAK,sBAAsB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3F,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,sBAAsB,GAAG,CAC7B,MAA+B,EAC/B,MAAqB,EACI,EAAE;IAC3B,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;QAEhD,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CACjB,0BAA0B,IAAI,UAAU,UAAU,2BAA2B,CAC9E,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,4CAA4C;QAC5C,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,CACtB,MAA+B,EAC/B,MAAqB,EACI,EAAE;IAC3B,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;QAErC,IAAI,OAAO,EAAE,CAAC;YACZ,2BAA2B;YAC3B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACzE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,SAAS,CACjB,0BAA0B,KAAK,UAAU,SAAS,2BAA2B,CAC9E,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;QACjC,CAAC;QAED,uBAAuB;QACvB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAcF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAIzB,MAAkD,EACmB,EAAE;IACvE,MAAM,EACJ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAC5B,OAAO,EAAE,aAAa,GAAG,EAAc,EACvC,WAAW,EAAE,iBAAiB,GAAG,EAA6B,GAC/D,GAAG,MAAM,CAAC;IAEX,yBAAyB;IACzB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAE7D,oCAAoC;IACpC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACxC,gBAAgB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAC9C,IAAI;QACJ,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,eAAe,GAAG,sBAAsB,CAC5C,MAAiC,EACjC,aAAa,CACd,CAAC;IAEF,wDAAwD;IACxD,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAExE,4BAA4B;IAC5B,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAE7E,OAAO;QACL,WAAW,EAAE,kBAAoD;QACjE,MAAM,EAAE,aAAuC;KAChD,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/types.d.cts
CHANGED
|
@@ -110,9 +110,12 @@ export interface CliBuilder<TGlobalValues = Record<string, never>, TGlobalPositi
|
|
|
110
110
|
*/
|
|
111
111
|
defaultCommand<CV, CP extends readonly unknown[]>(parser: Parser<CV, CP>, handler: HandlerFn<CV & TGlobalValues, CP>): CliBuilder<TGlobalValues, TGlobalPositionals>;
|
|
112
112
|
/**
|
|
113
|
-
* Set global options/transforms that apply to all commands.
|
|
113
|
+
* Set or extend global options/transforms that apply to all commands.
|
|
114
|
+
*
|
|
115
|
+
* When called on a builder that already has globals (e.g., from a factory),
|
|
116
|
+
* the new globals are merged with existing ones.
|
|
114
117
|
*/
|
|
115
|
-
globals<V, P extends readonly unknown[]>(parser: Parser<V, P>): CliBuilder<V, P>;
|
|
118
|
+
globals<V, P extends readonly unknown[]>(parser: Parser<V, P>): CliBuilder<TGlobalValues & V, readonly [...TGlobalPositionals, ...P]>;
|
|
116
119
|
/**
|
|
117
120
|
* Parse arguments synchronously and run handlers.
|
|
118
121
|
*
|
|
@@ -351,7 +354,18 @@ export interface VariadicPositional extends PositionalBase {
|
|
|
351
354
|
* Base properties shared by all option definitions.
|
|
352
355
|
*/
|
|
353
356
|
interface OptionBase {
|
|
354
|
-
/**
|
|
357
|
+
/**
|
|
358
|
+
* Short or long aliases for this option.
|
|
359
|
+
*
|
|
360
|
+
* - Single-character aliases (e.g., `'v'`) become short flags (`-v`)
|
|
361
|
+
* - Multi-character aliases (e.g., `'verb'`) become long flags (`--verb`)
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
*
|
|
365
|
+
* ```typescript
|
|
366
|
+
* opt.boolean({ aliases: ['v', 'verb'] }); // -v, --verb, --verbose
|
|
367
|
+
* ```
|
|
368
|
+
*/
|
|
355
369
|
aliases?: string[];
|
|
356
370
|
/** Option description displayed in help text */
|
|
357
371
|
description?: string;
|
package/dist/types.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAmB;AAM7C;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9B,uDAAuD;IACvD,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU,CACzB,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrC,kBAAkB,SAAS,SAAS,OAAO,EAAE,GAAG,SAAS,EAAE;IAE3D;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,SAAS,OAAO,EAAE,EACvC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,SAAS,OAAO,EAAE,EACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EACtB,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,aAAa,EAAE,EAAE,CAAC,EAC1C,WAAW,CAAC,EAAE,MAAM,GACnB,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,SAAS,OAAO,EAAE,EACvC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EACjC,WAAW,CAAC,EAAE,MAAM,GACnB,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,SAAS,OAAO,EAAE,EACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CACP,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,KACnD,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAEjD;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAE5E;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,EAAE,SAAS,SAAS,OAAO,EAAE,EAC9C,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,GACnB,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,EAAE,SAAS,SAAS,OAAO,EAAE,EAC9C,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EACtB,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,aAAa,EAAE,EAAE,CAAC,GACzC,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAEjD
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -110,9 +110,12 @@ export interface CliBuilder<TGlobalValues = Record<string, never>, TGlobalPositi
|
|
|
110
110
|
*/
|
|
111
111
|
defaultCommand<CV, CP extends readonly unknown[]>(parser: Parser<CV, CP>, handler: HandlerFn<CV & TGlobalValues, CP>): CliBuilder<TGlobalValues, TGlobalPositionals>;
|
|
112
112
|
/**
|
|
113
|
-
* Set global options/transforms that apply to all commands.
|
|
113
|
+
* Set or extend global options/transforms that apply to all commands.
|
|
114
|
+
*
|
|
115
|
+
* When called on a builder that already has globals (e.g., from a factory),
|
|
116
|
+
* the new globals are merged with existing ones.
|
|
114
117
|
*/
|
|
115
|
-
globals<V, P extends readonly unknown[]>(parser: Parser<V, P>): CliBuilder<V, P>;
|
|
118
|
+
globals<V, P extends readonly unknown[]>(parser: Parser<V, P>): CliBuilder<TGlobalValues & V, readonly [...TGlobalPositionals, ...P]>;
|
|
116
119
|
/**
|
|
117
120
|
* Parse arguments synchronously and run handlers.
|
|
118
121
|
*
|
|
@@ -351,7 +354,18 @@ export interface VariadicPositional extends PositionalBase {
|
|
|
351
354
|
* Base properties shared by all option definitions.
|
|
352
355
|
*/
|
|
353
356
|
interface OptionBase {
|
|
354
|
-
/**
|
|
357
|
+
/**
|
|
358
|
+
* Short or long aliases for this option.
|
|
359
|
+
*
|
|
360
|
+
* - Single-character aliases (e.g., `'v'`) become short flags (`-v`)
|
|
361
|
+
* - Multi-character aliases (e.g., `'verb'`) become long flags (`--verb`)
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
*
|
|
365
|
+
* ```typescript
|
|
366
|
+
* opt.boolean({ aliases: ['v', 'verb'] }); // -v, --verb, --verbose
|
|
367
|
+
* ```
|
|
368
|
+
*/
|
|
355
369
|
aliases?: string[];
|
|
356
370
|
/** Option description displayed in help text */
|
|
357
371
|
description?: string;
|