@node-cli/parser
Advanced tools
+1
-0
@@ -29,2 +29,3 @@ type Flags = { | ||
| export declare const parser: (configuration: ParserConfiguration) => { | ||
| showHelp: (exitCode?: number) => never; | ||
| flags: object; | ||
@@ -31,0 +32,0 @@ parameters: object; |
+1
-0
@@ -14,2 +14,3 @@ import { meowOptionsHelper, meowParserHelper, shallowMerge } from "./utilities.js"; | ||
| return { | ||
| showHelp: cli.showHelp, | ||
| flags: shallowMerge(defaultFlags, cli.flags), | ||
@@ -16,0 +17,0 @@ parameters: shallowMerge(defaultParameters, cli.input) |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/parser.ts"],"sourcesContent":["import {\n\tmeowOptionsHelper,\n\tmeowParserHelper,\n\tshallowMerge,\n} from \"./utilities.js\";\n\nimport meow from \"meow\";\n\ntype Flags = {\n\t[key: string]: {\n\t\tshortFlag?: string;\n\t\tdefault?: string | number | boolean;\n\t\tdescription: string;\n\t\ttype: string;\n\t};\n};\ntype Parameters = {\n\t[key: string]: {\n\t\tdefault?: string | number | boolean;\n\t\tdescription: string;\n\t};\n};\nexport type ParserConfiguration = {\n\tmeta: any;\n\tflags?: Flags;\n\tparameters?: Parameters;\n\tusage?: boolean | string;\n\texamples?:\n\t\t| string\n\t\t| { command?: string; description?: string; comment?: string }[];\n\tdefaultFlags?: any;\n\tdefaultParameters?: any;\n};\n\nexport const parser = (configuration: ParserConfiguration) => {\n\tconst {\n\t\tmeta,\n\t\tdefaultFlags = {},\n\t\tdefaultParameters = {},\n\t\t...others\n\t} = configuration;\n\tconst { helpText, options } = meowOptionsHelper(others);\n\tconst cli = meow(helpText, {\n\t\t...options,\n\t\timportMeta: meta,\n\t});\n\tmeowParserHelper({ cli });\n\n\treturn {\n\t\tflags: shallowMerge(defaultFlags, cli.flags),\n\t\tparameters: shallowMerge(defaultParameters, cli.input),\n\t};\n};\n"],"names":["meowOptionsHelper","meowParserHelper","shallowMerge","meow","parser","configuration","meta","defaultFlags","defaultParameters","others","helpText","options","cli","importMeta","flags","parameters","input"],"mappings":"AAAA,SACCA,iBAAiB,EACjBC,gBAAgB,EAChBC,YAAY,QACN,iBAAiB;AAExB,OAAOC,UAAU,OAAO;AA4BxB,OAAO,MAAMC,SAAS,CAACC;IACtB,MAAM,EACLC,KAAI,EACJC,cAAe,CAAC,EAAC,EACjBC,mBAAoB,CAAC,EAAC,EACtB,GAAGC,QACH,GAAGJ;IACJ,MAAM,EAAEK,SAAQ,EAAEC,QAAO,EAAE,GAAGX,kBAAkBS;IAChD,MAAMG,MAAMT,KAAKO,UAAU;QAC1B,GAAGC,OAAO;QACVE,YAAYP;IACb;IACAL,iBAAiB;QAAEW;IAAI;IAEvB,OAAO;QACNE,OAAOZ,aAAaK,cAAcK,IAAIE;QACtCC,YAAYb,aAAaM,mBAAmBI,IAAII;IACjD;AACD,EAAE"} | ||
| {"version":3,"sources":["../src/parser.ts"],"sourcesContent":["import {\n\tmeowOptionsHelper,\n\tmeowParserHelper,\n\tshallowMerge,\n} from \"./utilities.js\";\n\nimport meow from \"meow\";\n\ntype Flags = {\n\t[key: string]: {\n\t\tshortFlag?: string;\n\t\tdefault?: string | number | boolean;\n\t\tdescription: string;\n\t\ttype: string;\n\t};\n};\ntype Parameters = {\n\t[key: string]: {\n\t\tdefault?: string | number | boolean;\n\t\tdescription: string;\n\t};\n};\nexport type ParserConfiguration = {\n\tmeta: any;\n\tflags?: Flags;\n\tparameters?: Parameters;\n\tusage?: boolean | string;\n\texamples?:\n\t\t| string\n\t\t| { command?: string; description?: string; comment?: string }[];\n\tdefaultFlags?: any;\n\tdefaultParameters?: any;\n};\n\nexport const parser = (configuration: ParserConfiguration) => {\n\tconst {\n\t\tmeta,\n\t\tdefaultFlags = {},\n\t\tdefaultParameters = {},\n\t\t...others\n\t} = configuration;\n\tconst { helpText, options } = meowOptionsHelper(others);\n\tconst cli = meow(helpText, {\n\t\t...options,\n\t\timportMeta: meta,\n\t});\n\tmeowParserHelper({ cli });\n\n\treturn {\n\t\tshowHelp: cli.showHelp,\n\t\tflags: shallowMerge(defaultFlags, cli.flags),\n\t\tparameters: shallowMerge(defaultParameters, cli.input),\n\t};\n};\n"],"names":["meowOptionsHelper","meowParserHelper","shallowMerge","meow","parser","configuration","meta","defaultFlags","defaultParameters","others","helpText","options","cli","importMeta","showHelp","flags","parameters","input"],"mappings":"AAAA,SACCA,iBAAiB,EACjBC,gBAAgB,EAChBC,YAAY,QACN,iBAAiB;AAExB,OAAOC,UAAU,OAAO;AA4BxB,OAAO,MAAMC,SAAS,CAACC;IACtB,MAAM,EACLC,KAAI,EACJC,cAAe,CAAC,EAAC,EACjBC,mBAAoB,CAAC,EAAC,EACtB,GAAGC,QACH,GAAGJ;IACJ,MAAM,EAAEK,SAAQ,EAAEC,QAAO,EAAE,GAAGX,kBAAkBS;IAChD,MAAMG,MAAMT,KAAKO,UAAU;QAC1B,GAAGC,OAAO;QACVE,YAAYP;IACb;IACAL,iBAAiB;QAAEW;IAAI;IAEvB,OAAO;QACNE,UAAUF,IAAIE;QACdC,OAAOb,aAAaK,cAAcK,IAAIG;QACtCC,YAAYd,aAAaM,mBAAmBI,IAAIK;IACjD;AACD,EAAE"} |
+2
-2
| { | ||
| "name": "@node-cli/parser", | ||
| "version": "2.0.0", | ||
| "version": "2.1.0", | ||
| "license": "MIT", | ||
@@ -35,3 +35,3 @@ "author": "Arno Versini", | ||
| }, | ||
| "gitHead": "5d4bd8b98b32bdd62be28061190fe766767ec7f7" | ||
| "gitHead": "04fc495165a21ef51a94175dac632e733759eab4" | ||
| } |
+11
-2
@@ -9,3 +9,3 @@ # Parser | ||
| **parser(options) ⇒ { flags, parameters }** | ||
| **parser(options) ⇒ { flags, parameters, showHelp }** | ||
@@ -29,3 +29,4 @@ ## Arguments | ||
| import { parser } from "@node-cli/parser"; | ||
| const { flags, parameters } = parser({ | ||
| const { flags, parameters, showHelp } = parser({ | ||
| meta: import.meta, // this is required for --version to work correctly | ||
@@ -75,2 +76,6 @@ examples: [ | ||
| }); | ||
| // `flags` will be an object with what the user provided | ||
| // `parameters` will be an object with what the user provided | ||
| // `showHelp` is a method that can be invoked to display help instructions | ||
| ``` | ||
@@ -81,1 +86,5 @@ | ||
| If options `--version` or `--help` are used, they will automatically print version or help, respectively, and exit with 0 (`process.exit(0)`). | ||
| ## License | ||
| MIT © Arno Versini |
25620
1.52%254
0.79%87
11.54%