Files
Virtual-Box/.npm/_cacache/content-v2/sha512/4e/15/a804aeb7eae1a3892b64efd4edda1de5da16a81ada2c106da534f7a6a81f2542b99f945b5d4029ab8fc36dc759ad4d07665ce170d055f06254ab5367cfb9
2025-12-02 16:27:21 +00:00

1 line
36 KiB
Plaintext

{"_id":"cliss","_rev":"9-85c1aa3c952a09158688dfdfb469038f","name":"cliss","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"cliss","version":"0.0.1","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"0.0.9","object-to-arguments":"0.0.8","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^7.0.0"},"devDependencies":{"mocha":"^4.0.1"},"gitHead":"d44a7276da97b843c5788b870087c5ddb53fc9c6","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-SYwwnSimeVcN39Uc+Mp8B9KTTIzRZy4iqBi5onCF6/L5pFhK1cdDThIqGxtuxq8oJ2VgWA4Yt8BQYbUrA1zDKw==","shasum":"49deabfeccd70124e0fb8c1648eba1810d941419","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXSHXsGJDnRn59JhA2T9BvyKC53+2C2cpyi2KYRkwHiwIgWgv93Kk7PcGFZgTNh5eQwbgRnkdhpaeDR2mrOEd/RCM="}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss-0.0.1.tgz_1509812556633_0.3230929912533611"},"directories":{}},"0.0.2":{"name":"cliss","version":"0.0.2","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"0.0.9","object-to-arguments":"0.0.8","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^7.0.0"},"devDependencies":{"mocha":"^4.0.1"},"gitHead":"75eb1636deababd63e4e10c6f051a38981bfb6ed","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-6rj9pgdukjT994Md13JCUAgTk91abAKrygL9sAvmHY4F6AKMOV8ccGaxhUUfcBuyg3sundWnn3JE0Mc9W6ZYqw==","shasum":"aa8bd77af7df3cb93b9ea963c1c49a0773c52a3a","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHICcojZJNU3VzeNFn5E9OzJZFAHAVc/dsz+vompUn1gIhAId8eGR5+w0A2blaqEp7tpZ1sYLE/RAJhtFXP8z5AHRm"}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss-0.0.2.tgz_1509909465822_0.18185832165181637"},"directories":{}},"0.0.3":{"name":"cliss","version":"0.0.3","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"0.0.9","object-to-arguments":"0.0.8","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^7.0.0"},"devDependencies":{"mocha":"^4.0.1"},"gitHead":"cf13a8366e827610368fae6f8a7d7208117d17a6","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-v9m6sr6+FH8IDC+fDfEHzKqrVdsMpsX5yg/lNK/pV5MovCrWAdQy7cGRglwK+NI8tFajWTn13BW81yDkHFRpDg==","shasum":"11307be511f9af04146e3abe287c7c01968fa48f","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHRufrEqTI8W7q7pBmLOCgdOLRX0c+HoFkJob0HKZfLDAiEAlzRutqH0kpSPEYOM04pL/Xx9uLVDNu/ZQ7Fr1/SZRVo="}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss-0.0.3.tgz_1509913566644_0.07292712829075754"},"directories":{}},"0.0.4":{"name":"cliss","version":"0.0.4","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"0.0.9","object-to-arguments":"0.0.8","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^7.0.0"},"devDependencies":{"mocha":"^4.0.1"},"gitHead":"021c93b4bfc4b9c74a656e31cb9c3a69a943c770","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-05h12wSG5L+m4cH+cTVb6W99NOy1me2/Xl7EmZC2xLfIwE5OnxNU7PO8hl7HLsrtBwKWeCjMmuaSivN6mDgG4w==","shasum":"6b71769d67dc192979afd7eeb9a8e3e5afe10d54","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKS4KcFwCqHWZWpa5LHa6homXk9XCX2TMx7F10xdY5EAIgCSYfam538YDSRV7DrvOwQa9aCGVGKSDuqO1S2EF6M+k="}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss-0.0.4.tgz_1509919309824_0.8167635868303478"},"directories":{}},"0.0.5":{"name":"cliss","version":"0.0.5","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"0.0.9","object-to-arguments":"0.0.8","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^7.0.0"},"devDependencies":{"mocha":"^4.0.1"},"gitHead":"92c3d731d988f4e398085da0a1d4ead47d6d61fa","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.5","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-55ykhSXBbxw+TkG71x1CFTc8D5+4xM7rdZFJKA24ExrD24uy5GSDGBEZZkr/lI9S792q1pweC6gmPBZVHH17lQ==","shasum":"c30771e8106a6402da365b6abbf546cf95271354","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDu9wa9q/02iC1q72OOmJSprK8oeYPCMHuBbdk6Gz/5+AIhAIAx35qKizTqB/leb4ts/4Ad1n4kLODai5ZKVhsObENo"}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss-0.0.5.tgz_1510501872327_0.40685674035921693"},"directories":{}},"0.0.6":{"name":"cliss","version":"0.0.6","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"^0.1.0","object-to-arguments":"^0.1.0","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^7.0.0"},"devDependencies":{"mocha":"^4.0.1"},"gitHead":"ef057551d580472454adca536da3a9bd0e20832a","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.6","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-l3S2pctj8pb6hQQL8g5JX37n//5ol2o4BajCjdvVbgsDBTjSDAk47p4rQc00J46Ks4/PtQY1Fws2XbL5BTgD9w==","shasum":"8803e7f37568295ceb91d8c5f2219498e42a44f6","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.6.tgz","fileCount":16,"unpackedSize":36226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0ntBCRA9TVsSAnZWagAA6MkP/0bdJkZUZo70JLhGGsMI\nIffwYhv2iASXBGfqGqcKkt7FU9qKl3g7xEa1WToSvQVBD90j4CIyuUiSrMqF\n0RmeUcCb0jMyGWRbNiL5UYcSBpMNpW7WVS+D1aS5Lgsc98UtbU6EYVXjqWT4\nzQnav8+yu2j9zzVvySxt8rz6cCbMVOIs0O07JYhc9jNltSVThEBS5PQUxnN2\nCmNlvnEIXbdVfstuTqQjql6lwhONKiw1btb5cexCh9s02BKIJTqEG8HOq6RK\nrQn+XXyeDZUKoKJ9E21wgvvJstLeL38XS4oe+il5W9DeFsaP++hm9q6anSur\nQzhM7eBeEzQjNutjFHGr2HOh4XIAtB/W2mA8hMiAw6+H0vBeu1TSpFXQvMiz\nO+UW5EMB/O91Z6qROqf9jx08IRUlwYknlcy8UdlfPhQAnD/elrSPhCrifxrW\nQCwOlvibOe3II4830hEzQdNqoMC+7qMyNMIEIoSkKwgzwgdaCLrWhYf/c04R\njLEZ9ds6vrvbrbxG4OVHfrjJKic9xU0Lv1ZSauVPRz/Tx7utDwB7gDnK1fIK\nsbzZsnf9j1zgymJFV0sPlYs1uwGEqXz+o6ettVr/Tk+r1dTlhyfHRM8gqn3i\nKz+Hrzr68X2+LadjdlsOfeEB5xxk+9YvVuQDewHrr6I0aQeGbWA4yFguExvf\nwwUB\r\n=tLkB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHggiNfKanI89oFBwEYpH8pUXouE3OKInbQNmfsW0IKSAiBUve2lMxb19otLc2esrAIX06MaMLId8j7OOZWCb49uvQ=="}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss_0.0.6_1540520768431_0.9478421762004701"},"_hasShrinkwrap":false},"0.0.7":{"name":"cliss","version":"0.0.7","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"^0.1.0","object-to-arguments":"^0.1.0","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^7.0.0"},"devDependencies":{"mocha":"^4.0.1"},"gitHead":"0ea45e8444fb6bb633261cb3b65853c54cadc4b7","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.7","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-Wbh4uM9KVZO7qTG4uvsYLqIssJ7d34JyLDVcIh2zQ9Fak3NijzzyuF+V7rBGf95fGrk5/XO766smV9wZvEtHVw==","shasum":"03fc62c01b4ddfd8488fda5f4b9ece161fc54fd9","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.7.tgz","fileCount":16,"unpackedSize":36796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0odnCRA9TVsSAnZWagAAHd8P/AhVE4sb66XhOymxejk6\nCwFDZ2ccAKw8KwLxAeftteutj+a0xMNOJKdrKoxyiJhtyXz23fiwAeNUaGbX\nlojwO9i4K3yjkuWRQmAhgfIvDf8sZpvKCGPWfE4/PPSPeJ/37gwlDdeFapJy\nbCM+JNbuLP+S6L11Qyj4O/slVgJBMH4ogPsJMxDp3giYmkqj6WneUaxT8rfF\nIEhgUY4kR0gT+086SZFiHsK5kh5IcNeqB/ePloXBeVTStyCPiLGdWLuJyYhc\nKe2KZUUuWx3fFogJwYnaDxsRXK6v9GJP2rkfzgxP4Rjgg/Lh2EjVfTzcrEQS\nvWpIpxpzAmKrfhPGSZ4A6TlUCnwSDUSZ8Y8CBzxvzmPrHptayx8S0kTNV8Fh\nq5x3V+/rC0fU2BJglkIDA5pLjf6PM+YGKeMfdxpr0BzZnyTKCG6eYflPs1Q0\nZ/LSf0MwGhlEXFiNtNHn0lUzyvuLOdwCKUI/wWug7ETy/IP8rMzfxxX/q6CV\nnpLF94YL0X3NR8366gRbmSP1fyqqcGMeEsCpWzpcKfObfqBs6JWXL81KKfmr\n3Oa4uqYT+B6Z5ygIihQxGRiREZ1V9vzDv9NVUKBHebVl/0n5Tcv78Rre2j46\nV3SI2tSlowlNy/RjE8CG495TUEnqmi6u3owibQvXEbrYb/aEnuoOwkj9Lv0l\nfn3q\r\n=ZPLu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+rYQuueRi6krZp44JpN/v+ZIPLC+H2GuO9/36vDXjJwIgXE6OGCG4CZJdXQI62WYsig3viC/+cwyxVa9jTsiXyiY="}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss_0.0.7_1540523878056_0.2577285602810784"},"_hasShrinkwrap":false},"0.0.8":{"name":"cliss","version":"0.0.8","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"^0.1.0","object-to-arguments":"^0.1.0","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^7.0.0"},"devDependencies":{"mocha":"^4.0.1"},"gitHead":"aa769e057fd29145fa6966e5ca8a2f5136791f1a","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.8","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-kQ5X6bzVdfTSnyvCeqSnOsWBFFL53XQAVwSht3NFD2eq6eFl6pZLphR0/W1kPVWoMEI7OSUiggfQP9I/4HEu6Q==","shasum":"9579144c0e3730ca87a43650a981ef3367681bfa","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.8.tgz","fileCount":18,"unpackedSize":37900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdf8DCRA9TVsSAnZWagAAOwUP/2nIFB7SDmQ/1hageHmD\nl6bJnX6SEZHjukcKHqV7WCgArRBVXiPqR02OSJk53W497wQjZYcM0s5fqUg6\npPAa1AjI/3nThoJC61u7SGLnMLN4MVnSw+q38IRHABym5xfCBV0GYviepC35\nPhgvgM8AUIC9Y/JKnR8HpVbK57Ou7RgI8wcoy9qu6nnp2G62vcUtOcj9nfDZ\nDFruql2t+T1IJNWZjd75GdjiVSB1RrAcj3r4kTyNEyBGkLgy6NkzxFeEwqC2\nvSdMz6U0fHW8lv3SxssrIbMUw2Kdw6Gae2/eeSlHQ1thaASWsSu58tIv/tZj\ntmaO0dm5sbdP3UjinfFCFSDwfFLBRcNqJMu31CAp6l4jO6R/tgHrHvj7xUG+\n4kGzTEqT5rVvq5dpgsM3abzpuSTLThhrtDrLW6KZ+FNbAMQ1UWR6CPZ7kz06\nJW8e4bopSscslGYM/eFxevz0t1ZJmPpp/zruSZapVkJdAPbZEG1kWE/LSK2s\nn78B+lBC4Swg9KVe9QZ7fotJ88Llu11m9hD96N1y42j0BKveA5Z53B4045gt\nloLFCsyllw/p4v+wj7DOrgnOdEkHmcYb0f/AYEN2GEDMcxPwrcobzhVVqLzS\nPzz4KQYD6FZe9QulsYaXol78mKEdjZsa28jca3ZTladpYoumW9Q2DCxg5b2m\nGuVx\r\n=B535\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMuPbShjq1zr2AxNPMyILIyw+DKB5j8lphTZB4WW1XUAIhAN2MPCvwjGE89K/Z/+ShaeLgNJREhaoWJvVxqGRYz4nj"}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss_0.0.8_1551236866810_0.7315017388135372"},"_hasShrinkwrap":false},"0.0.9":{"name":"cliss","version":"0.0.9","description":"CLI Simple, Stupid. Automatic discovery of parameters names. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand. Support to sync / async. Sup","main":"./lib/cliss.js","scripts":{"test":"mocha ./test/main.test.js ./test/main.test.pipe.stdin.js"},"author":"","license":"ISC","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"dependencies":{"command-line-usage":"^4.0.1","deepmerge":"^2.0.0","get-stdin":"^5.0.1","inspect-parameters-declaration":"^0.1.0","object-to-arguments":"^0.1.0","pipe-functions":"^1.3.0","strip-ansi":"^4.0.0","yargs-parser":"^20.2.4"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"0dc0eaf4e6320d6228450d0a3bafc1910ecaf3a7","bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","_id":"cliss@0.0.9","_nodeVersion":"15.6.0","_npmVersion":"7.4.0","dist":{"integrity":"sha512-DssVHVX5QEWd5ewm/7mVO7iLbuAkEkxxGkXgWihgfCA5L0XY9hD6jpaX84G8KkcMdS4kIEnGZOP4A2iUBsQDpA==","shasum":"729e4078e10dce2da4bc4e22e047cf0b1d850b25","tarball":"https://registry.npmjs.org/cliss/-/cliss-0.0.9.tgz","fileCount":19,"unpackedSize":38642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCz0TCRA9TVsSAnZWagAAvqEQAJXeF4XkfwvpS1JuWfE9\nDGnfjsA8ZGKACkxRVmoSn6oJtIsiKGxxP1NGw9/okq1rGvAcBlSM7xFvxndF\nFVaEVptrYf4t2DjPN9C6nGTqHnTNkYZ3PBPovG0jWGUnBm6tit/Y44Jqq8YV\njTikagWW10UQuUQ//oRYvaUxaMk6VRIFdQXsPkC512yEwV66/hQkxo4MhGps\ndT3ejwMwkbCO6wd/jgD+uYzdlto1MQhS6fFksDajyDRHyzQNLBuhqrZFghUh\n3+cHaly8MzixE4vocpPjHkPFg7iU9BFTsjhBKeRzIiV6bE3c7CoDpg7uO0eb\nk6lglxYLUAM72GAG9YZYhhZBVZxfrCv8TcgL2C1dtHX6IsgmG+/fG8c8cgYv\nZNGdgmZ3CrfYPYja3hTOLAvPJ6rK73B1JWlk6NHkTWoPECKIbM6LE4Eoq/5o\nOIsglESvU3a+WpVOiP9D1efT5umj5yljtR3+STwbm7NVwXe2nJ+7NSz2hHot\n8RZPATbQXTowinEM3reoGRrKFS5FstaQ5lX7VrnS7HrbJYYmzduPMos5g1wR\nrY+ziWrUzU2XLbXEg0sWFwSutXQI3K12JaIwY6kZzLFuTA/yAFm6lvAKdtx/\nz7vDMpfRrsgeukSPlOd20knvkbcABUQsquPTFAYyGbDyhfXgfqhtYwjC9jWf\nr9ID\r\n=vv0e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJ2nsD3Vv3FEC8LeEd0kAZlMRdEpB1jmTmp0M0i/41IAIgUPr4JAFtCT1IGN3WfYi3hQ2P5iPq2vUMh/X5avwQ9Aw="}]},"_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"directories":{},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cliss_0.0.9_1611349266824_0.824995897517327"},"_hasShrinkwrap":false}},"readme":"# CLIss\n\n[![Build Status](https://api.travis-ci.org/DiegoZoracKy/cliss.svg)](https://travis-ci.org/DiegoZoracKy/cliss) [![npm](https://img.shields.io/npm/v/cliss.svg)]() [![npm](https://img.shields.io/npm/l/cliss.svg)]()\n\nCLI Simple, Stupid. Automatic discovery of parameters names and support to subcommands down to N levels. Provides an easy and minimal setup by passing in only a function reference without the need of declaring all expected options names or create a help section by hand.\n\nSide note: It is worth taking a look at [MagiCLI](https://github.com/DiegoZoracKy/magicli), which is a module capable to create a CLI interface automatically for a module, instead of creating one by hand.\n\n## Goals\n\n * Simple and easy API\n * Easy minimal setup, extracting options names from functions parameters\n * Out of the box support to sync or async (Promise) functions\n * Subcommands down to N levels\n * Automatic Help section generation, that can be improved only when needed\n\n## Installation\n\n```bash\n$ npm install cliss\n```\n\n## Usage\n\nThrough this section we'll be going from the most minimal usage of the module, where options names are extracted from functions parameters:\n```javascript\nconst func = (param1, param2) => `${param1}_${param2}`;\ncliss(func);\n```\n\nto a version using all the possible options it provides:\n\n```javascript\nconst cliSpec = {\n\tname,\n\tdescription,\n\tversion,\n\toptions: [{\n\t\tname,\n\t\tdescription,\n\t\trequired,\n\t\ttype\n\t}],\n\tpipe: {\n\t\tstdin: (stdinValue, args, positionalArgs, argsAfterEndOfOptions) => {},\n\t\tbefore: (args, positionalArgs, argsAfterEndOfOptions) => {},\n\t\tafter: (result, parsedArgs, positionalArgs, argsAfterEndOfOptions) => {}\n\t},\n\taction: () => {},\n\tcommands: [{}]\n};\n\nconst clissOptions = {\n\tcommand: {\n\t\tsubcommandsDelimiter\n\t},\n\toptions: {\n\t\tvalidateRequiredParameters\n\t},\n\tversion: {\n\t\toption\n\t},\n\thelp: {\n\t\toption,\n\t\tstripAnsi\n\t},\n\tpipe: {\n\t\tstdin: (stdinValue, args, positionalArgs, argsAfterEndOfOptions) => {},\n\t\tbefore: (args, positionalArgs, argsAfterEndOfOptions) => {},\n\t\tafter: (result, parsedArgs, positionalArgs, argsAfterEndOfOptions) => {}\n\t}\n};\n\ncliss(cliSpec, clissOptions);\n```\n\n### A CLI for a function (the most simple and minimal use case)\n`cliss(functionReference)`\n\nCreating a CLI for a function by doing nothing more than passing it as a parameter to cliss. The options names will be the same as the parameters expected by the function.\n\n```javascript\n'use strict';\nconst cliss = require('cliss');\n\nconst aFunctionWithWeirdParametersDefinition = (param1, param2, { someProp: [[ param3 ]] = [[]] } = {}, ...args) => {\n\tlet result = `param1: ${param1} \\n`;\n\tresult += `param2: ${param2} \\n`;\n\tresult += `param3: ${param3} \\n`;\n\tresult += `args: ${args.join(',')}`;\n\n\treturn result;Run the program passing with the following options:\n\n\n};\n\ncliss(aFunctionWithWeirdParametersDefinition);\n```\nCalling it via CLI with `--help` will give you:\n\n```bash\nOptions:\n\n --param1\n --param2\n --param3\n --args\n```\n\nPassing in the options:\n`node cli.js --param2=PARAM2 --param1=PARAM1 --param3=PARAM3 --args=a --args=r --args=g --args=s`\n\nOr passing options + arguments (arguments for the \"...args\" parameter in this case):\n`node cli.js --param2=PARAM2 --param1=PARAM1 --param3=PARAM3 a r g s`\n\nWill result in:\n\n```bash\nparam1: PARAM1\nparam2: PARAM2\nparam3: PARAM3\nargs: a,r,g,s\n```\nNote that the order of the options doesn't need to match the order of the parameters.\n\n### Improving the help section\n`cliss(cliSpec)`\n\nGreat, but probably one would like to improve a bit the `--help` section of the module, by providing to the end user the **name** (the command's name for calling it via CLI), **description** and **version** of the module. In this case a *Object Literal* will be used instead of just a function reference.\n\n```javascript\n'use strict';\nconst cliss = require('../');\n\ncliss({\n\tname: 'some-command',\n\tdescription: 'Just an example that will do nothing but concat all the parameters.',\n\tversion: '1.0.0',\n\taction: (param1, param2, { someProp: [[ param3 ]] = [[]] } = {}, ...args) => {\n\t\tlet result = `param1: ${param1} \\n`;\n\t\tresult += `param2: ${param2} \\n`;\n\t\tresult += `param3: ${param3} \\n`;\n\t\tresult += `args: ${args.join(',')}`;\n\n\t\treturn result;\n\t}\n});\n```\n\nNow, when calling it with `--help`, a better help section will be shown:\n\n```bash\nDescription:\n\n Just an example that will do nothing but concat all the parameters.\n\nUsage:\n\n $ some-command [options] [args...]\n\nOptions:\n\n --param1\n --param2\n --param3\n --args\n```\n\n### Providing more information about the expected options\n`cliss(cliSpec)`\n\nThe options were effortlessly extracted from the parameters names, but **cliss** provides a way for one to provide more information about each of them. The *Object Literal* passed in the *cliSpec* parameter can have a property named **options**, which expects an *Array* of objects, containing the **name** of the option plus some of the following properties:\n\n* **required**\nTo tell if the parameter is required.\n\n* **description**\nTo give hints or explain what the option is about.\n\n* **type**\nTo define how the parser should treat the option (Array, Object, String, Number, etc.). Check [yargs-parser](https://github.com/yargs/yargs-parser) for instructions about *type*, as it is the engine being used to parse the options.\n\n* **alias**\nTo define an alias for the option.\n\nFollowing the last example, let's improve it to:\n * give more information about **param1**\n * check **args** as required\n\n```javascript\ncliss({\n\tname: 'some-command',\n\tdescription: 'Just an example that will do nothing but concat all the parameters.',\n\tversion: '1.0.0',\n\toptions: [{\n\t\tname: 'param1',\n\t\tdescription: 'This param is the base value to compute everything else.',\n\t\trequired: true,\n\t\ttype: 'String'\n\t}, {\n\t\tname: 'args',\n\t\trequired: true\n\t}],\n\taction: (param1, param2, { someProp: [[ param3 ]] = [[]] } = {}, ...args) => {\n\t\tlet result = `param1: ${param1} \\n`;\n\t\tresult += `param2: ${param2} \\n`;\n\t\tresult += `param3: ${param3} \\n`;\n\t\tresult += `args: ${args.join(',')}`;\n\n\t\treturn result;\n\t}\n});\n```\n\nCall `--help`, and note that the *Usage* section will also be affected. Now *[options] [args...]* will be shown as *<options> <args...>*, because both of them are required.\n\n```bash\nDescription:\n\n Just an example that will do nothing but logging all the parameters.\n\nUsage:\n\n $ some-command <options> <args...>\n\nOptions:\n\n --param1 String Required - This param is the base value to compute\n everything else.\n --param2\n --param3\n --args Required\n```\n\nRun the program with the following options:\n`node cli.js --param1=001 --param2=002 --param3=PARAM3 a r g s`\n\nAnd check the result to see how *param1* was indeed treated as a string, while *param2* was parsed as a number:\n\n```bash\nparam1: 001\nparam2: 2\nparam3: PARAM3\nargs: a,r,g,s\n```\n\n### Pipe: STDIN, Before and After\n`cliss(cliSpec)`\n\nA property named **pipe** can also be defined on *cliSpec* in order to handle **stdin** and also, some steps of the execution flow (**before** and **after**). To define a single handle for all the commands, the **pipe** option can be defined on [Cliss options](#cliss-options) as will be shown later on the documentation. The pipeline execution of a command is:\n\n**stdin** *(command.pipe.stdin || clissOptions.pipe.stdin)* =>\n\n**clissOptions.pipe.before** =>\n\n**command.pipe.before** =>\n\n**command.action** =>\n\n**command.pipe.after** =>\n\n**clissOptions.pipe.after** =>\n\n**stdout**\n\nWhere each of these steps can be handled if needed.\n\nThe properties expected by **pipe** are:\n\n* **stdin**\n`(stdinValue, args, positionalArgs, argsAfterEndOfOptions)`\n\n* **before**\n`(args, positionalArgs, argsAfterEndOfOptions)`\nTo transform the data being input, before it is passed in to the main command action.\n\n* **after**\n`(result, parsedArgs, positionalArgs, argsAfterEndOfOptions)`\nTo transform the *output* (for example, to JSON.stringify an *Object Literal*)\n\nNote: **stdin** and **before** must always return *args*, and **after** must always return *result*, as these values will be passed in for the next function in the pipeline.\n\nTo better explain with an example, let's modify the previous one to:\n\n* get *param3* from **stdin**\n* use **before** to reverse *...args* array\n* use **after** to decorate the output\n\nCheck the *pipe* property on the following code:\n\n```javascript\ncliss({\n\tname: 'some-command',\n\tdescription: 'Just an example that will do nothing but concat all the parameters.',\n\tversion: '1.0.0',\n\toptions: [{\n\t\tname: 'param1',\n\t\tdescription: 'This param is needed to compute everything else.',\n\t\trequired: true,\n\t\ttype: 'String'\n\t}, {\n\t\tname: 'args',\n\t\trequired: true\n\t}],\n\tpipe: {\n\t\tstdin: (stdinValue, args, positionalArgs, argsAfterEndOfOptions) => {\n\t\t\targs.param3 = stdinValue;\n\t\t\treturn args;\n\t\t},\n\t\tbefore: (args, positionalArgs, argsAfterEndOfOptions) => {\n\t\t\tpositionalArgs.reverse();\n\t\t\treturn args;\n\t\t},\n\t\tafter: (result, parsedArgs, positionalArgs, argsAfterEndOfOptions) => {\n\t\t\treturn `======\\n${result}\\n======`;\n\t\t}\n\t},\n\taction: (param1, param2, { someProp: [[ param3 ]] = [[]] } = {}, ...args) => {\n\t\tlet result = `param1: ${param1} \\n`;\n\t\tresult += `param2: ${param2} \\n`;\n\t\tresult += `param3: ${param3} \\n`;\n\t\tresult += `args: ${args.join(',')}`;\n\n\t\treturn result;\n\t}\n});\n```\n\nCalling it as:\n`echo \"fromSTDIN\" | node cli.js --param1=001 --param2=002 a r g s`\n\nWill result in:\n\n```bash\n=======\nparam1: 001\nparam2: 2\nparam3: fromSTDIN\nargs: s,g,r,a\n=======\n```\n\n### Subcommands\n\nSubcommands can be defined in a very simple way. Thinking naturally, a subcommand should be just a command that comes nested into another one, and it is exactly how it's done.\n\nHere one more property of the *cliSpec* is introduced: **commands**. It is an *Array* that can contains N commands, including the **commands** property (commands can be nested down to N levels).\n\nAs each subcommand is a command itself, they also counts with its own `--help` section, and possibly its own `--version` (if it is not defined for a subcommand, the one defined for the root will be shown).\n\nThe following example will introduce:\n\n* 1 subcommand, thas has no action, and contains more 2 subcommands\n* 1 subcommand that contains an action\n\n```javascript\ncliss({\n\tname: 'some-command',\n\tdescription: 'Just an example that will do nothing but concat all the parameters.',\n\tversion: '1.0.0',\n\toptions: [{\n\t\tname: 'param1',\n\t\tdescription: 'This param is the base value to compute everything else.',\n\t\trequired: true,\n\t\ttype: 'String'\n\t}, {\n\t\tname: 'args',\n\t\trequired: true\n\t}],\n\tpipe: {\n\t\tstdin: (stdinValue, args, positionalArgs, argsAfterEndOfOptions) => {\n\t\t\targs.param3 = stdinValue;\n\t\t\treturn args;\n\t\t},\n\t\tbefore: (args, positionalArgs, argsAfterEndOfOptions) => {\n\t\t\tpositionalArgs.reverse();\n\t\t\treturn args;\n\t\t},\n\t\tafter: (result, parsedArgs, positionalArgs, argsAfterEndOfOptions) => {\n\t\t\treturn `======\\n${result}\\n======`;\n\t\t}\n\t},\n\taction: (param1, param2, { someProp: [[ param3 ]] = [[]] } = {}, ...args) => {\n\t\tlet result = `param1: ${param1} \\n`;\n\t\tresult += `param2: ${param2} \\n`;\n\t\tresult += `param3: ${param3} \\n`;\n\t\tresult += `args: ${args.join(',')}`;\n\n\t\treturn result;\n\t},\n\tcommands: [{\n\t\tname: 'subcommand1',\n\t\tcommands: [{\n\t\t\tname: 'action1',\n\t\t\toptions: [{\n\t\t\t\tname: 'param',\n\t\t\t\trequired: true\n\t\t\t}],\n\t\t\taction: param => `subcommand1 action1 param: ${param}`\n\t\t}, {\n\t\t\tname: 'action2',\n\t\t\taction: () => 'subcommand1 action2'\n\t\t}]\n\t}, {\n\t\tname: 'subcommand2',\n\t\taction: () => console.log('subcommand2')\n\t}]\n});\n```\n\nCall `--help` to see that a new section *Commands:* is presented:\n\n```bash\nDescription:\n\n Just an example that will do nothing but concat all the parameters.\n\nUsage:\n\n $ some-command <options> <args...>\n $ some-command [command]\n\nOptions:\n\n --param1 String Required - This param is needed to compute\n everything else.\n --param2\n --param3\n --args Required\n\nCommands:\n\n subcommand1\n subcommand2\n```\n\nEach subcomand has its own help section, check:\n`node cli.js subcommand1 --help`\n\n```bash\nUsage:\n\n $ some-command subcommand1\n```\n\n`node cli.js subcommand2 --help`:\n\n```bash\nUsage:\n\n $ some-command subcommand2 <command>\n\nCommands:\n\n action1\n action2\n```\n\nJust call the commands names separated by space:\n`node cli.js subcommand2 action1 --param=VALUE`\n\nResult:\n\n```bash\nsubcommand2 action1 param: VALUE\n```\n\n### Cliss options\n`cliss(cliSpec, clissOptions)`\n\nAn `Object Literal` with the following options can be passed in as the second parameter to cliss:\n\n* **command**\n\n * **subcommandsDelimiter**\n To define a delimiter for a subcommand to be used instead of a white space. For example, if `'-'` is passed in, the subcommands should be called as `subcommand1-action1` instead of `subcommand1 action1`.\n\n* **options**\n\n * **validateRequiredParameters**\n If set to `true`, the required parameters will be checked before the command action is called, and the help section will be shown in case a required parameter is missing.\n\n* **help**\n * **option**\n \tTo define a different option name to show the help section. For example, if `'helpsection'` is passed in, `--helpsection` must be used instead of `--help`.\n\n * **stripAnsi**\n \tSet to `true` to strip all ansi escape codes (colors, underline, etc.) and output just a raw text.\n\n* **version**\n * **option**\n To define a different option name to show the version. For example, if `'moduleversion'` is passed in, `--moduleversion` must be used instead of `--version`.\n\n* **pipe**\nAs it is defined on *cliSpec* for each command, **pipe** can also be defined in *clissOptions* to implement for all commands a unique way to handle **stdin** and also, some steps of the execution flow (**before** and **after**) in case it is needed. The pipeline execution of a command is:\n**stdin** *(command.pipe.stdin || clissOptions.pipe.stdin)* =>\n=> **clissOptions.pipe.before** =>\n=> **command.pipe.before** =>\n=> **command.action** =>\n=> **command.pipe.after** =>\n=> **clissOptions.pipe.after**\n=> **stdout**\nThe properties expected by **pipe** are:\n\n * **stdin**\n`(stdinValue, args, positionalArgs, argsAfterEndOfOptions)`\n\n * **before**\n`(args, positionalArgs, argsAfterEndOfOptions)`\nTo transform the data being input, before it is passed in to the main command action.\n\n * **after**\n`(result, parsedArgs, positionalArgs, argsAfterEndOfOptions)`\nTo transform the *output* (for example, to JSON.stringify an *Object Literal*)\n\nNote: **stdin** and **before** must always return *args*, and **after** must always return *result*, as these values will be passed in for the next function in the pipeline.\n","maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"time":{"modified":"2022-04-12T06:45:45.289Z","created":"2017-11-04T16:22:36.719Z","0.0.1":"2017-11-04T16:22:36.719Z","0.0.2":"2017-11-05T19:17:45.934Z","0.0.3":"2017-11-05T20:26:06.864Z","0.0.4":"2017-11-05T22:01:49.969Z","0.0.5":"2017-11-12T15:51:12.485Z","0.0.6":"2018-10-26T02:26:08.567Z","0.0.7":"2018-10-26T03:17:58.177Z","0.0.8":"2019-02-27T03:07:47.221Z","0.0.9":"2021-01-22T21:01:06.968Z"},"homepage":"https://github.com/DiegoZoracKy/cliss#readme","keywords":["cli","command-line interface","command line","async","minimal","simple"],"repository":{"type":"git","url":"git+https://github.com/DiegoZoracKy/cliss.git"},"bugs":{"url":"https://github.com/DiegoZoracKy/cliss/issues"},"license":"ISC","readmeFilename":"README.md"}