{"_id":"pixl-cli","_rev":"35-d1ac14d26964cdd8c9edf129edd70ba3","name":"pixl-cli","dist-tags":{"latest":"1.1.6"},"versions":{"1.0.0":{"name":"pixl-cli","version":"1.0.0","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.0","maintainers":[{"name":"jhuckaby","email":"jhuckaby+npm@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"30ee5aaa12606751db77c0b287dddc6fbdf4c526","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.0.tgz","integrity":"sha512-cwVd6Qkz9tk5b3oXRdqNlt0ICuKHEPA5Twn/ngaEPmTT795JgFHX2xZxbU3PzkKblhH6h2DhcW+IIDI/gc03iQ==","signatures":[{"sig":"MEUCIQDBUxuFyRfMT8PN0G/FDWe3py7TFHq02HLqbUZ2EShQrQIgDO4pKVO9EWTjjS1RM0DH32Q5vJMkL+KQCfLECcYvDLM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cli.js","_from":".","_shasum":"30ee5aaa12606751db77c0b287dddc6fbdf4c526","gitHead":"c5b1511b77714557593a1d9f576879e0c1035dd9","scripts":{},"_npmUser":{"name":"jhuckaby","email":"jhuckaby+npm@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"2.10.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"0.12.4","dependencies":{"chalk":"^1.1.1","pixl-args":"*","repeating":"^2.0.0","word-wrap":"^1.1.0","pixl-class":"*","pixl-tools":"*","widest-line":"^1.0.0","string-width":"^1.0.1"},"devDependencies":{}},"1.0.1":{"name":"pixl-cli","version":"1.0.1","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.1","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"ac97b851cc203439d56da5e19dc8cba63d83cc74","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.1.tgz","integrity":"sha512-lXpHZFcZS5tPVs9b6C7hbeS0ImktqA71wTeWFhHzUqhlp76xnOUGTIqrmySmau46GJpXhPYkhUsrKSlFM+7Smw==","signatures":[{"sig":"MEUCIQC+MaKqGorQ/wYLALp+SvZu9Ko/6FstDM0dyrH/W5aM0QIgIIb1aRkmyGUWbx6f75cvSfG4MPKK3/PNkcmGpoN00DA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cli.js","_from":".","_shasum":"ac97b851cc203439d56da5e19dc8cba63d83cc74","gitHead":"3e262c0949d5f233da9c8bbd00d2befd4f882aca","scripts":{},"_npmUser":{"name":"jhuckaby","email":"jhuckaby+npm@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"2.10.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"0.12.4","dependencies":{"chalk":"^1.1.1","pixl-args":"*","repeating":"^2.0.0","word-wrap":"^1.1.0","pixl-class":"*","pixl-tools":"*","widest-line":"^1.0.0","string-width":"^1.0.1"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli-1.0.1.tgz_1471817403027_0.8579109602142125","host":"packages-16-east.internal.npmjs.com"}},"1.0.2":{"name":"pixl-cli","version":"1.0.2","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.2","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"18c97167ff7ef5ba0061fe378d779a20aadf665b","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.2.tgz","integrity":"sha512-OmnLJVZEoEYKdOIM0Sr5m9rEdjqy/s5pp5+o/LUTHUlCEcx3H3b86jncbef3bpuCL6TspKlMO9Wa8+MG4xUQmA==","signatures":[{"sig":"MEYCIQDTNkbyLJ5NTgo3SzBbR59MLgYn91o71A6avNwfaT5lxgIhALT2WR69JmUMaAj437BswNVblYxSivL5j6Y1pPEcf/8w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cli.js","_from":".","_shasum":"18c97167ff7ef5ba0061fe378d779a20aadf665b","gitHead":"31d23f75489df1e18f101961d944fa0045bed6ec","scripts":{},"_npmUser":{"name":"jhuckaby","email":"jhuckaby+npm@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"2.10.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"0.12.4","dependencies":{"chalk":"^1.1.1","pixl-args":"*","repeating":"^2.0.0","word-wrap":"^1.1.0","pixl-class":"*","pixl-tools":"*","widest-line":"^1.0.0","string-width":"^1.0.1"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli-1.0.2.tgz_1478492563860_0.4551152263302356","host":"packages-18-east.internal.npmjs.com"}},"1.0.3":{"name":"pixl-cli","version":"1.0.3","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.3","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"2ea2f0fe4ffb1a788397b7fdcf04b197e29a4c83","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.3.tgz","integrity":"sha512-R6gvUkwr3SEj6YTfgB1ScQC++PSfYIrzWqVmUH+jQAblg/Vvnmiuf+i3Xuq/+RPHJ2XLxiv9h6IVMoaLhvNwJQ==","signatures":[{"sig":"MEQCIEAF2vhTtTpYhnYB25f4irqkl1TxI/G+ZbT8K5ibqb0pAiAIMd2VIxLTMrEDEmZxtCvqTcelpBHIsgrlhgWBjSK2ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cli.js","_from":".","_shasum":"2ea2f0fe4ffb1a788397b7fdcf04b197e29a4c83","gitHead":"cee35ccd2d204d0e00a0396627a7126535106496","scripts":{},"_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"3.10.8","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"6.9.1","dependencies":{"chalk":"^1.1.1","pixl-args":"*","repeating":"^2.0.0","word-wrap":"^1.1.0","pixl-class":"*","pixl-tools":"*","widest-line":"^1.0.0","string-width":"^1.0.1"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli-1.0.3.tgz_1498452536533_0.3220597601030022","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"pixl-cli","version":"1.0.4","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.4","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"b50b33a54a7cb627c6ce25c80824d323721b6176","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.4.tgz","integrity":"sha512-uqZPkO+Xwm4eF8K/DG0qVqV5/GJ+FQWL9W6/TZ2klz6+xxZrlB/fWtZoJL2/Ob8aWuFfnAuYWZXIDsrSN9a1cw==","signatures":[{"sig":"MEUCIQCvPPdBzNIupjo4hNeMLpmMAXxt/a7FVvFMF3U/Y0wRKAIga2BF4JD/CUSjb58UKiUQgIwUi6l6s6/tyG+4dLRDlHU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cli.js","_from":".","_shasum":"b50b33a54a7cb627c6ce25c80824d323721b6176","gitHead":"d71b606534bcb8e353e52dcfe70e0680c4aac079","scripts":{},"_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"3.10.8","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"6.9.1","dependencies":{"chalk":"^1.1.1","pixl-args":"*","repeating":"^2.0.0","word-wrap":"^1.1.0","pixl-class":"*","pixl-tools":"*","widest-line":"^1.0.0","string-width":"^1.0.1"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli-1.0.4.tgz_1508702549604_0.6000781708862633","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"pixl-cli","version":"1.0.5","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.5","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"99ab81c3a7c32a685d9923222871231aace495fe","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.5.tgz","fileCount":3,"integrity":"sha512-W9+GM/zjMizTHotsu/PT+KzT164a6Ayg4Ctg5HbEDyIYhH6ntHIzbM8eK36DCh/ztpreDylOBGJXFiJ4i5tR2Q==","signatures":[{"sig":"MEYCIQCgELjonwPWzGZ7mxqfmk83cquuBiZ0WdTnO+4WSrfsOAIhAICXKo4N/cYG8wllAH39HGl8ERhjaNHvNIimmI2mslut","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5Mf8CRA9TVsSAnZWagAAOeQP/R8vKt7LEDExEvkrCqlQ\nlJQUqPy0gbgoCVSf9VUhCIdUOzsO3LdsEVPeH0zh82PZSKfkz0ANnNrDbuyW\no7AGQX+rI77FlY68j12JsCwYs32YjQ6MINvGn3bv8S+3llzGtJCkCi2SmZ3j\n0iN8cft5h7texQickqF30EuIW1LN2Rcad945eFPSqlDcJ6HhKR0bL3bMckp+\n0cUVoJ+idfbDrtCPUihoLz+jUl3CahkiHju18HihgX0W60ZHQcEublKMLC/g\nPz9v1HX0pARM7C00r1e8Vdm2clrfOWf25hwaLJxIHTwRPfyqWtNHbqd4ASxI\n4Im7vbdRCB2nXUM5JhTIBOrTkTQtoH6deL6TnGY2stuDcWf98hH9DRKRZ2dJ\nFTpo3TchLXA63JibOgDfEODtgjNQuvISFZ5bf+XLABQBhX9x/C6lsEs4svI9\ngf/gWt61yORR3MMvnuNM0BX19NNdD/q/9yv3fl2JUiHe0MYl/nf6o87sZnaH\nQlT6tNUf3SljJPQ3VOZo4cP2uKXnqEjVzno3uImP5BPcC0kf3iRNNtSHP4wn\nyC4NqwLH7lLQ3PJvgj4K+DGhG38TOj6rD4/LKStWxbv3k+7jEbl2CQ4VCwVg\ng6WEC1L1pUFMznp7nBMKa3S5odPWKvKSbGy6eho0cFLZGF9CC/RJFiQr/3XR\noS8s\r\n=FJTu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"e049bb8868cf98167fec0e0747e3bfa2fe9226e6","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"8.9.4","dependencies":{"chalk":"^2.4.1","pixl-args":"^1.0.0","repeating":"^2.0.0","word-wrap":"^1.1.0","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"^1.0.0","string-width":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.5_1524942841532_0.9457289169930323","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"pixl-cli","version":"1.0.6","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.6","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"5a946bbb337a43e2239d7c791fb8c2169e145e7b","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.6.tgz","fileCount":3,"integrity":"sha512-/kMAemA/xDA8wy5M3rsbIhWO/1fxnHWJc8i4WYVRMhPjcMLwEXESfCxbMtkPYdmgd0b5bNFJ55dKw3et5kQapQ==","signatures":[{"sig":"MEQCIHKhSQtvJlqE3h5JNtgIPYR2hia75VW88YH91bro2s8tAiAJUMtYlFILLoyY8700oWTf+QOBC4sLfpSVdWvszH40eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa96K/CRA9TVsSAnZWagAABTEP+gIJ5Odab1YcVR3rfTLF\necQiwkukFgSNzkfOdt6yUgK9MlMwNZEUBrh54zkyUGQ6TOzIMLdZrHQX+OeY\nxxOXjtUBRMq6NKllIvOB0LUxPEACBmQwHECH5dkeKZa0gAseoDU9Wc+gZ7fH\nMy09c/0DFfuIjCFTa95FTe3bm54pVlk3kzQSpL4wQlvGhYafjT9o/NYsid9O\nCWVRJA41VY916/58re6UHWqPtt4DOXSo8M3bfsFeJZ/PhxlKgvtUo7e9fJZ/\nD1yYlyh03//GybzeCu4/gKcZvaa/qq0tgyz7CTDNNGg0hhHURHwsprMLJ/cP\nACAdAU3innv84RU44IYcaJRiaKRDb0J8s2AijzdtiJvwOI/nwvCKhCHZ3RHY\nOSwYJpXhudn05km0IdZS5/vDkkCsjYS4CdVOv2gitz0qxP0jS6gacTj+c+QA\niRfJgGUZpv0D65WMR+cpxgt8OQp6RA/CM3xyemYs5NTTlEUrQOzvP2ymimIl\nneUaBvzC/zmFXkkvq8yuxXpqxR03tgjT06jk4jRJbb/XUJt9Oee6YnCVmS4l\nelq5493/PzJK+eqzdQmwyJ/uDRejzEs8mhU3MXN5yoGgDlPg1K/dHE7Bbz0q\n4PNdr26eQcapEMh5K5HrAOWQylwrSM648TA3eeOzQa6ntQ8JCUtez4/6Hsn9\nCc9D\r\n=l7KG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"6d91bc4e4f5d0a967a1a115c7b759d3cc4ecc2ea","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"8.9.4","dependencies":{"chalk":"^2.4.1","pixl-args":"^1.0.0","repeating":"^2.0.0","word-wrap":"^1.1.0","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"^1.0.0","string-width":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.6_1526178493156_0.07620611607338845","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"pixl-cli","version":"1.0.7","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.7","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"3c6170a576683f78953891e762669bcbbc7adff9","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.7.tgz","fileCount":3,"integrity":"sha512-EVIQ8iK5gXxO/TKHp0vT0bI6UgMJYiGpWBNCvI5Zj6R/2hR6HX7nB2BtFfwnXyB7tj8XshSebl6ggrJ1AJ0vLw==","signatures":[{"sig":"MEQCIAaw2E8zVjS2Ybs03GGBya1P9pLhJdqX1b+X9rbpbv8XAiBw1Pn8G6T+ZN0/5e+9tnUKx6YxwYqlWteCeotmzAU5Xw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDdu0CRA9TVsSAnZWagAAk3QP/jOAms4Q3+QWwrdPsmRt\nATZkHrPQCPgX9ligudDjwFZHS77IHbkv06XlTBcJcumW4BpfZwz9HGlljcIm\n3LrPUDNW+TPC6gCm/183bTbDNpnhWJz7/EJgP4Z3m7E9x8gTFztTFBoKABtO\n2wl62qbacyI2kHx+umxcmRtNA1U3TDSdiyFXzM8ew6I2o1vRNcSiLH5vuWXu\nU+RWpbGWbpmwpk2O4VMcGLka8XTIFSkYaWruk8gzyXnzDOTWZLzH/2608bQI\nwOfgqC90zU+YPo+1gt0BPAacR5VXBpc5HzDZGCWOb5rTrp5fM/aw+bPOVXzM\nDGXNiJQDYFsXtaYl9PB8hyCQG8q3TuL6ELWtLrIBIsIPO7xyoWboKta7ARA0\nuCOZ3YQHu4VyXCqhkKLH5eIH5YtBRK3M19esy2RHi+gk70pQnF9L94Fj4Mec\nIFdkz/B8MBoRYewP572DQ2/gsjpUGDW4IlcBA1JtLAOLMuMlaIujo0H9MoZu\nmdpQzdJxOMpESFtYy5xHB1iJv+moO9ReZLuThtFDLEa2KH6ewlQyq9CHsqHy\nR1JkRpdu0v7kH/D+H7CzQFDDQKqJC/PepdAl98HZ0kClWZU4TygeD7YNNf6Q\nQMJc5tPTLQJXFNPnZVhhikT1wujYIArO88pyUyhAcuTx5OpyE9PtUa0jIa6s\nDYPl\r\n=a5Cx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"e8b3ac79984f5ae322a3f1ea84e6831a82205485","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"8.9.4","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.3","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"2.0.0","string-width":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.7_1527634866378_0.8388095037839305","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"pixl-cli","version":"1.0.8","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.8","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"c92c4e71584ce4a3c1b9a4f9ad18862db8569dce","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.8.tgz","fileCount":3,"integrity":"sha512-fOFiyK+5vavUMvKhr5KGF51kWPGzcxdIQD0aOYGbUq5Ueu3YoQqng6tkSLqdsMJgsVHN4aFaSLyO6at4RGLt4A==","signatures":[{"sig":"MEUCIQCxD4fQonyW6zk6RNQmydcZuxBjBLFr3sPPk5FIUgM7fwIgHYGECC1jqUojBh6xMeu7AAn+2EUL2F5rUom5KLMAuos=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDd6TCRA9TVsSAnZWagAA88IP/ic4t9vfuRPIaZc7uCTh\ntQSwwu9goLtCQ1WWkLqS+OAA4kEys2817LQUrsSfYWlBBqq8B9KMNuDy9N6W\n5uz8Q9Vb+Mn/dMJEzo4zCr1IUt0sH7GNkotVqroeg1seSTm59ip9AfTRPRt0\n1+ESvtX9PIuqfjdCjJL4D26PAON4JT5PKhQEKquCIdw3gMy6oaXOR3MK3TJl\nGm/bvZQUR0iqCUlJKqvp7uMeIJP1R8uavpJ0OCcNf4fUAl8r8AlzMNLM43bJ\nVGDbBZWgxArXgBCiEdXfVifgufpHvwii7Hghp4PWCBuix8jWIt2U7sabpUa1\nW2FzFjnS4vaKdktwxWuS4wxoAmpC6dQnHnJzM13ncyTifmg9KhPG0IMt2g5z\nU/JfEq/mM/BH3ALp7SDH/JJ8CJFh3b89AvEL0BTcUITbPT3hxFX4PtWfyoJ+\n2YLsoRC29vv6F0wBaWkmTXz2tmlFs8x6ZIFKga2XDAvmN1OswUMhWJGFFdPZ\n3D1Xc0IfdjPjHPckPAuksoDNpIbL4Ca8RZE7ui/aXZ7oH+N/zhlQaUOh/V17\n/5MCyLnL4GWvq6twRZZo/PTeFe0XkbI0+SMYeK4vPgMPX2FCH2EtWeCqYw7I\nEPMypbJvjpDvlTWt3cX26Kdj1V0W6FkrDO0t5QnsW2OeRkdJlg5w1xVlKVnq\ns+pq\r\n=kZFC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"a3829c0cd3531ebf9ac3611465b172d55fa33c79","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"8.9.4","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.3","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"2.0.0","string-width":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.8_1527635601845_0.4928517129076344","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"pixl-cli","version":"1.0.9","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.9","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"68dd0efd54e90ede277e8bb63119ce475b0c3b5b","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.9.tgz","fileCount":3,"integrity":"sha512-FbgkJkNOLL51X9qXPXVMWMtYhEKpm5lQlNGxAN1aXUpxlkUDGmOySZGEMPHifDOp1NfO13GuO1kJ5fhediOt8w==","signatures":[{"sig":"MEQCIAkh+DscUcoF6It1Ql9cVnmLED/7Qagp7Wtk/aqXuehwAiAzOLNXZJMdP0pufs6P81ygh2NZkRpBv6TBUanJ3f52Bw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdPNBCRA9TVsSAnZWagAAujQP/3ZNK805rGR6bUqDNKzq\nq3UJpHFnOqbMTFL8uwW3X5vOlOylupIOrrS/nQdCQ39XAoCpFEEGJIYd65zm\n+lblT+kRYOsqzHMCIHmfSdL/TCaBknvUMGYV+mRsrNPXiXm4siecyOgTKlDQ\nPXYcnifT0T1iEcL9f8SIJcugKOKsYKMdseCEIbuolWO4JI3N6IXvPpk1cCB/\nign3Br7Y0DxSXxV/cn+3y5V+QdhzB/I1hQzqtXjou4XhLzvpzGcbL80eGLCQ\nNNLi2n04kmzLUtB0+ZVgxWDjqVjxajoiCAdDOv8oKbjQ9Y1VOuJzovwj/kvu\nOI/6QkS2Xw2lRLu9IWv6acqH4P0clBU5a6Fc2RpPMY3NqSU2WCdWXbYBekzN\nGqCY3ac57PZBkOS/t9nkNNRmwaMYbV6TznsmbzD1t0LalFe5cMg4O4eKYMZY\nNXxmqFFqKqwIRTcKA/SrffCN04Whcg9UQiyLaBNeiq2SDNpDO9CjXmxyAf8O\nMXc7m4vKXXPV5MbOQajG3m8hd7BI5hiok/5zpF54zHsUvJVd+tKMgJxzofv4\nprRvCi0mg+Pe1Mi+pch6zaDbw+s4qXJrN85VYw2jQL3MGzo3uD89XqT6N9JL\nFr5zEqUYCd7jfYsVN21ziDSf1QXje3sxEKZZclXfsig6mVoOdHUIy2WpF5/I\nL7lU\r\n=WDK/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"5b5e177e48f62cf45700590790f960858b8b9b22","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"6.1.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"10.5.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.3","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"2.0.0","string-width":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.9_1534391104441_0.288448133864718","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"pixl-cli","version":"1.0.10","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.10","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"5feb5cbd8bdb0c382a91ce0a4fd4a701b5451bdc","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.10.tgz","fileCount":3,"integrity":"sha512-8pRgNaRTgHkV8faykL+LNxvWaMtqT8uI62ATBnZuw8cJGjfS7Yw8RCnv5sE2LsoLDYQzgm9MBKZ9X96E+nikeg==","signatures":[{"sig":"MEUCIGYZ1uRzvFsZkEO0T9tkQ5ceFfC+GY3fqRnEc0484qhoAiEAzO6f4Cqw7FQ28JX5eIyA7f0rQ5haNuU7xJVzvHH6O3E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc4LnoCRA9TVsSAnZWagAA9mAP/jmDYoCwThEAFAawUNHe\nqc4a/2PAAWTb2y07Z9bizNgq8/UOzKQkL4vLs5fPzz0/+lgq9gjS2A9i8VWD\nwq1Y3vCwYVii3CgVIgC9Hicz7Izp+Fxagzk8UOg4umt9+ML+mF5wXYZ4JkNa\nwDaPhuFiTbz90WjYI8E22J+v8/twzkvRexRVSW4ep6OR+IoS0emRh44ExNYl\n7+HnTH63jaxbBQdRiEOb3fzSh45ogrEMALg9L39ClGzyFvLUHqOIBCb7ZYvs\nbDqZRO4xDEag2HwSr3B49bVJyS4yjGnY/kVxlkjn7TJOeQkrmNQgvclM8zJ7\n80dSVt2SLr5Dm1Lu0lOzv+2l3kvxNrL6SjWNJL8mmnAUKlr/SMabneWYZhUC\nxYmMUtKbOwcFqb+CzY/HyrHauMdggJLmCrxu/4S/VhTffRojz8pUO6qkIUmg\nbaohqKFSrf5KHs84LpqgNCaJvHtIel3jMXzetyo2AaKX/FHHWjUosRn0FQR4\nkELlJ9ZljQgV1MZWqTzFJBZcCovwa+kiZsUnrKPuz7Sxka/xw8KmxLe7FqLC\n3snNtPnZasmSz1Of2mHGrSqmR96FaKcCheYwMSS2zhg8Yxh6eI78RHSpqifh\nH3b2A+z0jxkhkg6qjvTBhALz8nI4QyiXLMA4xt21xDS24S5UUaVt5Y5BNDfP\nONY+\r\n=jvGW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"6bc482fdc367a8ad6230abce796c0db7bc358f58","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"10.14.1","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.3","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"2.0.0","string-width":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.10_1558231527522_0.08999570408345359","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"pixl-cli","version":"1.0.11","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.11","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"d3285439666673f2da713d3a4aeaa7935c0d373d","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.11.tgz","fileCount":3,"integrity":"sha512-7RPQb+mv9kYGApiQwkDaLs4Wb8JHKs3mPFG0n+l4w5lN721L3rYzQKfM247nSWjK5MGSUSfpScGvkW/Z4r+JcQ==","signatures":[{"sig":"MEYCIQCxvtdGY8sb++k+H6W3O5dubqqfA3XWqcUSa6j2Wa/JLQIhAJTKrIfoHyvjp1TRfsFsSwe0rIboFqWsoS8uEU5QD8m6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc4kBtCRA9TVsSAnZWagAATCQP/ivg0SefVVtdTxSwqqYL\n4962jkjc4RSxavMlJwRwB9k0nxcdwcYl0ebCBmxSa6OggI6hi7rPVWGpEdOt\n22S+5jZz4AnHeIcwaxHmzl+LmQjRgfWVpQIQJoz0Uq0KOgdxuZgyUH1r9QWp\ntvEXi/PNZPtVh2O71OQNdczekakqjlqttxbKvV52ljtlpv/D2y/j2D/7Rblk\nsbicg45CXkpmb0qYfJZfBQRGpiMHDRtlsY3gTx/1FXOhetSHWOqhsuh0Edzi\nlidjkJt9Uv4pzioS8JsoQjh0gl4Hda8zdoi8Si8FdH9BsXCPP/jewhRhgIv7\n0CZcKnKASOxULrYwQRlHx257MOzJ+4rog0/Vyd3t4zoTSxCAoEuY5bOwPZUK\nmepfJIgH9/v1JCvWZFZyNiwE/rgLKQQ0iA+rCHutAW92GuJd7olkPJINGHNw\nr/J/qaTI1LkY6TTas54lCtU4iQyhz5s52vHZNOJgisBtgh49Zul46LMIerIA\nu2wZlGbF4rmx4lh6/WJvHFyR61rPu8XskEeuqvFAwEoji2MCEyxfimheabbX\nk78Mz7fOV/ERp0YAmoM7soIbtDW6QNyav+QRlBB8i3HHL4Ru9+7GHp4wjm9i\n5SnoXXIjHjIJjyTByPU1vQYSeM29kMos6y0BrHNsJ1/Qu9UCc8OrFxGFwsDj\nIHHG\r\n=ev3X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"4617a36d3df0c41b147d3235feb1c127f2468840","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"10.14.1","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.3","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"2.0.0","string-width":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.11_1558331500492_0.6719376928107212","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"pixl-cli","version":"1.0.12","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.12","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"4487753ac38cc408b33af38868b19e98c0f8ca27","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.12.tgz","fileCount":3,"integrity":"sha512-fT/iKIOqsJQgY8RCrDHXgA9kdt+inVwllL4FlhMrkmsBJNWnbSS7+DwJ2RNnmQ9VpNBGjJhHK1uDF6SApn/i8Q==","signatures":[{"sig":"MEUCIQDLLbZeZ/M1DF31d2cwWT+FxjWpNpsbSV/rKtTB+HD3vAIgcnOGli+Vltb8U+qsdLm7qfz4B1d8D1Vk9gYKsZbVNJQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYpBHCRA9TVsSAnZWagAAcegP/AlTInqRsMAWuPzzFmYw\nEdZmf2xXyjXFZTeFM1eiKCvaRbmqZWfl7FaxKYcBdq4kjTqHkP2xvG4MKYBH\nFtJ9skB8KIWfjVRH619Xal7sw5HNNkF09PQM1xX39CMXfoGnHPTSvZvUfR1e\n8XGOy+IYVtbcMfqlPtXy+vYwPGILFJW0wfflU1Ep1icBD619f+f8QoQWHlkR\n4tkU3iNP6Diirec20BiTwg6me9XykP8+BZ1J6pxs+j4t6DkKO6AvYY6zJLui\nObLK6XgPKIWBlqhD8TXfmRu3L8FRkHt/zWBqgFGSr9wov5vKTZ8JSRchPsJr\nLD/wGWrzOMiLwWE98S/Nwi2pLn0JOA4cNZ9KpFw6Ni4sy8pSfkUPfD4vBbMF\nwUgCgDJtNaKr+hjoRMkZXjy3v7vMP0otq1/ronLpP8uLdx/XjEblZR7+2ij2\nL/WNn/D0LphL1d/h4aMUKQhMxO3JxO6Lt85ONf6X6HamBVqpFF5KqK6W4OS9\nR4mmzT44/NUcbOlUmWnudow/KIXSPmu7ydfZrhTS7OKG7ZsI6Kkt820PccML\nlLyqSYya8oxGJ+EBGzLOCtR5JQDAstkpJYvF2Ao4ccVEfBy1kbYjY0WNxoGz\nxFkGVsneavh3NodNpacrlj0EqbZDOIgWUzYaElTWoC/xY5+rNpG9WNBnF2qT\n+gXS\r\n=7l/9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"ec01087ca3c74065158e3d37183a04bacbc525b1","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"12.13.1","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.3","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"2.0.0","string-width":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.12_1583517766548_0.5362289652815471","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"pixl-cli","version":"1.0.13","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.13","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"c95bc4c2a4661aeb948d6fe53fcbfdcc2db6f337","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.13.tgz","fileCount":3,"integrity":"sha512-6t5EEc74D5TPHcsqcTdj4bKIOVTFk95+U5IoNIKNi/oUfNczzouz9zmLXPyCiVnpFPA/3w0xJ2dRLVcnonaIrw==","signatures":[{"sig":"MEQCICPnRhm6PA2u0kn9OlG6i8YxjYN+QYItRxtsATwXf2pAAiBDL/RSCaVvBnQ+kFYgagxIsTo01+66JRLnIdd8TWCUhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhutWJCRA9TVsSAnZWagAAb4wP/jej0+DDaqDGC9y/BWNM\nPk/KV1j5rHHaqMvq47Bc96TMMjVt4a5ZMbWduopzE7yyZN7wtDnU9hrLrMem\n6dvXhBXR+AuKk5y61zJf4Hopu4zxNeNB2k4KFnkTJ6zFul4vX/YLm1OtoVB5\nMddZ+Gne7wq/k0cwwtqpP8JhisZg8H2YoWa0+oamsBZ0mLIeuiw1wR3fjgcD\n3WN2fiMMZPG8qofPfpfoo80XQVrF4DHOZvUzpgnVNx0Qldje5l4yGHhM8dhq\nOnaZ0NYM7QM9Cfn3crunqUcDNmHYPP7Img4M9Iv0U6q3R4eS8gLVmvuaHNif\nNWSVcmFYDQ4V1YrAQzGeHGI6wEo29wL8rbFWWvJnIQTFaDsn3F1PSogMO4Bi\nKC+263qRRYOuvkB42N3JuDvWV5F8LbdY1CoGL97ykSeQcI4j2gxx2oI1nQvo\nrvt24XFdBKZbXcPnpIiDqs0XtiLmG/A2kKJZNpvSMuHDYKQnrA4rKLbkUFmM\ni6/FFUAyUjYtZga/B+w9EWpqiBmzk24ivVKJy2/yg2vhdtPQLOuufkeNz+I9\npJknp4s+7jUJ3bLcQx1bHmhROJPEhm4ZpCD2tLsfuEN3r4b9Ac+dzKhggaVM\nx3cDIaRtcSL64gUIhomG4CUted53OnouhesN9YQln6c+jcadcy3KYifWr3+8\n6Smk\r\n=35Xn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"a5cd33013a56228cfa7ba7dc3fd113a3e96f0bce","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"8.1.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"16.12.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.3","pixl-class":"^1.0.0","pixl-tools":"^1.0.0","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.13_1639634313118_0.46428776932784976","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"pixl-cli","version":"1.0.14","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.14","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"f2748ae7d7a7e37eccd92fc8be96c927c19f1fbe","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.14.tgz","fileCount":3,"integrity":"sha512-5CKPWG6ahtfkkqZ2QaMf8bDxgeCGSK4w6B8iOe6TdhEhA9G0vuYzw5gMCg1WCjJfZWPYrv21LxeRscxAGMK/tA==","signatures":[{"sig":"MEUCICqgxiATua3HKXlUS5lSY7Xauc89XYPQtpKHPIDXW65mAiEA0VsybY8r+5OG5GzkJ65b4cbUyzvUaKW/6lclC3LM/X0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQJR0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrHaQ//eO3tByeCXgqKrQgN3+bih1VtCs+138YXtboNyqyGAGbK4D6j\r\n2wI//hfxQ2aywJnHFwlLw0oVFfpRZzIM9jowgEeAxQY+bAbBsJbgdxOgOCxr\r\nLxb8U3CRlwQ+/1zhPe0xSvSl4NHzfUVm+NKdpVbiCiEiMnJc8NupiKLNq5rg\r\nY68dexR62oiW6e6+TCl+Rj96y3sPQdPMS/zpXRiobMNCVATvfkTbDUYLayfD\r\nEHT+LzQt2A+35GEaWhee8Fe0cCntHNFPBtM92YLaeIhaIp+qnRXXN71+sNgw\r\nc1ojLMLbBKPRR8G7ao5nJYTPmE5d+2xGoi0mNaj32eXn00W2mhjdW3Ic0HHx\r\nfl3/KIFn1kDye21CUMVL9K9hKJJqf701Rs88mkZKVyKu/yfGegkfYw8dYmVQ\r\nedVzxaICAc8SXyREQCG9bitSpRJy15SDFdXXOr4HdCkCj4Pn8xpdrBl9EHqc\r\nqHjgiplWf2ot6vCWY94foqC1aWcgzEnKz0SNZPCw/YzJcYDs8JeWMfu31sGI\r\n/k4o7rn0ccdfiQXejRqpEy2Zu2VefP3mTRZzESHZqI9HDSMDf8/kL87l84JQ\r\nZ3vEXJWa0S2cSs0Ox6QyDtn08FbeRGi1m/jPIhEFywJMdYJt2x9eRpOPbsPM\r\n2S6uRwiwKPVb13HF2/fT23VSJ8livqe0WOQ=\r\n=TnuX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","gitHead":"d64ef70e201973e417ff11bcbbe1adc3c17eeea8","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"8.1.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"16.12.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.3","pixl-class":"^1.0.3","pixl-tools":"^1.0.0","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.14_1648399476005_0.7650115642651631","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"pixl-cli","version":"1.0.15","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.15","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"23b9632be1a6c5713414a23adc489558eee5b7df","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.15.tgz","fileCount":3,"integrity":"sha512-Mgg0MVsW4QoCsyupp3AiJ3+uSkNWi51TVLySrnN+C2oX+XZ8pcdaMGwMAL7rEH3UBf6XUiU16s41bVgqlgdEJQ==","signatures":[{"sig":"MEYCIQDySW8iZKCAOXdvsKs08njNuKPwWB8SV3HTKT+xNEBJCgIhAO6aSV4Qg+HY7Gg1CgCVs7h62BCN8nrLZMsZ9oksA0ft","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50802},"main":"cli.js","gitHead":"9f4afa7ff1944d7adfe2182c7d211bc882635f0e","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"9.3.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"18.14.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.4","pixl-class":"^1.0.3","pixl-tools":"^1.0.0","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.15_1690161316589_0.41915097726994754","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"pixl-cli","version":"1.0.16","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.16","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"de86901da9dd806fc41c559cb45fefdb2ce68310","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.16.tgz","fileCount":3,"integrity":"sha512-pnVFJrNC2fIL1EcPY3LoFQU7ZgqGmKunSSPZcq3o6xEjy4FML68lniTjlLVCXCsWXb6xAN4roU27fGkWre8GDw==","signatures":[{"sig":"MEUCIQCDk9MksrYXZNx1pA4p5joN9iJ368MvLJpMgJZTSitp0AIgBiwfsYTtP4fxnNvgu+2C+PmBiM0EyuF9Fw+a5O0OB+o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50803},"main":"cli.js","gitHead":"6aabf11e4604233e3754b350eeb2f433db4742ab","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"9.3.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"18.14.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.4","pixl-class":"^1.0.3","pixl-tools":"^1.0.35","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.16_1695697274973_0.08238039767960781","host":"s3://npm-registry-packages"}},"1.0.17":{"name":"pixl-cli","version":"1.0.17","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.17","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"867866c94360a5eada7951e837107dc7639e2617","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.17.tgz","fileCount":3,"integrity":"sha512-qniYxT+ZgTUoyjbxbaFJ7Uf0xpUot5F0+gLekkGinxcsJ+FMKsYztjzPD0Li5Mls5eAXrcir7xH5jR0+nP2JZg==","signatures":[{"sig":"MEUCICuvGqGUxsxQFuMTTo+jyIXDZ1nJNl6iRkp8Sqe8/Y7FAiEA4dvpszW+ROYahf0gOzh0zxN/dx2FH74iFfj5FzjwumE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53258},"main":"cli.js","gitHead":"fd5b65d51244c3ecb07778687b187b154db54b91","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"9.3.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"18.14.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.4","pixl-class":"^1.0.3","pixl-tools":"^1.0.35","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.17_1696988135479_0.8564029083301328","host":"s3://npm-registry-packages"}},"1.0.18":{"name":"pixl-cli","version":"1.0.18","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.18","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"923b3f664f162511ba8e59bba2ca67828ff884ba","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.18.tgz","fileCount":3,"integrity":"sha512-qG6MKAa+AxCsEIAzAZYo37uEjkW17dMbZKZ3yOPYMaSZVLfjuqHOrkv0CliVecTJk7jy4ba08nddOMoqVTA0TA==","signatures":[{"sig":"MEUCIAdKFHc7TMmYYci1kXEeRaZr1waEGuP6Pvrevz9033jVAiEAshXgs8aD2wJkMZPPMXcAQuP8abD5EPELBPftPRy1aCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53796},"main":"cli.js","gitHead":"0477217aa8b97c157ff71e2ce302044d195e22b7","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"9.3.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"18.14.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.4","pixl-class":"^1.0.3","pixl-tools":"^1.0.35","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.18_1716834169370_0.2271323748772589","host":"s3://npm-registry-packages"}},"1.0.19":{"name":"pixl-cli","version":"1.0.19","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.19","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"5169db593275f68a96fe6f959a50f081507578f5","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.19.tgz","fileCount":3,"integrity":"sha512-JrgVi81y2JMjAr9mnY02fGZJ9GB20ywsSfXUEIXw96ONor73NVH4/hM2qK1Ih2vVScNHHmi3pVwJBZBsaqGlPQ==","signatures":[{"sig":"MEUCIQDmlN9OEnJQXORWM1zmgOq8RE37We8GIL7694fC18SIJQIgCg9h/pWVP08/QF0pG8UGTJVl+QcKXCHUbo8mFVjzokQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54302},"main":"cli.js","gitHead":"c0c333efa9fd76b1790d324266bfe813166e2134","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"9.3.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"18.14.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.4","pixl-class":"^1.0.3","pixl-tools":"^1.0.35","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.19_1716842709433_0.10774626993912473","host":"s3://npm-registry-packages"}},"1.0.20":{"name":"pixl-cli","version":"1.0.20","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.20","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"70167446887274d3b2fb7ee1b0acde69a9a133e5","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.20.tgz","fileCount":3,"integrity":"sha512-K7YeSPAavQ+3h6drQNhfOsjVRV8aLJ3umPetBNOe5TSb2YSVL+Qo+rkDmMXGi95Cc3bgO0hAABp5ej9dhMjTWg==","signatures":[{"sig":"MEYCIQCfS9ZQ0hb8KAwxXnnEpwe38yLit/oK0wRcnVmx/AsszgIhAPj7u3kpGN4CXZ2kcFiuu7A9qcPbSLjeNhFR20RIgrre","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54779},"main":"cli.js","gitHead":"87bb65da29f6af0374e92eb93eb7da04cc3f8cdf","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"9.3.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"18.14.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.4","pixl-class":"^1.0.3","pixl-tools":"^1.0.35","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.20_1716850591539_0.12871603438674928","host":"s3://npm-registry-packages"}},"1.0.21":{"name":"pixl-cli","version":"1.0.21","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.21","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"f72e03a8599daff11b2d86213aaece55d5ae0a46","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.21.tgz","fileCount":3,"integrity":"sha512-1tFHRxM8s4Z6ILui0NPcClTaxkwZKFVMjzj4BvEE9nCJyR4UKIGKB7gU9E33be9TRv1wrtH0fAZoG+8bNEFFnw==","signatures":[{"sig":"MEYCIQDfuKDt2MtgJzgv6ZWofnpevaJwxPvW7/YePfKt6XDbGgIhAJbZyefFohZ0f6F9ZGkV4evMY8chGIvh7m3lbh7tFVuJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55444},"main":"cli.js","gitHead":"77246d51edbb48feca32f4eee65404d81d495e5b","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"9.3.1","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"18.14.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.4","pixl-class":"^1.0.3","pixl-tools":"^1.0.35","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.21_1716852037720_0.08509330174934404","host":"s3://npm-registry-packages"}},"1.0.22":{"name":"pixl-cli","version":"1.0.22","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.0.22","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"dd24929ea0dddd1329af0c80559c7136ca6eb8bb","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.0.22.tgz","fileCount":3,"integrity":"sha512-pFZIp/AgTyueD2HppoFqW3DSvJm7OgqnIOlKCvg7NYq7SB9gsOGhtrIFQgfJSfGJwU6I2jlEh7S+8bxNZRd7aw==","signatures":[{"sig":"MEQCIAitmqRrnifXVASNXZSQfuJ0JhPOgQSvCqCHa6Uw5cbbAiAf4Ze+hAg2UTM9uz/9UtWhaZrk+yFbgsJKhSwwo3nXsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55443},"main":"cli.js","gitHead":"ff3b0b8288e0a53a79fed2fdafe329eae1892ad1","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","repeating":"3.0.0","word-wrap":"1.2.4","pixl-class":"^1.0.3","pixl-tools":"^2.0.2","widest-line":"3.0.0","string-width":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.0.22_1774566693288_0.2860562305251908","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"pixl-cli","version":"1.1.0","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.1.0","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"c13b4e53239ada065ee79c81e16e281f7f37cf9c","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.1.0.tgz","fileCount":41,"integrity":"sha512-2+T96ZCRpX8Yv+ZYcCn7vJZQnk98USHLF5/9FjUEqom4lbzM9luW46t1TGO3rYxG9MI7gWVHnKc17NhuanUoaQ==","signatures":[{"sig":"MEQCIBGQSbyrsClROT4debB6J2joBgrQmMKBnRTJXcTIKLHSAiBVDGZfN0GSNvFMjarQzMAmViqgRvU9M08X/I/X3OEncQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121217},"main":"cli.js","gitHead":"c68be1270e5ded0b68d12d93a0e2212d86812bea","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","pixl-tools":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.1.0_1784584942910_0.6387189250946137","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"pixl-cli","version":"1.1.1","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.1.1","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"05bd2a1e6924d7576fffb4e46107523524ebd87f","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.1.1.tgz","fileCount":6,"integrity":"sha512-g2irBN3RHOkoHggPUrZYAsJnhfPntMnQJcr9PrA6tGcO01P0uTjrYBrNYaSIzXzdnll4JOWS4Wkkn9Ryw0wheA==","signatures":[{"sig":"MEQCID51eys0yTuMooeb4BQE+6ljQ1kyS3yChzPPBvrgt+ogAiAp4IEd9G62UaSp877I6QShuEhRWqU+osqZik0OSggvdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64197},"main":"cli.js","gitHead":"f74539cbba369e3637f4f2f8b24dad6e98e2b30e","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","pixl-tools":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.1.1_1784611226221_0.27627854799867113","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"pixl-cli","version":"1.1.2","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.1.2","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"046043fbcd403e5cbcfaa6267049b2e545ede4dc","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.1.2.tgz","fileCount":6,"integrity":"sha512-p9XDGf3zCQmjlF/W5itdX8ltFB9J3rl5MozOJ/MQ+/lMlwycsXM/uuHwzwFPDewnO6zSYDcZ7WeQDnSDxpXifg==","signatures":[{"sig":"MEYCIQCMk/AjGi/twquamRQmDcX/xxl+KkszbueKijv7MCA79AIhAJPdwpVhL1stbicLn64njUi4Ylg5uZo376z7nXbaVhhN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78646},"main":"cli.js","gitHead":"6c36e6a4ba799299066f6b57f50ac0754187960d","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","pixl-tools":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.1.2_1784673942741_0.4926330803958039","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"pixl-cli","version":"1.1.3","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.1.3","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"7c100c6e97f7fa0c3af23dc839f52f2ccd507c71","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.1.3.tgz","fileCount":6,"integrity":"sha512-41FZseW6k1QQoeKjmq5vN5HF7fUr7HZczNly1Q/B5sScOmQW7D6AKvJWwAF5nPTBH/aD1MASVLB7EhQWHGIP4w==","signatures":[{"sig":"MEUCIHq/8Ky9Y8VT0t4Bv+haoRPjEffoEar0vTq2ifHS7l7JAiEAgTer9ETHu0K5Ld7upHW5K44XEmNJVEmwzW1U3rmt0NI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80344},"main":"cli.js","gitHead":"1e07f5a8abf1f1c779c62e077bbddab23494e624","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","pixl-tools":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.1.3_1785108455048_0.4044997373402861","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"pixl-cli","version":"1.1.4","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.1.4","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"2e7cba0e5c8dd5da57f0502f45abf3e423bd4c70","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.1.4.tgz","fileCount":7,"integrity":"sha512-yFcWmg2dXds3QuwyEPccoKLrfldq46ZC+qJon+HjuBu7dmsvuMb4PpGcAQi/b28d4YWL0a9exL9vSCSvoCbikg==","signatures":[{"sig":"MEYCIQChZq2BvdMFT2pygKx7KFscZ0GHqEF1oONPA0FReRPgDgIhANR8yH+9/8Njn8OaX6a+y2j4JY3rd+8/kY9OFYDNRUqX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC4Ex/RfTjuedWhBFWKNncrXxxidfS52Aoc41Vjlz1qiwIgAwfjl12+U6XCJdoBPFoYZJZDsFypR7MTULyILKsmbbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98493},"main":"cli.js","gitHead":"2777bb3b86caeb2555efbda555b88e3c4e2e3ec5","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","pixl-tools":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.1.4_1788839400567_0.6387667912643993","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"pixl-cli","version":"1.1.5","keywords":["cli","commandline","prompt","progress","progressbar","table"],"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","_id":"pixl-cli@1.1.5","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"homepage":"https://github.com/jhuckaby/pixl-cli","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"bcb96f4913d99d703b1abd43facfc62d9212e938","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.1.5.tgz","fileCount":7,"integrity":"sha512-UXYRH/s2YRtBpHHOLQejIT4rwzquscp/ueL23d701lH2h+iAv31FLa3tdNc0K3zbyF8pqd0lc/giEEu7IkTnZA==","signatures":[{"sig":"MEUCIAmTgnTMjX1f5jto5Vjd471FEbZ8rDENG/BFTdaneesiAiEAnPOevJ2R2a4msIkqjbbHBf0EHySaZ8yM6yyKEkFMT/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDppEfhECR4XrUZ+BkEALJw+gFMW+E1dVDXtDB5745KpAiAbbfgVxY/EoCo47yY0RkeKrQBUdB2/AHHkWrJFjc9Uug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98493},"main":"cli.js","gitHead":"c6219170f1515f5b4d7b62550a0af599970cdb8a","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Tools for building command-line apps for Node.js.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","pixl-tools":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/pixl-cli_1.1.5_1788840317082_0.7213736488429474","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"_id":"pixl-cli@1.1.6","bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"dist":{"shasum":"f02790e0ce4a6750020fca2ba1a91cf6e0fb9834","tarball":"https://registry.npmjs.org/pixl-cli/-/pixl-cli-1.1.6.tgz","fileCount":7,"integrity":"sha512-KtiGUZpfafT8gJ1tbo+cC2GOIUuNdhHwvZBomuVpXgz7H1XqFaBhj+cik4hy9nNGlVgaf8lG4+ZKta/b8XNoMg==","signatures":[{"sig":"MEUCIQDYvHEccm7UjFKEVRPXy8NCpEKYG70wLK6o3nmsj+wClAIgZkc1TcrL2u2/4Oj5ZrWCbdukkNgRfvsaPBdxA4eA+pU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEMCHwTSXiFj1xDwh5KVXEvaR8lc9P/DCOS+ADxUy8nmrG0CIHGdnBSt9pi+fUEdZZ4+sK2gOjDYD2wc4D2FJnlMNMvW"}],"unpackedSize":101985},"main":"cli.js","name":"pixl-cli","author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"gitHead":"ba5f5924187efd0aeba7258459de3a20d820d899","license":"MIT","version":"1.1.6","_npmUser":{"name":"jhuckaby","email":"jhuckaby@gmail.com"},"homepage":"https://github.com/jhuckaby/pixl-cli","keywords":["cli","commandline","prompt","progress","progressbar","table"],"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Tools for building command-line apps for Node.js.","directories":{},"maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"_nodeVersion":"24.17.0","dependencies":{"chalk":"2.4.1","pixl-args":"^1.0.0","pixl-tools":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pixl-cli_1.1.6_1789021087666_0.5605841020233049"}}},"time":{"created":"2016-01-31T22:55:14.039Z","modified":"2026-09-10T06:18:07.950Z","1.0.0":"2016-01-31T22:55:14.039Z","1.0.1":"2016-08-21T22:10:05.543Z","1.0.2":"2016-11-07T04:22:45.612Z","1.0.3":"2017-06-26T04:48:56.799Z","1.0.4":"2017-10-22T20:02:29.717Z","1.0.5":"2018-04-28T19:14:01.643Z","1.0.6":"2018-05-13T02:28:13.267Z","1.0.7":"2018-05-29T23:01:06.453Z","1.0.8":"2018-05-29T23:13:21.947Z","1.0.9":"2018-08-16T03:45:04.561Z","1.0.10":"2019-05-19T02:05:27.700Z","1.0.11":"2019-05-20T05:51:40.684Z","1.0.12":"2020-03-06T18:02:46.773Z","1.0.13":"2021-12-16T05:58:33.265Z","1.0.14":"2022-03-27T16:44:36.171Z","1.0.15":"2023-07-24T01:15:16.789Z","1.0.16":"2023-09-26T03:01:15.157Z","1.0.17":"2023-10-11T01:35:35.802Z","1.0.18":"2024-05-27T18:22:49.605Z","1.0.19":"2024-05-27T20:45:09.597Z","1.0.20":"2024-05-27T22:56:31.676Z","1.0.21":"2024-05-27T23:20:37.852Z","1.0.22":"2026-03-26T23:11:33.476Z","1.1.0":"2026-07-20T22:02:23.065Z","1.1.1":"2026-07-21T05:20:26.358Z","1.1.2":"2026-07-21T22:45:42.975Z","1.1.3":"2026-07-26T23:27:35.181Z","1.1.4":"2026-09-08T03:50:00.683Z","1.1.5":"2026-09-08T04:05:17.172Z","1.1.6":"2026-09-10T06:18:07.755Z"},"bugs":{"url":"https://github.com/jhuckaby/pixl-cli/issues"},"author":{"name":"Joseph Huckaby","email":"jhuckaby@gmail.com"},"license":"MIT","homepage":"https://github.com/jhuckaby/pixl-cli","keywords":["cli","commandline","prompt","progress","progressbar","table"],"repository":{"url":"git+https://github.com/jhuckaby/pixl-cli.git","type":"git"},"description":"Tools for building command-line apps for Node.js.","maintainers":[{"name":"jhuckaby","email":"jhuckaby@gmail.com"}],"readme":"<details><summary>Table of Contents</summary>\n\n<!-- toc -->\n- [Overview](#overview)\n- [Usage](#usage)\n\t* [Basic Tools](#basic-tools)\n\t\t+ [Printing](#printing)\n\t\t\t- [STDERR](#stderr)\n\t\t\t- [Dying](#dying)\n\t\t+ [Logging](#logging)\n\t\t+ [Loading and Saving Files](#loading-and-saving-files)\n\t\t+ [TTY Detection](#tty-detection)\n\t\t+ [Other Tools](#other-tools)\n\t* [Command-Line Arguments](#command-line-arguments)\n\t\t+ [Argument Aliases](#argument-aliases)\n\t\t+ [Verbose Mode](#verbose-mode)\n\t\t+ [Quiet Mode](#quiet-mode)\n\t* [Prompting The User](#prompting-the-user)\n\t\t+ [Yes/No Questions](#yesno-questions)\n\t* [Displaying Info Boxes](#displaying-info-boxes)\n\t\t+ [Centering Text](#centering-text)\n\t\t+ [Word-Wrapping Text](#word-wrapping-text)\n\t* [Displaying Definition Lists](#displaying-definition-lists)\n\t* [Displaying Dashboard Grids](#displaying-dashboard-grids)\n\t* [Displaying Timeseries Charts](#displaying-timeseries-charts)\n\t* [Displaying Tables](#displaying-tables)\n\t* [Graphical Progress Bars](#graphical-progress-bars)\n\t\t+ [Configuration](#configuration)\n\t\t+ [Temporarily Erasing The Bar](#temporarily-erasing-the-bar)\n\t\t+ [Customizing the Look](#customizing-the-look)\n\t\t+ [Indeterminite Progress](#indeterminite-progress)\n\t\t+ [Changing Color Styles](#changing-color-styles)\n\t\t+ [Automatic Width](#automatic-width)\n\t\t+ [Keep progress bar visible](#keep-progress-bar-visible)\n\t\t+ [Unicode or ASCII](#unicode-or-ascii)\n\t\t+ [Hiding the Cursor](#hiding-the-cursor)\n\t* [Chalk](#chalk)\n\t* [Importing Into Global](#importing-into-global)\n- [License](#license)\n\n</details>\n\n# Overview\n\nThis module provides utilities for creating command-line Node.js apps.  Features include automatic parsing of command-line args into simple key/value pairs, prompting the user for information, and displaying graphical info boxes, tables, timeseries charts, and progress bars.\n\n# Usage\n\nUse [npm](https://www.npmjs.com/) to install the module:\n\n```sh\nnpm install pixl-cli\n```\n\nThen use `require()` to load it in your code:\n\n```js\nconst cli = require('pixl-cli');\n```\n\n## Basic Tools\n\nHere are some of the more basic functions provided by the package.\n\n### Printing\n\nA very simple `cli.print()` method is provided, which prints any string to [STDOUT](https://nodejs.org/api/process.html#process_process_stdout).  This can be shortened to just `print()` if you import everything into the global namespace (see [Importing Into Global](#importing-into-global) below).  Example:\n\n```js\nconst cli = require('pixl-cli');\ncli.global();\n\nprint(\"Hello world!\\n\");\n```\n\nUnlike `console.log()` this does not add an EOL at the end of each string.  It works just like the standard `print()` function from other languages.  However, a `println()` method is also provided which *does* add an EOL.\n\nNote that `print()` will be silent if `--quiet` mode is enabled.  See [Quiet Mode](#quiet-mode) below.\n\nAn alternate function is provided for printing verbose output, called `cli.verbose()` (or just `verbose()` if [imported into global](#importing-into-global)).  This function also prints a string to [STDOUT](https://nodejs.org/api/process.html#process_process_stdout), but only does so if `--verbose` mode is enabled.  Example:\n\n```js\nconst cli = require('pixl-cli');\ncli.global();\n\nverbose(\"This will only be printed in verbose mode.\\n\");\n```\n\nSee [Verbose Mode](#verbose-mode) below for details.\n\n#### STDERR\n\nTo print something to [STDERR](https://nodejs.org/api/process.html#process_process_stderr) you can use the `cli.warn()` method.  This works similarly as `cli.print()` in that it honors [Quiet Mode](#quiet-mode), does not include a trailing EOL, and gets imported to the global namespace if `cli.global()` is called.  Example:\n\n```js\nconst cli = require('pixl-cli');\ncli.global();\n\nwarn(\"This will be printed to STDERR.\\n\");\n```\n\n#### Dying\n\nTo print something to [STDERR](https://nodejs.org/api/process.html#process_process_stderr) and exit immediately afterward, you can call `cli.die()` and pass in a message.  This will exit with a non-zero code indicating that the process \"failed\".  This method also gets imported to the global namespace if `cli.global()` is called.  Example:\n\n```js\nconst cli = require('pixl-cli');\ncli.global();\n\ndie(\"A fatal error occurred.\\n\");\n```\n\n### Logging\n\nTo enable logging mode, so all calls to `print()`, `verbose()`, `warn()` and `die()` also get logged to a file, call `cli.setLogFile()` and pass in a path.  The file need not exist, but the directory should.  Example:\n\n```js\ncli.setLogFile( \"/let/log/myscript.log\" );\n```\n\nNote that once the log file is set, everything printed is logged, even if quiet mode is enabled.  Additionally, all calls to `cli.verbose()` are also logged, even if `--verbose` mode is not enabled.\n\nThe log file format is simply a date/time surrounded by square brackets, followed by a single space, followed by the raw text printed.  All color is automatically stripped.  Example log snippet:\n\n```\n[2019/05/18 18:49:12] Hello there!\n[2019/05/18 18:49:13] Good bye!\n```\n\nYou can also call `cli.log()` to log something directly without also printing it to the console.  If you pass an object to `cli.log()` it is serialized to JSON.\n\n### Loading and Saving Files\n\nSimple methods are provided to load and save files to/from strings.  These are both synchronous calls.  They are `loadFile()` which accepts a file path and returns the contents as a string, and `saveFile()` which accepts a file path and contents as a string.  `saveFile()` writes to the specified file, replacing any existing content, and creating the file if necessary.  Example of both functions:\n\n```js\nconst cli = require('pixl-cli');\n\nlet contents = cli.loadFile( \"my-file.txt\" );\ncli.print( \"File contents: \" + contents + \"\\n\" );\n\ncontents = \"Replacing with new content!\";\ncli.saveFile( \"my-file.txt\", contents );\n```\n\nIf you want to *append* to a file instead of replacing its contents, use `cli.appendFile()`.  It accepts the same arguments as `cli.saveFile()`.  Example:\n\n```js\ncontents = \"Appending a new line!\\n\";\ncli.appendFile( \"my-file.txt\", contents );\n```\n\nNote: These functions may throw errors if the underlying filesystem operations fail, so it is advisable to wrap them in a try/catch block.\n\n### TTY Detection\n\nTo detect whether your script's output is attached to a TTY (meaning, it is attached to a user terminal and not being piped to a file or script), you can call `cli.tty()`.  This will return a Boolean `true` or `false`.  Example:\n\n```js\nif (cli.tty()) {\n\tcli.print(\"Hello user terminal!\\n\");\n}\n```\n\nSpecifically, this queries the [STDOUT](https://nodejs.org/api/process.html#process_process_stdout) TTY.  Meaning, the script's output is connected to a terminal, but its *input* may still be a pipe of some kind.\n\nTo detect the width of the current TTY (user's terminal), you can call `cli.width()`.  If a TTY is attached, this will return the current number of characters that will fit in one single line.  Example:\n\n```js\nlet width = cli.width();\ncli.print(\"Your terminal is \" + width + \" characters wide.\\n\");\n```\n\n### Other Tools\n\nThe following utility functions from the [pixl-tools](https://www.npmjs.com/package/pixl-tools) module are also imported, so you can use them directly:\n\n| Function Name | Description |\n|---------------|-------------|\n| [cli.getTextFromBytes()](https://www.npmjs.com/package/pixl-tools#gettextfrombytes) | Convert a byte count into a human readable string, e.g. `5 MB`. |\n| [cli.commify()](https://www.npmjs.com/package/pixl-tools#commify) | Apply commas to a positive integer using US-style formatting, e.g. `1,000,000`. |\n| [cli.shortFloat()](https://www.npmjs.com/package/pixl-tools#shortfloat) | Trim floating point decimal to 2-digit precision, unless digits are zeros. |\n| [cli.pct()](https://www.npmjs.com/package/pixl-tools#pct) | Return percentage string given arbitrary value and a maximum limit, e.g. '55%'. |\n| [cli.zeroPad()](https://www.npmjs.com/package/pixl-tools#zeropad) | Pad an integer with zeros on the left side, up to a specified max. |\n| [cli.getTextFromSeconds()](https://www.npmjs.com/package/pixl-tools#gettextfromseconds) | Convert a number of seconds into a human-readable string, e.g. `3 hours`. |\n| [cli.getNiceRemainingTime()](https://www.npmjs.com/package/pixl-tools#getniceremainingtime) | Calculate estimated remaining time, given progress and start time. |\n| [cli.pluralize()](https://www.npmjs.com/package/pixl-tools#pluralize) | Apply English language pluralization to a word, based on a specified value. |\n| [cli.ucfirst()](https://www.npmjs.com/package/pixl-tools#ucfirst) | Upper-case the first character of a string, lower-case the rest. |\n\nIn fact, the entire [pixl-tools](https://www.npmjs.com/package/pixl-tools) module is made available to you as `cli.Tools`, so you don't have to import it separately.\n\n## Command-Line Arguments\n\nAny arguments passed to your script on the command-line are parsed using the [pixl-args](https://www.npmjs.com/package/pixl-args) module, and provided as simple key/value pairs in `cli.args`.  Example:\n\n```sh\nnode my-script.js --name \"Joseph Huckaby\" --city San\\ Mateo\n```\n\nThen `cli.args` will contain:\n\n```json\n{\n\t\"name\": \"Joseph Huckaby\",\n\t\"city\": \"San Mateo\"\n}\n```\n\nSeveral different kinds of arguments are available.  You can use single or double-dashes, strings which appear to be integers or floats are parsed as such, any switch without a value is set to `true`, any repeated switches are converted to an array of values, and any values provided without a switch are appended to a special `other` array, which can come before or after all the switches.  Here is an example of all these things:\n\n```sh\nnode my-script.js file1.txt file2.txt --name \"Joe\" --amount 50 --freq 0.5 -z 1 --verbose --add thing1 --add thing2\n```\n\nThen `cli.args` will contain:\n\n```json\n{\n\t\"other\": [\"file1.txt\", \"file2.txt\"],\n\t\"name\": \"Joe\",\n\t\"amount\": 50,\n\t\"freq\": 0.5,\n\t\"z\": 1,\n\t\"verbose\": true,\n\t\"add\": [\"thing1\", \"thing2\"]\n}\n```\n\nPlease see the [pixl-args](https://www.npmjs.com/package/pixl-args) module documentation for more details.\n\n### Argument Aliases\n\nYou can support argument aliases (e.g. `-v` for `--verbose`) by providing a map to the `mapArgs()` function.  Example:\n\n```js\nconst cli = require('pixl-cli');\ncli.mapArgs({\n\t'v': 'verbose',\n\t'q': 'quiet',\n\t'd': 'debug'\n});\n```\n\n### Verbose Mode\n\nThe `--verbose` switch has a special meaning.  It is used by the `cli.verbose()` function, and will control whether it outputs anything or not.  `cli.verbose()` works just like `cli.print()` except that it only prints if the `--verbose` switch is present on the command-line.  Example use:\n\n```js\nconst cli = require('pixl-cli');\ncli.verbose(\"This will only be printed in verbose mode.\\n\");\n```  \n\n### Quiet Mode\n\nThe `--quiet` switch also has a special meaning.  If passed on the command-line, it will mute all calls to `cli.print()` and of course `cli.verbose()`, meaning they will not output anything at all.  This is useful for giving your script a special silent mode, possibly for running in a crontab.\n\n## Prompting The User\n\nTo prompt the user for input, you can call `cli.prompt()`.  Pass in a string to prompt them with, a default answer, and a callback function which will be fired and passed their answer.  This is an asynchronous operation, so beware of code flow.  Example:\n\n```js\nconst cli = require('pixl-cli');\n\ncli.prompt(\"What is your name?\", \"\", function(name) {\n\tcli.print(\"Hello \" + name + \"!\\n\");\n} );\n```\n\nIf a default string is provided, it is displayed just after the question in square brackets, which is the typical way of hinting a default answer.  If the user presses Enter without typing in a value, your default answer will be sent to your callback.\n\nNote that if your script is running without a TTY (i.e. without an attached terminal, as in piped to a file or another script), no prompt is displayed, and your callback is fired immediately and passed your default answer.\n\n### Yes/No Questions\n\nIf you just need to ask the user a simple yes/no question, a convenience method is provided.  Just call `cli.yesno()`, provide a string to prompt them with, a default answer (`y` or `n`), and a callback.  This time your callback is passed Boolean `true` if the user answered yes (or `y` or any word that contains a `y`), or `false` for no or anything non-yes.  Example:\n\n```js\ncli.yesno(\"Do you like bacon?\", \"y\", function(yes) {\n\tif (yes) cli.print(\"You can be my friend.\\n\");\n\tcli.print(\"You are dead to me.\\n\");\n} );\n```\n\nNote that if your script is running without a TTY (i.e. without an attached terminal, as in piped to a file or another script), no prompt is displayed, and your callback is fired immediately and passed `true` or `false` based on your default answer.\n\n## Displaying Info Boxes\n\nCall `cli.box()` to render a string (or paragraph) of text surrounded by an ASCII art border.  Example:\n\n```js\nconst cli = require('pixl-cli');\n\ncli.print( \n\tcli.box(\"The quick brown fox jumped over the lazy dog.\") + \"\\n\" \n);\n```\n\nThis would produce:\n\n```\n┌───────────────────────────────────────────────┐\n│ The quick brown fox jumped over the lazy dog. │\n└───────────────────────────────────────────────┘\n```\n\nAbsent any options, the box will be sized to fit your text string, with exactly one space of horizontal space on either side.  You can customize this and several other options by passing in an object as the 2nd argument to the `cli.box()` method.  Here are all the possible properties:\n\n| Property Name | Description |\n|---------------|-------------|\n| `width` | An optional fixed width.  If specified and the string exceeds the width, it will be word-wrapped. | \n| `styles` | An array of [chalk](https://www.npmjs.com/package/chalk) styles or functions to apply to the box border graphics, defaults to `[\"gray\"]`. | \n| `hspace` | An optional number of spaces to insert on the left and right sides of the text (defaults to `1`).  | \n| `vspace` | An optional number of vertical lines to insert above and below the text (defaults to `0`). | \n| `indent` | Number of characters to indent the box by (defaults to `0`). |\n\nExample:\n\n```js\nlet text = \"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\";\n\ncli.print(\n\tcli.box( text, {\n\t\twidth: 40,\n\t\tstyles: [\"magenta\", function( text ) { return text.toUpperCase() }],\n\t\thspace: 2,\n\t\tvspace: 1,\n\t\tindent: 4\n\t} ) + \"\\n\"\n);\n```\n\nThis will produce:\n\n```\n\t┌────────────────────────────────────────────┐\n\t│                                            │\n\t│  Lorem ipsum dolor sit amet, consectetur   │\n\t│  adipisicing elit, sed do eiusmod tempor   │\n\t│  incididunt ut labore et dolore magna      │\n\t│  aliqua. Ut enim ad minim veniam, quis     │\n\t│  nostrud exercitation ullamco laboris      │\n\t│  nisi ut aliquip ex ea commodo consequat.  │\n\t│  Duis aute irure dolor in reprehenderit    │\n\t│  in voluptate velit esse cillum dolore eu  │\n\t│  fugiat nulla pariatur. Excepteur sint     │\n\t│  occaecat cupidatat non proident, sunt in  │\n\t│  culpa qui officia deserunt mollit anim    │\n\t│  id est laborum.                           │\n\t│                                            │\n\t└────────────────────────────────────────────┘\n```\n\n### Centering Text\n\nTo center align text within a fixed width, you can use the `cli.center()` method.  This accepts a string which may be single or multiple lines, and an optional width in characters.  If you omit the width, it uses the length of the longest line.  Example:\n\n```js\ncli.print(\n\tcli.center(\n\t\t\"This Is A Title\\n\" +\n\t\t\"The quick brown fox jumped over the lazy dog.\"\n\t) + \"\\n\"\n);\n```\n\nThis would produce:\n\n```\n┌───────────────────────────────────────────────┐\n│                This Is A Title                │\n│ The quick brown fox jumped over the lazy dog. │\n└───────────────────────────────────────────────┘\n```\n\nOf course, you can also just use `cli.center()` on its own, without wrapping it in a call to `cli.box()`.\n\n### Word-Wrapping Text\n\nTo word-wrap text when using `cli.box()` simply specify a `width` property in your options object.  Your string will be word-wrapped to fit into the specified width.  However, there is also a low-level `cli.wrap()` function you can call directly, which simply wraps text at a specified width.  Example use:\n\n```js\ncli.print(\n\tcli.wrap( text, 40 ) + \"\\n\"\n);\n```\n\nThis would produce:\n\n```\nLorem ipsum dolor sit amet, consectetur\nadipisicing elit, sed do eiusmod tempor\nincididunt ut labore et dolore magna\naliqua. Ut enim ad minim veniam, quis\nnostrud exercitation ullamco laboris\nnisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit\nin voluptate velit esse cillum dolore eu\nfugiat nulla pariatur. Excepteur sint\noccaecat cupidatat non proident, sunt in\nculpa qui officia deserunt mollit anim\nid est laborum.\n```\n\n## Displaying Definition Lists\n\nCall `cli.defList()` to render a two-column list of labels and values inside a box.  Labels are bold by default, values are plain, and no vertical border is drawn between the columns.  Colons are added to labels automatically when needed.  Lines will automatically truncate with ellipsis as needed.\n\n```js\nconst cli = require('pixl-cli');\n\nlet event = {\n\tid: \"emm2wtlsxrtjz8v4\",\n\ttitle: \"Simple Shell Test\",\n\tcategory: \"general\",\n\tusername: \"admin\"\n};\n\ncli.println( cli.defList([\n\t[ \"Event ID\", event.id ],\n\t[ \"Title\", event.title ],\n\t[ \"Category\", event.category ],\n\t[ \"Author\", event.username ]\n], {\n\tlabelStyles: [\"yellow\", \"bold\"],\n\ttextStyles: [\"green\"],\n\tindent: 1\n}) );\n```\n\nThis produces a definition list like this, with colors when the terminal supports them:\n\n```\n ┌─────────────────────────────┐\n │ Event ID: emm2wtlsxrtjz8v4  │\n │ Title:    Simple Shell Test │\n │ Category: general           │\n │ Author:   admin             │\n └─────────────────────────────┘\n```\n\nThe label and value columns are left-aligned.  When the box would exceed the attached terminal width, long values are shortened with an ellipsis.  The complete label column is preserved whenever possible.  The `indent` is treated as a horizontal margin on both sides when calculating the available width.\n\nYou can customize the definition list with these options:\n\n| Property Name | Description |\n|---------------|-------------|\n| `labelStyles` | An array of [chalk](https://www.npmjs.com/package/chalk) styles or functions for labels.  Defaults to `[\"bold\"]`. |\n| `textStyles` | An array of styles or functions for values.  Defaults to `[]`. |\n| `borderStyles` | An array of styles or functions for the box border.  Defaults to `[\"gray\"]`. |\n| `indent` | Horizontal margin in characters on both sides of the box.  Defaults to `0`. |\n| `gap` | Spaces between the label and value columns.  Defaults to `1`. |\n| `hspace` | Spaces between the content and each side of the box.  Defaults to `1`. |\n| `vspace` | Empty lines above and below the list inside the box.  Defaults to `0`. |\n\n## Displaying Dashboard Grids\n\nCall `cli.dashGrid()` to render a responsive grid of dashboard units.  Each unit contains a centered value and label, and all units have the same dimensions regardless of their content.  Pass an array of `[label, value]` pairs:\n\n```js\nconst cli = require('pixl-cli');\n\ncli.println( cli.dashGrid([\n\t[ \"Conductors\", 1 ],\n\t[ \"Servers\", 2 ],\n\t[ \"Current Alerts\", 0 ],\n\t[ \"Active Jobs\", 0 ],\n\t[ \"Job Success Rate\", \"100%\" ],\n\t[ \"Avg. Job Elapsed\", \"31 sec\" ]\n], {\n\tminCols: 3,\n\tmaxCols: 5,\n\tgap: 1,\n\tvalueStyles: [\"bold\", \"green\"]\n}) );\n```\n\nAt a width of 62 columns, the first row looks like this:\n\n```\n┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐\n│        1         │ │        2         │ │        0         │\n│                  │ │                  │ │                  │\n│    Conductors    │ │     Servers      │ │  Current Alerts  │\n└──────────────────┘ └──────────────────┘ └──────────────────┘\n```\n\nThe grid uses the current terminal width and flows additional units onto new rows.  An incomplete final row ends after its last unit.  Labels and values are limited to one line and automatically shortened with an ellipsis when necessary.  ANSI styles and emoji are measured by their terminal display width.\n\nYou can customize the dashboard grid with these options:\n\n| Property Name | Description |\n|---------------|-------------|\n| `width` | Overall layout width, including horizontal margins.  Defaults to `cli.width()`, or `80` when no terminal width is available. |\n| `unitWidth` | Target outer width used to select the responsive column count.  Defaults to `20`. |\n| `minCols` | Preferred minimum number of columns.  Defaults to `3`.  Extremely narrow terminals may use fewer to avoid overflow. |\n| `maxCols` | Maximum number of columns.  Defaults to `5`. |\n| `gap` | Horizontal spaces between units.  Grid rows use `gap - 1` blank lines.  Defaults to `1`, producing no vertical blank line. |\n| `indent` | Horizontal margin in characters on both sides of the grid.  Defaults to `0`. |\n| `valueStyles` | An array of [chalk](https://www.npmjs.com/package/chalk) styles or functions for values.  Defaults to `[\"bold\"]`. |\n| `labelStyles` | An array of styles or functions for labels.  Defaults to `[\"gray\"]`. |\n| `borderStyles` | An array of styles or functions for unit borders.  Defaults to `[\"gray\"]`. |\n\n## Displaying Timeseries Charts\n\n![Chart Example](https://pixlcore.com/software/pixl-cli/chart.png)\n\nCall `cli.chart()` to render a filled timeseries area chart using Unicode Braille characters.  Each character contains two horizontal samples and four vertical dots, which gives the chart more detail than ordinary text cells can provide.\n\nPass the chart an array of objects containing an `x` Epoch timestamp in seconds and a numeric `y` value:\n\n```js\nconst cli = require('pixl-cli');\n\ncli.println( cli.chart({\n\ttitle: \"App Requests per sec\",\n\tdataType: \"integer\",\n\tdataSuffix: \"/sec\",\n\theight: 14,\n\tindent: 1,\n\tcolor: \"green\",\n\tdata: [\n\t\t{ x: 1634269860, y: 39 },\n\t\t{ x: 1634269920, y: 42 },\n\t\t{ x: 1634269980, y: 53 },\n\t\t{ x: 1634270040, y: 40 },\n\t\t{ x: 1634270100, y: 81 },\n\t\t{ x: 1634270160, y: 43 }\n\t]\n}) );\n```\n\nThe chart automatically fills the available terminal width.  The `indent` option reserves the same horizontal margin on both sides, and defaults to one character.  An explicit `width` is useful for tests and redirected output, where a terminal width may not be available.\n\nThe Y axis always starts at zero and ends at the highest data value.  Set `minVertScale` to enforce a minimum upper bound, such as `100` for a CPU percentage chart.  The two Y-axis labels are drawn inside the frame, while the first and last timestamps are shown below it using the current system locale and time zone.\n\nSparse datasets are smoothed using monotone cubic interpolation.  Dense datasets are reduced to two samples per Braille character using linear interpolation.  A single sample produces axis labels without chart data, and an empty dataset produces only the frame.\n\nSet `delta` to `true` to graph the difference between each sample and the one before it.  This is useful for counters that accumulate over time.  The first sample copies the second sample's computed delta so the chart still covers the complete time range.  Set `deltaMinValue` to a number such as `0` to clamp raw deltas before rendering.  Set `divideByDelta` to `true` to divide each delta by the number of seconds between its current and previous timestamps, producing a per-second rate.\n\nYou can customize the chart with these options:\n\n| Property Name | Description |\n|---------------|-------------|\n| `data` | Array of `{ x, y }` samples.  The `x` values must be Epoch timestamps in seconds.  Defaults to `[]`. |\n| `title` | Optional title displayed above the frame. |\n| `width` | Overall layout width, including horizontal margins.  Defaults to `cli.width()`, or `80` when no terminal width is available. |\n| `height` | Number of Braille rows inside the frame.  Defaults to `14`, with a minimum of `2`. |\n| `indent` | Horizontal margin in characters on both sides of the chart.  Defaults to `1`. |\n| `dataType` | Y-axis format: `integer`, `float`, `bytes`, `seconds`, or `milliseconds`.  Defaults to `integer`. |\n| `dataSuffix` | Optional text appended to both Y-axis labels.  Defaults to an empty string. |\n| `floatPrecision` | Maximum decimal precision used by compact value formats.  Defaults to `2`. |\n| `minVertScale` | Minimum value for the top of the Y axis.  Defaults to `0`. |\n| `delta` | Render each Y value as its difference from the previous sample.  Defaults to `false`. |\n| `deltaMinValue` | Optional minimum for computed delta values, commonly `0`.  Defaults to `false`, which disables clamping. |\n| `divideByDelta` | Divide each computed delta by its elapsed time in seconds.  Defaults to `false`. |\n| `color` | Chalk style name, style function, or array of styles for the chart data.  Defaults to no style. |\n| `borderStyles` | Array of styles or functions for the frame.  Defaults to `[\"gray\"]`. |\n| `labelStyles` | Array of styles or functions for both axes.  Defaults to `[\"gray\"]`. |\n| `titleStyles` | Array of styles or functions for the title.  Defaults to `[\"cyan\", \"bold\"]`. |\n\n## Displaying Tables\n\n![Table Example](https://pixlcore.com/software/pixl-cli/table.png)\n\nCalling `cli.table()` produces a nicely formatted ASCII table with a grid of data.  It expects an array of rows, and each element should be an array of columns.  The first row will be rendered as the \"header\" and use a different style.  Example:\n\n```js\nconst cli = require('pixl-cli');\n\nlet rows = [\n\t[ \"Username\", \"Full Name\", \"Email Address\", \"Status\" ],\n\t[ \"jhuckaby\", \"Joseph Huckaby\", \"jhuckaby@test.com\", \"Administrator\" ],\n\t[ \"tsmith\", \"Tom Smith\", \"smith@email.com\", \"Active\" ],\n\t[ \"dcook\", \"David Cook\", \"dcook@hotmail.com\", \"Suspended\" ]\n];\n\ncli.print( \n\tcli.table(rows) + \"\\n\" \n);\n```\n\nThis would produce the following output:\n\n```\n┌──────────┬────────────────┬───────────────────┬───────────────┐\n│ Username │ Full Name      │ Email Address     │ Status        │\n├──────────┼────────────────┼───────────────────┼───────────────┤\n│ jhuckaby │ Joseph Huckaby │ jhuckaby@test.com │ Administrator │\n│ tsmith   │ Tom Smith      │ smith@email.com   │ Active        │\n│ dcook    │ David Cook     │ dcook@hotmail.com │ Suspended     │\n└──────────┴────────────────┴───────────────────┴───────────────┘\n```\n\nOf course, if your Terminal supports ANSI color and font styles, the header would be bold and yellow, the text would be cyan, and the borders would be gray.  You can customize the styles by passing an object as the second argument to `cli.table()` with the following keys:\n\n| Property Name | Description |\n|---------------|-------------|\n| `headerStyles` | An array of [chalk](https://www.npmjs.com/package/chalk) styles or functions to apply to the header cell text. |\n| `textStyles` | An array of [chalk](https://www.npmjs.com/package/chalk) styles or functions to apply to the table cell text. |\n| `borderStyles` | An array of [chalk](https://www.npmjs.com/package/chalk) styles or functions to apply to the border graphics. |\n| `indent` | Number of characters to indent the table by (defaults to `0`). |\n| `autoFit` | Automatically \"fit\" table into the available terminal width, if it is too wide.  This will add ellipsis to longer columns as required. |\n\nHere is an example specifying all the possible options:\n\n```js\ncli.print( \n\tcli.table(rows, {\n\t\theaderStyles: [\"bold\", \"yellow\"],\n\t\ttextStyles: [\"cyan\", function( text ) { return text.toUpperCase() }],\n\t\tborderStyles: [\"gray\"],\n\t\tindent: 0,\n\t\tautoFit: true\n\t}) + \"\\n\" \n);\n```\n\nEach of the three style keys should be set to an array of style names supported by the [chalk](https://www.npmjs.com/package/chalk) module or a custom function to support different text transformations.  These are arrays because each component may contain multiple styles.  For example, the `headerStyles` is rendered with both `yellow` and `bold` by default.\n\nNote that each text cell must only be one line (multi-line is not supported).\n\n## Graphical Progress Bars\n\n![Progress Bar Example](https://pixlcore.com/software/pixl-cli/progress.gif)\n\nTo display a graphical ASCII progress bar, first call `cli.progress.start()` to display the progress bar and begin animation.  Then, as you make progress on your operation, call `cli.progress.update()` and pass in a number between `0.0` and `1.0` representing the total progress (the maximum is configurable, see below).  When your operation is complete, call `cli.progress.end()`.  That's it!\n\nHere is a simple example:\n\n```js\nconst cli = require('pixl-cli');\n\nlet amount = 0;\ncli.progress.start();\n\nsetInterval( function() {\n\tamount += 0.0005;\n\tcli.progress.update( amount );\n\t\n\tif (amount >= 1.0) {\n\t\tcli.progress.end();\n\t\tcli.print(\"\\tThe end!\\n\\n\");\n\t\tprocess.exit(0);\n\t}\t\n}, 10 );\n```\n\nNote that the progress bar will redraw itself every 100ms (configurable), so you don't need to worry about calling `cli.progress.update()` constantly.  You only really need to call it when the amount changes.\n\nNote that if your script is running without a TTY (i.e. without an attached terminal, as in piped to a file or another script), the progress bar is completely no-op'ed.  Meaning, it doesn't display anything, and all the API calls do nothing and don't throw any errors.\n\n### Configuration\n\nCalls to `cli.progress.start()` and `cli.progress.update()` accept an object containing any of the following properties:\n\n| Property Name | Description |\n|---------------|-------------|\n| `amount` | Initial amount to display in progress bar (between 0 and `max`).  Defaults to `0.0`. |\n| `max` | Maximum amount which represents 100% of bar being filled.  Defaults to `1.0`. |\n| `text` | Optional custom text string to display on right side of progress bar. |\n| `width` | The width of the actual progress bar in characters (defaults to `30`). |\n| `indent` | Number of characters to indent the progress bar by (defaults to `0`). |\n| `freq` | The animation update frequency in milliseconds (defaults to `100`). |\n| `color` | Boolean (true), specifies whether to use [chalk](https://www.npmjs.com/package/chalk) colors or not. |\n| `unicode` | Boolean (true), specifies whether to use Unicode characters or basic ASCII. |\n| `remain` | Boolean (true), specifies whether to show the estimated remaining time or not. |\n| `spinner` | An array of characters to use as the spinning animation. |\n| `braces` | An array of two characters to use as the left and right braces around the bar. |\n| `filling` | An array of characters to use as the bar chunk filling progression. |\n| `filled` | A single character representing one filled bar chunk, defaults to \"⣿\". |\n| `styles` | A set of color styles to use (see [Changing Color Styles](#changing-color-styles) below). |\n| `pct` | Show percentage (defaults to `true`). |\n\nIf you call `cli.progress.update()` and pass in a number, the library assumes you are just updating the `amount`.  However, if you pass in an object, all the specified properties are updated.\n\n### Temporarily Erasing The Bar\n\nIf you need to temporarily erase the progress bar, presumably to write some lines of output to the console, you can call the `cli.progress.erase()` method.  To reduce flickering, you can force a redraw just after outputting your lines by calling `cli.progress.draw()`.\n\nHowever, if you use the built-in CLI `print()`, `println()`, `verbose()` or `verboseln()` functions, the progress bar is automatically hidden and redrawn for you.  You should only need to manually erase and redraw it if you are calling some other code that outputs to STDOUT or STDERR.  Example:\n\n```js\ncli.progress.erase();\nconsole.log( some_large_object );\ncli.progress.draw();\n```\n\n### Customizing the Look\n\nThe progress bar uses specific Unicode characters to achieve its look.  You can customize these by passing in the following keys to your call to `cli.progress.start()`:\n\n```js\ncli.progress.start({\n\tspinner: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n\tbraces: ['⟦', '⟧'],\n\tfilling: [' ', '⡀', '⡄', '⡆', '⡇', '⣇', '⣧', '⣷'],\n\tfilled: '⣿'\n});\n```\n\nThe `spinner` array contains all the characters used for the 1-character spinning animation at the left side of the bar.  They are picked in sequence for each tick (`freq` milliseconds).  To disable the spinner, set this to an array containing one empty space character.\n\nThe `braces` array should contain exactly two elements: one for the left side, and one for the right side of the bar.  By default these are stylized Unicode brackets, but can be replaced with any characters you want.\n\nThe `filling` array contains progressive characters representing a partial bar chunk as it fills up, before it is replaced with the `filled` character.  To disable the partial chunk blocks, set this to an array containing one empty space character.\n\nFinally, the `filled` is a single character (not an array) which represents a filled chunk of the progress bar.  This is what replaces the `filling` animation once it completes a block.\n\nIf you switch to [plain ASCII mode](#unicode-or-ascii) by setting the `unicode` property to false, this is the same as passing the following:\n\n```js\ncli.progress.start({\n\tspinner: ['|', '/', '-', \"\\\\\"],\n\tbraces: ['[', ']'],\n\tfilling: [' ', '.', ':'],\n\tfilled: '#'\n});\n```\n\n### Indeterminite Progress\n\nFor indeterminate progress, simply set the `amount` to the `max`.  If these two values are identical, the progress bar is shown in an \"indeterminate\" state (e.g. the filled portion of the bar is drawn in a different color, default `gray`).  This is to handle cases where a job \"sits at 100%\" but isn't quite complete, and also handle deliberate intermintate jobs (i.e. your code can just set the `amount` to the `max` to show an interminate bar).  This also hides the time remaining.\n\nFor an additional UI hint, if you know your job is going to be indeterminate from the start, set the `pct` option to `false` to hide the percentage display.  Otherwise it'll show \"100%\" during indeterminacy.\n\n### Changing Color Styles\n\nThe progress bar uses a set of color styles from the [chalk](https://www.npmjs.com/package/chalk) module or a custom function for the spinner, braces, bar chunks, percentage display, remaining time, and your custom text (if applicable).  To customize these, pass in a `styles` object with the following keys:\n\n```js\ncli.progress.start({\n\tstyles: {\n\t\tspinner: ['bold', 'green'],\n\t\tbraces: ['gray'],\n\t\tbar: ['bold', 'cyan'],\n\t\tindeterminate: ['gray'],\n\t\tpct: ['bold', 'yellow'],\n\t\tremain: ['green'],\n\t\ttext: [function( text ) { return text.toUpperCase() }]\n\t}\n});\n```\n\nEach key should be set to an array of styles supported by the [chalk](https://www.npmjs.com/package/chalk) module or a function.  These are arrays because each component may contain multiple styles.  For example, by default the `spinner`, `bar` and `pct` are styled with both a color and `bold`.\n\nThe `indeterminate` style is applied to the filled portion of the bar when the `amount` is exactly equal to the `max`.\n\n### Automatic Width\n\nTo set the progress bar size automatically to take up the full width of your Terminal window, you can use the `cli.width()` function.  Just subtract 27 characters from it (possibly more if you use `indent` or `text`) to account for the spinner, braces, percentage and remaining time:\n\n```js\ncli.progress.start({\n\twidth: cli.width() - 27\n});\n```\n\nTo handle dynamically resizing Terminal windows, just reset the width in each of your calls to `cli.progress.update()`:\n\n```js\ncli.progress.update({\n\tamount: MY_CURRENT_AMOUNT,\n\twidth: cli.width() - 27\n});\n```\n\n### Keep progress bar visible\n\nTo keep the progress bar visible after it reaches 100%, just pass the value `false` to the \n`cli.progress.end()` function. This will prevent it from being erased from the screen.\n\n### Unicode or ASCII\n\nBy default the progress bar is rendered using various Unicode characters:\n\n```\n⠼ ⟦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿              ⟧ 53% (11 sec remain)\n```\n\nHowever, if you set the `unicode` parameter to `false`, these will be replaced with standard ASCII equivalents:\n\n```\n/ [################:             ] 55% (10 sec remain)\n```\n\nYou can change the exact characters used as well.  See the [Customizing the Look](#customizing-the-look) section.\n\n### Hiding the Cursor\n\nWhile the progress bar is active, your terminal cursor is hidden, and then restored when `cli.progress.end()` is called, or when your process exits.  This is all handled automatically, except when your process dies unexpectedly, such as via an uncaught Ctrl-C ([SIGINT](https://nodejs.org/api/process.html#process_signal_events)), uncaught termination signal, or a hard crash.  When these happen, the progress bar has no chance to restore the cursor, so it ends up remaining hidden until you close and reopen your terminal window.\n\nTo fix this, you have two options.  You can either catch the [signal](https://nodejs.org/api/process.html#process_signal_events) or [crash](https://nodejs.org/api/process.html#process_event_uncaughtexception) yourself, and call `cli.progress.end()`, or you can let the library handle it for you:\n\nWhen calling `cli.progress.start()` there are some optional arguments which activate special behavior for the terminal cursor restoration.  They are:\n\n| Property Name | Description |\n|---------------|-------------|\n| `catchInt` | When set to `true`, this will hook [SIGINT](https://nodejs.org/api/process.html#process_signal_events) and call `cli.progress.end()` to restore the cursor. |\n| `catchTerm` | When set to `true`, this will hook [SIGTERM](https://nodejs.org/api/process.html#process_signal_events) and call `cli.progress.end()` to restore the cursor. |\n| `catchCrash` | When set to `true`, this will hook [uncaughtException](https://nodejs.org/api/process.html#process_event_uncaughtexception) and call `cli.progress.end()` to restore the cursor. |\n| `exitOnSig` | When set to `true`, this will also call [process.exit()](https://nodejs.org/api/process.html#process_process_exit_code) (with the appropriate status code) after handling the SIGINT or SIGTERM signal. |\n\nExample:\n\n```js\ncli.progress.start({\n\tcatchInt: true,\n\tcatchTerm: true,\n\tcatchCrash: true,\n\texitOnSig: true\n});\n```\n\n**Note:** You should only need `exitOnSig` if you are **not** already handling the [signal](https://nodejs.org/api/process.html#process_signal_events) in your own code, and calling [process.exit()](https://nodejs.org/api/process.html#process_process_exit_code) yourself.\n\n## Chalk\n\nAll the style methods from the wonderful [chalk](https://www.npmjs.com/package/chalk) module are automatically imported, so you can use them like this:\n\n```js\nconst cli = require('pixl-cli');\ncli.print( cli.bold.red(\"This is bold and red!\") + \"\\n\" );\n```\n\n## Importing Into Global\n\nYou can optionally import some of the most commonly used methods into the global namespace, so you can use them from anywhere without having to prefix them.  The method list includes `print()`, `verbose()`, a bunch of others (see below), as well as all the [chalk](https://www.npmjs.com/package/chalk) style methods.  Example:\n\n```js\nconst cli = require('pixl-cli');\ncli.global();\n\nprint( box( bold.red(\"This is bold, red and in a box!\") ) + \"\\n\" );\n```\n\nThe full list of methods and objects that are imported are:\n\n- `print()`\n- `println()`\n- `verbose()`\n- `warn()`\n- `die()`\n- `loadFile()`\n- `saveFile()`\n- `appendFile()`\n- `prompt()`\n- `yesno()`\n- `table()`\n- `box()`\n- `defList()`\n- `dashGrid()`\n- `wrap()`\n- `center()`\n- `commify()`\n- `shortFloat()`\n- `pct()`\n- `pluralize()`\n- `ucfirst()`\n- `progress`\n- `args`\n\n# License\n\n**The MIT License**\n\n*Copyright (c) 2016 - 2019 Joseph Huckaby.*\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","readmeFilename":"README.md","users":{"rdominy":true}}