@bemoje/cli 0.0.5 → 0.0.6
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/dist/cjs/_example/bFindIn.js +189 -0
- package/dist/cjs/_example/bFindIn.js.map +1 -0
- package/dist/cjs/cmd/CommandBuilder.js +34 -52
- package/dist/cjs/cmd/CommandBuilder.js.map +1 -1
- package/dist/cjs/cmd/CommandBuilderMetaData.js +1 -0
- package/dist/cjs/cmd/CommandBuilderMetaData.js.map +1 -1
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/_example/bFindIn.js +187 -0
- package/dist/esm/_example/bFindIn.js.map +1 -0
- package/dist/esm/cmd/CommandBuilder.js +32 -50
- package/dist/esm/cmd/CommandBuilder.js.map +1 -1
- package/dist/esm/cmd/CommandBuilderMetaData.js +1 -0
- package/dist/esm/cmd/CommandBuilderMetaData.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/types/_example/bFindIn.d.ts +1 -0
- package/dist/types/cmd/CommandBuilder.d.ts +6 -0
- package/dist/types/cmd/CommandBuilderMetaData.d.ts +1 -0
- package/dist/types/index.d.ts +1 -2
- package/package.json +1 -1
- package/project.json +1 -0
- package/{scripts → src}/_example/CommandBuilder.example.ts +5 -9
- package/{scripts → src}/_example/CommandBuilder.example2.ts +3 -4
- package/{scripts → src}/_example/bFindIn.ts +5 -12
- package/src/arg/ArgumentParserSelector.test.ts +9 -9
- package/src/arg/ArgumentValidatorSelector.test.ts +17 -17
- package/src/cmd/CommandBuilder.test.ts +19 -19
- package/src/cmd/CommandBuilder.ts +42 -53
- package/src/cmd/CommandBuilderMetaData.ts +1 -0
- package/src/index.ts +2 -3
- package/src/opt/OptionArgumentParserSelector.test.ts +16 -15
- package/src/opt/OptionArgumentValidatorSelector.test.ts +16 -17
- package/src/util/array/arrSome.test.ts +3 -3
- package/dist/cjs/cmd/CLI.js +0 -16
- package/dist/cjs/cmd/CLI.js.map +0 -1
- package/dist/cjs/proto/overrideCommanderPrototype.js +0 -37
- package/dist/cjs/proto/overrideCommanderPrototype.js.map +0 -1
- package/dist/esm/cmd/CLI.js +0 -12
- package/dist/esm/cmd/CLI.js.map +0 -1
- package/dist/esm/proto/overrideCommanderPrototype.js +0 -34
- package/dist/esm/proto/overrideCommanderPrototype.js.map +0 -1
- package/dist/types/cmd/CLI.d.ts +0 -2
- package/dist/types/proto/overrideCommanderPrototype.d.ts +0 -8
- package/scripts/_example/CommandBuilder.example3.ts +0 -20
- package/src/cmd/CLI.test.ts +0 -14
- package/src/cmd/CLI.ts +0 -13
- package/src/proto/overrideCommanderPrototype.ts +0 -42
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.commanderBackRefs = void 0;
|
|
4
|
-
const extra_typings_1 = require("@commander-js/extra-typings");
|
|
5
|
-
const splitCombinedArgvShorts_1 = require("../core/splitCombinedArgvShorts");
|
|
6
|
-
exports.commanderBackRefs = new WeakMap();
|
|
7
|
-
const oldParse = extra_typings_1.Command.prototype.parse;
|
|
8
|
-
extra_typings_1.Command.prototype.parse = function parse(argv, options) {
|
|
9
|
-
if (argv) {
|
|
10
|
-
argv = (0, splitCombinedArgvShorts_1.splitCombinedArgvShorts)(argv.slice());
|
|
11
|
-
this.builder.meta.rawArgs = argv.slice(options?.from === 'user' ? 0 : 2);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
this.builder.meta.rawArgs = process.argv.slice(2);
|
|
15
|
-
}
|
|
16
|
-
return oldParse.call(this, argv, options);
|
|
17
|
-
};
|
|
18
|
-
const oldParseAsync = extra_typings_1.Command.prototype.parseAsync;
|
|
19
|
-
extra_typings_1.Command.prototype.parseAsync = async function (argv, options) {
|
|
20
|
-
if (argv) {
|
|
21
|
-
argv = (0, splitCombinedArgvShorts_1.splitCombinedArgvShorts)(argv.slice());
|
|
22
|
-
this.builder.meta.rawArgs = argv.slice(options?.from === 'user' ? 0 : 2);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.builder.meta.rawArgs = process.argv.slice(2);
|
|
26
|
-
}
|
|
27
|
-
return await oldParseAsync.call(this, argv, options);
|
|
28
|
-
};
|
|
29
|
-
Object.defineProperty(extra_typings_1.Command.prototype, 'builder', {
|
|
30
|
-
get() {
|
|
31
|
-
const ins = exports.commanderBackRefs.get(this);
|
|
32
|
-
if (!ins)
|
|
33
|
-
throw new Error(`CommandBuilder not found for command ${this.name()}`);
|
|
34
|
-
return ins;
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
//# sourceMappingURL=overrideCommanderPrototype.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overrideCommanderPrototype.js","sourceRoot":"","sources":["../../../src/proto/overrideCommanderPrototype.ts"],"names":[],"mappings":";;;AACA,+DAAqD;AAGrD,6EAAyE;AAE5D,QAAA,iBAAiB,GAAG,IAAI,OAAO,EAA+C,CAAA;AAE3F,MAAM,QAAQ,GAAG,uBAAO,CAAC,SAAS,CAAC,KAAK,CAAA;AACxC,uBAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,KAAK,CAAgB,IAAwB,EAAE,OAAsB;IACtG,IAAI,IAAI,EAAE;QACR,IAAI,GAAG,IAAA,iDAAuB,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACzE;SAAM;QACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAClD;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,uBAAO,CAAC,SAAS,CAAC,UAAU,CAAA;AAClD,uBAAO,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,WAA0B,IAAwB,EAAE,OAAsB;IAC5G,IAAI,IAAI,EAAE;QACR,IAAI,GAAG,IAAA,iDAAuB,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACzE;SAAM;QACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAClD;IACD,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC,CAAA;AACD,MAAM,CAAC,cAAc,CAAC,uBAAO,CAAC,SAAS,EAAE,SAAS,EAAE;IAClD,GAAG;QACD,MAAM,GAAG,GAAG,yBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAChF,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAC,CAAA"}
|
package/dist/esm/cmd/CLI.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { CommandBuilder } from './CommandBuilder';
|
|
2
|
-
export function CLI(name, callback) {
|
|
3
|
-
return () => new CommandBuilder(name, callback).commander;
|
|
4
|
-
}
|
|
5
|
-
/*
|
|
6
|
-
|
|
7
|
-
TODO: should return a class that offers:
|
|
8
|
-
- command
|
|
9
|
-
- main
|
|
10
|
-
- action
|
|
11
|
-
*/
|
|
12
|
-
//# sourceMappingURL=CLI.js.map
|
package/dist/esm/cmd/CLI.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../../src/cmd/CLI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAA6D;IAC7F,OAAO,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAA;AAC3D,CAAC;AAED;;;;;;EAME"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Command } from '@commander-js/extra-typings';
|
|
2
|
-
import { splitCombinedArgvShorts } from '../core/splitCombinedArgvShorts';
|
|
3
|
-
export const commanderBackRefs = new WeakMap();
|
|
4
|
-
const oldParse = Command.prototype.parse;
|
|
5
|
-
Command.prototype.parse = function parse(argv, options) {
|
|
6
|
-
if (argv) {
|
|
7
|
-
argv = splitCombinedArgvShorts(argv.slice());
|
|
8
|
-
this.builder.meta.rawArgs = argv.slice(options?.from === 'user' ? 0 : 2);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
this.builder.meta.rawArgs = process.argv.slice(2);
|
|
12
|
-
}
|
|
13
|
-
return oldParse.call(this, argv, options);
|
|
14
|
-
};
|
|
15
|
-
const oldParseAsync = Command.prototype.parseAsync;
|
|
16
|
-
Command.prototype.parseAsync = async function (argv, options) {
|
|
17
|
-
if (argv) {
|
|
18
|
-
argv = splitCombinedArgvShorts(argv.slice());
|
|
19
|
-
this.builder.meta.rawArgs = argv.slice(options?.from === 'user' ? 0 : 2);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
this.builder.meta.rawArgs = process.argv.slice(2);
|
|
23
|
-
}
|
|
24
|
-
return await oldParseAsync.call(this, argv, options);
|
|
25
|
-
};
|
|
26
|
-
Object.defineProperty(Command.prototype, 'builder', {
|
|
27
|
-
get() {
|
|
28
|
-
const ins = commanderBackRefs.get(this);
|
|
29
|
-
if (!ins)
|
|
30
|
-
throw new Error(`CommandBuilder not found for command ${this.name()}`);
|
|
31
|
-
return ins;
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
//# sourceMappingURL=overrideCommanderPrototype.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overrideCommanderPrototype.js","sourceRoot":"","sources":["../../../src/proto/overrideCommanderPrototype.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA+C,CAAA;AAE3F,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAA;AACxC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,KAAK,CAAgB,IAAwB,EAAE,OAAsB;IACtG,IAAI,IAAI,EAAE;QACR,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACzE;SAAM;QACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAClD;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAA;AAClD,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,WAA0B,IAAwB,EAAE,OAAsB;IAC5G,IAAI,IAAI,EAAE;QACR,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACzE;SAAM;QACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAClD;IACD,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC,CAAA;AACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE;IAClD,GAAG;QACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAChF,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAC,CAAA"}
|
package/dist/types/cmd/CLI.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Command } from '@commander-js/extra-typings';
|
|
2
|
-
import { CommandBuilder } from '../cmd/CommandBuilder';
|
|
3
|
-
export declare const commanderBackRefs: WeakMap<Command<any, any>, CommandBuilder<any, any>>;
|
|
4
|
-
declare module '@commander-js/extra-typings' {
|
|
5
|
-
interface Command {
|
|
6
|
-
get builder(): CommandBuilder;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { CLI } from '../../src/cmd/CLI'
|
|
2
|
-
|
|
3
|
-
console.time('load')
|
|
4
|
-
|
|
5
|
-
const init = CLI('demo', (c) => {
|
|
6
|
-
c.argument('[arg1...]', (a) => a.default('lol'))
|
|
7
|
-
c.argument('[arg2]')
|
|
8
|
-
c.action((arg1, arg2, arg3) => {
|
|
9
|
-
console.log({ arg1, arg2, arg3 })
|
|
10
|
-
})
|
|
11
|
-
})
|
|
12
|
-
console.timeEnd('load')
|
|
13
|
-
|
|
14
|
-
console.time('init')
|
|
15
|
-
const cli = init()
|
|
16
|
-
console.timeEnd('init')
|
|
17
|
-
|
|
18
|
-
console.time('exec')
|
|
19
|
-
cli.parse()
|
|
20
|
-
console.timeEnd('exec')
|
package/src/cmd/CLI.test.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CLI } from './CLI'
|
|
2
|
-
|
|
3
|
-
describe(CLI.name, () => {
|
|
4
|
-
it('should not initialize immediately', () => {
|
|
5
|
-
let hasRun = false
|
|
6
|
-
const init = CLI('test', () => {
|
|
7
|
-
hasRun = true
|
|
8
|
-
})
|
|
9
|
-
expect(typeof init).toBe('function')
|
|
10
|
-
expect(hasRun).toBe(false)
|
|
11
|
-
init()
|
|
12
|
-
expect(hasRun).toBe(true)
|
|
13
|
-
})
|
|
14
|
-
})
|
package/src/cmd/CLI.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CommandBuilder } from './CommandBuilder'
|
|
2
|
-
|
|
3
|
-
export function CLI(name: string, callback: (this: CommandBuilder, cmd: CommandBuilder) => void) {
|
|
4
|
-
return () => new CommandBuilder(name, callback).commander
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/*
|
|
8
|
-
|
|
9
|
-
TODO: should return a class that offers:
|
|
10
|
-
- command
|
|
11
|
-
- main
|
|
12
|
-
- action
|
|
13
|
-
*/
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { Any } from '../util/types/Any'
|
|
2
|
-
import { Command } from '@commander-js/extra-typings'
|
|
3
|
-
import { CommandBuilder } from '../cmd/CommandBuilder'
|
|
4
|
-
import type { ParseOptions } from '@commander-js/extra-typings'
|
|
5
|
-
import { splitCombinedArgvShorts } from '../core/splitCombinedArgvShorts'
|
|
6
|
-
|
|
7
|
-
export const commanderBackRefs = new WeakMap<Command<Any, Any>, CommandBuilder<Any, Any>>()
|
|
8
|
-
|
|
9
|
-
const oldParse = Command.prototype.parse
|
|
10
|
-
Command.prototype.parse = function parse(this: Command, argv?: readonly string[], options?: ParseOptions) {
|
|
11
|
-
if (argv) {
|
|
12
|
-
argv = splitCombinedArgvShorts(argv.slice())
|
|
13
|
-
this.builder.meta.rawArgs = argv.slice(options?.from === 'user' ? 0 : 2)
|
|
14
|
-
} else {
|
|
15
|
-
this.builder.meta.rawArgs = process.argv.slice(2)
|
|
16
|
-
}
|
|
17
|
-
return oldParse.call(this, argv, options)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const oldParseAsync = Command.prototype.parseAsync
|
|
21
|
-
Command.prototype.parseAsync = async function (this: Command, argv?: readonly string[], options?: ParseOptions) {
|
|
22
|
-
if (argv) {
|
|
23
|
-
argv = splitCombinedArgvShorts(argv.slice())
|
|
24
|
-
this.builder.meta.rawArgs = argv.slice(options?.from === 'user' ? 0 : 2)
|
|
25
|
-
} else {
|
|
26
|
-
this.builder.meta.rawArgs = process.argv.slice(2)
|
|
27
|
-
}
|
|
28
|
-
return await oldParseAsync.call(this, argv, options)
|
|
29
|
-
}
|
|
30
|
-
Object.defineProperty(Command.prototype, 'builder', {
|
|
31
|
-
get(this: Command) {
|
|
32
|
-
const ins = commanderBackRefs.get(this)
|
|
33
|
-
if (!ins) throw new Error(`CommandBuilder not found for command ${this.name()}`)
|
|
34
|
-
return ins
|
|
35
|
-
},
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
declare module '@commander-js/extra-typings' {
|
|
39
|
-
interface Command {
|
|
40
|
-
get builder(): CommandBuilder
|
|
41
|
-
}
|
|
42
|
-
}
|