command.ts ×1

Frontier kind: Code frontier

unlabeled · c_1a3a2387589f

7 tests · 2665 LOC · 18 files · introduces 0 tests · 14 LOC · 2 files

Introduces — evidence that enters the hierarchy at this concept

Code
2 ranges14 lines · 2 files
Tests
0 tests

Contains — complete concept membership

All code (extent)
488 ranges2665 lines · 18 files · Browse complete extent
All tests (intent)
7 testsBrowse complete intent

Neighbourhood graph

The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.

Introduced files, introduced tests, and structurally relevant concept specialization

In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.

Introduced files, introduced tests, and structurally relevant concept specializationcommand.mjs|title=Command async builder allows positionals to be configured asynchronously|occurrence=1 · 0 introduced LOCcommand.mjs|title=Comman…yargs-factory.ts ×1 · 4 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 5 introduced LOCyargs-factory.ts ×1command.mjs|title=Command async builder allows deeply nested command to be defined in async builder|occurrence=1 · 0 introduced LOCcommand.mjs|title=Comman…command.mjs|title=Command async builder allows command to be defined in async builder|occurrence=1 · 0 introduced LOCcommand.mjs|title=Comman…yargs-factory.ts ×1 · 4 introduced LOCyargs-factory.ts ×1command.mjs|title=Command async builder does not print to stdout when parse callback is provided|occurrence=1 · 0 introduced LOCcommand.mjs|title=Comman…command.ts ×1 · 8 introduced LOCcommand.ts ×1command.ts ×1 · 1 introduced LOCcommand.ts ×1usage.ts ×3 · 9 introduced LOCusage.ts ×3usage.ts ×2 · 6 introduced LOCusage.ts ×2usage.ts ×1 · 2 introduced LOCusage.ts ×1usage.ts ×17 · 142 introduced LOCusage.ts ×17usage.ts ×2 · 6 introduced LOCusage.ts ×2command.ts ×1 · 9 introduced LOCcommand.ts ×1command.ts ×12 · 95 introduced LOCcommand.ts ×12usage.ts ×3 · 3 introduced LOCusage.ts ×3usage.ts ×19 · 125 introduced LOCusage.ts ×19command.ts ×1 · 2 introduced LOCcommand.ts ×1command.ts ×2 · 5 introduced LOCcommand.ts ×2command.ts ×1 · 4 introduced LOCcommand.ts ×1usage.ts ×1 · 1 introduced LOCusage.ts ×1usage.ts ×2 · 3 introduced LOCusage.ts ×2yargs-factory.ts ×3 · 3 introduced LOCyargs-factory.ts ×3yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×3 · 10 introduced LOCyargs-factory.ts ×3yargs-factory.ts ×2 · 9 introduced LOCyargs-factory.ts ×2yargs-factory.ts ×5 · 20 introduced LOCyargs-factory.ts ×5usage.ts ×1 · 1 introduced LOCusage.ts ×1yargs-factory.ts ×1 · 1 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×2 · 8 introduced LOCyargs-factory.ts ×2usage.ts ×1 · 10 introduced LOCusage.ts ×1yargs-factory.ts ×9 · 72 introduced LOCyargs-factory.ts ×9command.ts ×2 · 7 introduced LOCcommand.ts ×2usage.ts ×2 · 11 introduced LOCusage.ts ×2command.ts ×1 · 1 introduced LOCcommand.ts ×1command.ts ×1 · 1 introduced LOCcommand.ts ×1command.ts ×5 · 41 introduced LOCcommand.ts ×5command.ts ×1 · 4 introduced LOCcommand.ts ×1yargs-factory.ts ×1 · 22 introduced LOCyargs-factory.ts ×1command.ts ×1 · 20 introduced LOCcommand.ts ×1command.ts ×3 · 19 introduced LOCcommand.ts ×3yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 4 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 3 introduced LOCyargs-factory.ts ×1usage.ts ×1 · 1 introduced LOCusage.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 3 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×2 · 7 introduced LOCyargs-factory.ts ×2command.ts ×1 · 2 introduced LOCcommand.ts ×1yargs-factory.ts ×1 · 20 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×35 · 577 introduced LOCyargs-factory.ts ×35yargs-factory.ts ×124 · 1015 introduced LOCyargs-factory.ts ×124argsert.ts ×1 · 1 introduced LOCargsert.ts ×1argsert.mjs|title=Argsert allows for any type if * is provided|occurrence=1, argsert.mjs|title=Argsert should ignore trailing undefined values|occurrence=1 · 0 introduced LOCargsert.mjs|title=Argser…argsert.ts ×1 · 7 introduced LOCargsert.ts ×1argsert.ts ×1 · 1 introduced LOCargsert.ts ×1argsert.ts ×1 · 7 introduced LOCargsert.ts ×1argsert.ts ×1 · 2 introduced LOCargsert.ts ×1argsert.ts ×1 · 1 introduced LOCargsert.ts ×1argsert.ts ×2 · 3 introduced LOCargsert.ts ×2argsert.ts ×3 · 6 introduced LOCargsert.ts ×3parse-command.ts ×1 · 4 introduced LOCparse-command.ts ×1parse-command.ts ×1 · 5 introduced LOCparse-command.ts ×1parse-command.ts ×3 · 19 introduced LOCparse-command.ts ×3process-argv.ts ×1 · 5 introduced LOCprocess-argv.ts ×1process-argv.ts ×3 · 14 introduced LOCprocess-argv.ts ×3argsert.ts ×1 · 3 introduced LOCargsert.ts ×1apply-extends.ts ×4 · 9 introduced LOCapply-extends.ts ×4argsert.ts ×4 · 27 introduced LOCargsert.ts ×4obj-filter.ts ×1 · 3 introduced LOCobj-filter.ts ×1obj-filter.ts ×2 · 10 introduced LOCobj-filter.ts ×2argsert.ts ×3 · 13 introduced LOCargsert.ts ×3common-types.ts ×4 · 134 introduced LOCcommon-types.ts ×4process-argv.ts ×5 · 13 introduced LOCprocess-argv.ts ×5is-promise.ts ×1 · 1 introduced LOCis-promise.ts ×1is-promise.ts ×2 · 7 introduced LOCis-promise.ts ×2parse-command.ts ×1 · 6 introduced LOCparse-command.ts ×1parse-command.ts ×2 · 14 introduced LOCparse-command.ts ×2yerror.ts ×2 · 4 introduced LOCyerror.ts ×2is-promise.ts ×1 · 1 introduced LOCis-promise.ts ×1lib/argsert.ts · 101 LOClib/argsert.tslib/command.ts · 876 LOClib/command.tslib/completion-templates.ts · 58 LOClib/completion-templates…lib/completion.ts · 414 LOClib/completion.tslib/middleware.ts · 134 LOClib/middleware.tslib/parse-command.ts · 44 LOClib/parse-command.tslib/typings/common-types.ts · 145 LOCtypings/common-types.tslib/usage.ts · 835 LOClib/usage.tslib/utils/apply-extends.ts · 79 LOCutils/apply-extends.tslib/utils/is-promise.ts · 9 LOCutils/is-promise.tslib/utils/levenshtein.ts · 72 LOCutils/levenshtein.tslib/utils/maybe-async-result.ts · 28 LOCutils/maybe-async-result…lib/utils/obj-filter.ts · 14 LOCutils/obj-filter.tslib/utils/process-argv.ts · 36 LOCutils/process-argv.tslib/utils/set-blocking.ts · 21 LOCutils/set-blocking.tslib/validation.ts · 520 LOClib/validation.tslib/yargs-factory.ts · 2437 LOClib/yargs-factory.tslib/yerror.ts · 9 LOClib/yerror.tshelpers.mjs|title=helpers Parser exposes functional argument parser|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:esm|file=test/esm/helpers.mjs|title=helpers Parser exposes functional argument parser|occurrence=1helpers.mjs|title=helper…platform-shim-test.mjs|title=platform-shim y18n __ behaves like sprintf|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:esm|file=test/esm/platform-shim-test.mjs|title=platform-shim y18n __ behaves like sprintf|occurrence=1platform-shim-test.mjs|t…platform-shim-test.mjs|title=platform-shim y18n __n uses first string if singular|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:esm|file=test/esm/platform-shim-test.mjs|title=platform-shim y18n __n uses first string if singular|occurrence=1platform-shim-test.mjs|t…platform-shim-test.mjs|title=platform-shim y18n __n uses second string if plural|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:esm|file=test/esm/platform-shim-test.mjs|title=platform-shim y18n __n uses second string if plural|occurrence=1platform-shim-test.mjs|t…argsert.mjs|title=Argsert allows for any type if * is provided|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert allows for any type if * is provided|occurrence=1argsert.mjs|title=Argser…argsert.mjs|title=Argsert does not warn if optional argument is not provided|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert does not warn if optional argument is not provided|occurrence=1argsert.mjs|title=Argser…argsert.mjs|title=Argsert does not warn if optional argument is valid|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert does not warn if optional argument is valid|occurrence=1argsert.mjs|title=Argser…argsert.mjs|title=Argsert should ignore trailing undefined values|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert should ignore trailing undefined values|occurrence=1argsert.mjs|title=Argser…command.mjs|title=Command async builder allows command to be defined in async builder|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/command.mjs|title=Command async builder allows command to be defined in async builder|occurrence=1command.mjs|title=Comman…command.mjs|title=Command async builder allows deeply nested command to be defined in async builder|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/command.mjs|title=Command async builder allows deeply nested command to be defined in async builder|occurrence=1command.mjs|title=Comman…command.mjs|title=Command async builder allows positionals to be configured asynchronously|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/command.mjs|title=Command async builder allows positionals to be configured asynchronously|occurrence=1command.mjs|title=Comman…command.mjs|title=Command async builder does not print to stdout when parse callback is provided|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/command.mjs|title=Command async builder does not print to stdout when parse callback is provided|occurrence=1command.mjs|title=Comman…is-promise.mjs|title=isPromise returns `false` if `then` is not a function|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `false` if `then` is not a function|occurrence=1is-promise.mjs|title=isP…is-promise.mjs|title=isPromise returns `false` if passed object has no `then` property|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `false` if passed object has no `then` property|occurrence=1is-promise.mjs|title=isP…is-promise.mjs|title=isPromise returns `false` if some falsy value is passed|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `false` if some falsy value is passed|occurrence=1is-promise.mjs|title=isP…is-promise.mjs|title=isPromise returns `false` on non promise value|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `false` on non promise value|occurrence=1is-promise.mjs|title=isP…is-promise.mjs|title=isPromise returns `true` on es6 promise|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `true` on es6 promise|occurrence=1is-promise.mjs|title=isP…is-promise.mjs|title=isPromise returns `true` on some other thenable|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `true` on some other thenable|occurrence=1is-promise.mjs|title=isP…obj-filter.mjs|title=ObjFilter returns a new reference to the original object if no filter function is given|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/obj-filter.mjs|title=ObjFilter returns a new reference to the original object if no filter function is given|occurrence=1obj-filter.mjs|title=Obj…parse-command.mjs|title=parseCommand should throw if no command is specified|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/parse-command.mjs|title=parseCommand should throw if no command is specified|occurrence=1parse-command.mjs|title=…parser.mjs|title=should expose yargs-parser as Parser|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/parser.mjs|title=should expose yargs-parser as Parser|occurrence=1parser.mjs|title=should …usage.mjs|title=usage tests async builder positional should contain the expected output for getHelp|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests async builder positional should contain the expected output for getHelp|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests async builder shows appropriate usage instructions for nested command|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests async builder shows appropriate usage instructions for nested command|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests version option when an option or alias "version" is set does not emit warning if version is disabled|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests version option when an option or alias "version" is set does not emit warning if version is disabled|occurrence=1usage.mjs|title=usage te…yargs.mjs|title=yargs dsl tests getHelp should return appropriate help message when async builder used|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests getHelp should return appropriate help message when async builder used|occurrence=1yargs.mjs|title=yargs ds…Focused concept · command.ts ×1 · 14 introduced LOCcommand.ts ×1

Graph controls are ready.

Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.

Native relationship evidence

Every exact file and test below is linked only from the concept that introduces it.

Introduced tests

Every collected test enters the hierarchy at exactly one concept.

No tests are introduced at this concept. Its intent tests are introduced by other concepts.

Introduced code

Every collected source range enters the hierarchy at exactly one concept.

2 files ranked by introduced lines: 14 introduced LOC across 2 ranges. Expand a file to inspect source; the > gutter marks introduced lines.

lib/command.ts 12 introduced LOC · 1 range

Open complete file

315 // Support the use-case of async builders:
316 if (isPromise(builderOutput)) {
317 > return builderOutput.then(output => { command.ts
318 > innerYargs = isYargsInstance(output) ? output : yargs;
319 > return this.parseAndUpdateUsage(
320 > isDefaultCommand,
321 > commandHandler,
322 > innerYargs,
323 > parentCommands,
324 > commandIndex,
325 > helpOnly
326 > );
327 > });
328 > }
329 } else if (isCommandBuilderOptionDefinitions(builder)) {
330 // as a short hand, an object can instead be provided, specifying
lib/yargs-factory.ts 2 introduced LOC · 1 range

Open complete file

2287
2288 export function isYargsInstance(y: YargsInstance | void): y is YargsInstance {
2289 > return !!y && typeof y.getInternalMethods === 'function'; yargs-factory.ts
2290 > }
2291
2292 /** Yargs' context. */