@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.
Files changed (48) hide show
  1. package/dist/cjs/_example/bFindIn.js +189 -0
  2. package/dist/cjs/_example/bFindIn.js.map +1 -0
  3. package/dist/cjs/cmd/CommandBuilder.js +34 -52
  4. package/dist/cjs/cmd/CommandBuilder.js.map +1 -1
  5. package/dist/cjs/cmd/CommandBuilderMetaData.js +1 -0
  6. package/dist/cjs/cmd/CommandBuilderMetaData.js.map +1 -1
  7. package/dist/cjs/index.js +1 -2
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/esm/_example/bFindIn.js +187 -0
  10. package/dist/esm/_example/bFindIn.js.map +1 -0
  11. package/dist/esm/cmd/CommandBuilder.js +32 -50
  12. package/dist/esm/cmd/CommandBuilder.js.map +1 -1
  13. package/dist/esm/cmd/CommandBuilderMetaData.js +1 -0
  14. package/dist/esm/cmd/CommandBuilderMetaData.js.map +1 -1
  15. package/dist/esm/index.js +1 -2
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/types/_example/bFindIn.d.ts +1 -0
  18. package/dist/types/cmd/CommandBuilder.d.ts +6 -0
  19. package/dist/types/cmd/CommandBuilderMetaData.d.ts +1 -0
  20. package/dist/types/index.d.ts +1 -2
  21. package/package.json +1 -1
  22. package/project.json +1 -0
  23. package/{scripts → src}/_example/CommandBuilder.example.ts +5 -9
  24. package/{scripts → src}/_example/CommandBuilder.example2.ts +3 -4
  25. package/{scripts → src}/_example/bFindIn.ts +5 -12
  26. package/src/arg/ArgumentParserSelector.test.ts +9 -9
  27. package/src/arg/ArgumentValidatorSelector.test.ts +17 -17
  28. package/src/cmd/CommandBuilder.test.ts +19 -19
  29. package/src/cmd/CommandBuilder.ts +42 -53
  30. package/src/cmd/CommandBuilderMetaData.ts +1 -0
  31. package/src/index.ts +2 -3
  32. package/src/opt/OptionArgumentParserSelector.test.ts +16 -15
  33. package/src/opt/OptionArgumentValidatorSelector.test.ts +16 -17
  34. package/src/util/array/arrSome.test.ts +3 -3
  35. package/dist/cjs/cmd/CLI.js +0 -16
  36. package/dist/cjs/cmd/CLI.js.map +0 -1
  37. package/dist/cjs/proto/overrideCommanderPrototype.js +0 -37
  38. package/dist/cjs/proto/overrideCommanderPrototype.js.map +0 -1
  39. package/dist/esm/cmd/CLI.js +0 -12
  40. package/dist/esm/cmd/CLI.js.map +0 -1
  41. package/dist/esm/proto/overrideCommanderPrototype.js +0 -34
  42. package/dist/esm/proto/overrideCommanderPrototype.js.map +0 -1
  43. package/dist/types/cmd/CLI.d.ts +0 -2
  44. package/dist/types/proto/overrideCommanderPrototype.d.ts +0 -8
  45. package/scripts/_example/CommandBuilder.example3.ts +0 -20
  46. package/src/cmd/CLI.test.ts +0 -14
  47. package/src/cmd/CLI.ts +0 -13
  48. 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"}
@@ -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
@@ -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"}
@@ -1,2 +0,0 @@
1
- import { CommandBuilder } from './CommandBuilder';
2
- export declare function CLI(name: string, callback: (this: CommandBuilder, cmd: CommandBuilder) => void): () => import("@commander-js/extra-typings").Command<unknown[], import("@commander-js/extra-typings").OptionValues>;
@@ -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')
@@ -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
- }