{"_id":"promzard","_rev":"4130896","name":"promzard","description":"prompting wizardly","dist-tags":{"latest":"3.0.1"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"time":{"modified":"2026-03-01T18:33:06.000Z","created":"2012-06-13T19:34:32.845Z","3.0.1":"2025-10-23T17:47:13.698Z","3.0.0":"2025-10-22T15:28:23.994Z","2.0.0":"2024-09-26T15:20:45.412Z","1.0.2":"2024-05-04T01:10:27.643Z","1.0.1":"2024-04-01T21:51:06.166Z","1.0.0":"2022-12-15T19:49:39.272Z","0.3.0":"2015-03-14T20:40:51.833Z","0.2.2":"2014-05-08T18:07:31.539Z","0.2.1":"2013-12-27T17:35:28.230Z","0.2.0":"2012-07-24T08:13:49.096Z","0.1.5":"2012-06-17T04:17:58.956Z","0.1.4":"2012-06-17T03:57:54.653Z","0.0.2":"2012-06-14T01:15:25.960Z","0.0.1":"2012-06-13T19:34:32.845Z"},"users":{"fgribreau":true,"erickeno":true,"dineshbogolu":true,"jmorris":true,"iandstanley":true},"author":{"name":"GitHub Inc."},"repository":{"url":"git+https://github.com/npm/promzard.git","type":"git"},"versions":{"3.0.1":{"author":{"name":"GitHub Inc."},"name":"promzard","description":"prompting wizardly","version":"3.0.1","repository":{"url":"git+https://github.com/npm/promzard.git","type":"git"},"dependencies":{"read":"^5.0.0"},"devDependencies":{"@npmcli/eslint-config":"^5.0.0","@npmcli/template-oss":"4.27.1","tap":"^16.3.0"},"main":"lib/index.js","scripts":{"test":"tap","lint":"npm run eslint","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run eslint -- --fix","snap":"tap","posttest":"npm run lint","eslint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""},"license":"ISC","engines":{"node":"^20.17.0 || >=22.9.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.27.1","publish":true},"tap":{"jobs":1,"test-ignore":"fixtures/","nyc-arg":["--exclude","tap-snapshots/**"]},"gitHead":"47c462e6e5adeeeedd3d834656b85c11e28f8df1","_id":"promzard@3.0.1","bugs":{"url":"https://github.com/npm/promzard/issues"},"homepage":"https://github.com/npm/promzard#readme","_nodeVersion":"22.20.0","_npmVersion":"11.6.2","dist":{"shasum":"e42b9b75197661e5707dc7077da8dfd3bdfd9e3d","size":4651,"noattachment":false,"key":"/promzard/-/promzard-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-3.0.1.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1020b249-5928-407d-9dea-451f9591a8dd"}},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/promzard_3.0.1_1761241633490_0.6908320405542132"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-23T17:47:13.698Z","publish_time":1761241633698,"_source_registry_name":"default","_cnpm_publish_time":1761241633698},"3.0.0":{"author":{"name":"GitHub Inc."},"name":"promzard","description":"prompting wizardly","version":"3.0.0","repository":{"url":"git+https://github.com/npm/promzard.git","type":"git"},"dependencies":{"read":"^4.0.0"},"devDependencies":{"@npmcli/eslint-config":"^5.0.0","@npmcli/template-oss":"4.27.1","tap":"^16.3.0"},"main":"lib/index.js","scripts":{"test":"tap","lint":"npm run eslint","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run eslint -- --fix","snap":"tap","posttest":"npm run lint","eslint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""},"license":"ISC","engines":{"node":"^20.17.0 || >=22.9.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.27.1","publish":true},"tap":{"jobs":1,"test-ignore":"fixtures/","nyc-arg":["--exclude","tap-snapshots/**"]},"gitHead":"0d8ad77f6dffec057ae585d806a9379c14f0fcd6","_id":"promzard@3.0.0","bugs":{"url":"https://github.com/npm/promzard/issues"},"homepage":"https://github.com/npm/promzard#readme","_nodeVersion":"22.20.0","_npmVersion":"11.6.2","dist":{"shasum":"1dc2414f01ed3c621fcfede649a93580994c43db","size":4651,"noattachment":false,"key":"/promzard/-/promzard-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-3.0.0.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1020b249-5928-407d-9dea-451f9591a8dd"}},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/promzard_3.0.0_1761146903786_0.47298261095886196"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-22T15:28:23.994Z","publish_time":1761146903994,"_source_registry_name":"default","_cnpm_publish_time":1761146903994},"2.0.0":{"author":{"name":"GitHub Inc."},"name":"promzard","description":"prompting wizardly","version":"2.0.0","repository":{"url":"git+https://github.com/npm/promzard.git","type":"git"},"dependencies":{"read":"^4.0.0"},"devDependencies":{"@npmcli/eslint-config":"^5.0.0","@npmcli/template-oss":"4.23.3","tap":"^16.3.0"},"main":"lib/index.js","scripts":{"test":"tap","lint":"npm run eslint","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run eslint -- --fix","snap":"tap","posttest":"npm run lint","eslint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""},"license":"ISC","engines":{"node":"^18.17.0 || >=20.5.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.23.3","publish":true},"tap":{"jobs":1,"test-ignore":"fixtures/","nyc-arg":["--exclude","tap-snapshots/**"]},"_id":"promzard@2.0.0","gitHead":"754f1bbb84ac92414240c2b83b2d6d297f7a0974","bugs":{"url":"https://github.com/npm/promzard/issues"},"homepage":"https://github.com/npm/promzard#readme","_nodeVersion":"22.9.0","_npmVersion":"10.8.3","dist":{"shasum":"03ad0e4db706544dfdd4f459281f13484fc10c49","size":4649,"noattachment":false,"key":"/promzard/-/promzard-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-2.0.0.tgz"},"_npmUser":{"name":"npm-cli-ops","email":"npm-cli+bot@github.com"},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promzard_2.0.0_1727364045243_0.7383547847906085"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-26T15:20:45.412Z","publish_time":1727364045412,"_source_registry_name":"default","_cnpm_publish_time":1727364045412},"1.0.2":{"author":{"name":"GitHub Inc."},"name":"promzard","description":"prompting wizardly","version":"1.0.2","repository":{"url":"git+https://github.com/npm/promzard.git","type":"git"},"dependencies":{"read":"^3.0.1"},"devDependencies":{"@npmcli/eslint-config":"^4.0.0","@npmcli/template-oss":"4.22.0","tap":"^16.3.0"},"main":"lib/index.js","scripts":{"test":"tap","lint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run lint -- --fix","snap":"tap","posttest":"npm run lint"},"license":"ISC","engines":{"node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.22.0","publish":true},"tap":{"jobs":1,"test-ignore":"fixtures/","nyc-arg":["--exclude","tap-snapshots/**"]},"_id":"promzard@1.0.2","gitHead":"5516fda6e72573dcd80eb254bc1aea7faa5d8e43","bugs":{"url":"https://github.com/npm/promzard/issues"},"homepage":"https://github.com/npm/promzard#readme","_nodeVersion":"22.1.0","_npmVersion":"10.7.0","dist":{"shasum":"2226e7c6508b1da3471008ae17066a7c3251e660","size":4653,"noattachment":false,"key":"/promzard/-/promzard-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-1.0.2.tgz"},"_npmUser":{"name":"npm-cli-ops","email":"npm-cli+bot@github.com"},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promzard_1.0.2_1714785027490_0.9587117463149581"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-04T01:10:27.643Z","publish_time":1714785027643,"_source_registry_name":"default","_cnpm_publish_time":1714785027643},"1.0.1":{"author":{"name":"GitHub Inc."},"name":"promzard","description":"prompting wizardly","version":"1.0.1","repository":{"url":"git+https://github.com/npm/promzard.git","type":"git"},"dependencies":{"read":"^3.0.1"},"devDependencies":{"@npmcli/eslint-config":"^4.0.0","@npmcli/template-oss":"4.21.3","tap":"^16.3.0"},"main":"lib/index.js","scripts":{"test":"tap","lint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run lint -- --fix","snap":"tap","posttest":"npm run lint"},"license":"ISC","engines":{"node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.21.3","publish":true},"tap":{"jobs":1,"test-ignore":"fixtures/","nyc-arg":["--exclude","tap-snapshots/**"]},"_id":"promzard@1.0.1","gitHead":"26d991e8a0d7f6958c0792e485f5e4c524ea79ac","bugs":{"url":"https://github.com/npm/promzard/issues"},"homepage":"https://github.com/npm/promzard#readme","_nodeVersion":"20.11.1","_npmVersion":"10.5.0","dist":{"shasum":"3b77251a24f988c0886f5649d4f642bcdd53e558","size":4624,"noattachment":false,"key":"/promzard/-/promzard-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-1.0.1.tgz"},"_npmUser":{"name":"npm-cli-ops","email":"npm-cli+bot@github.com"},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promzard_1.0.1_1712008266009_0.605829267980156"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-04-01T21:51:06.166Z","publish_time":1712008266166,"_source_registry_name":"default","_cnpm_publish_time":1712008266166},"1.0.0":{"author":{"name":"GitHub Inc."},"name":"promzard","description":"prompting wizardly","version":"1.0.0","repository":{"url":"git+https://github.com/npm/promzard.git","type":"git"},"dependencies":{"read":"^2.0.0"},"devDependencies":{"@npmcli/eslint-config":"^4.0.0","@npmcli/template-oss":"4.11.0","tap":"^16.3.0"},"main":"lib/index.js","scripts":{"test":"tap","lint":"eslint \"**/*.js\"","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run lint -- --fix","snap":"tap","posttest":"npm run lint"},"license":"ISC","engines":{"node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.11.0"},"tap":{"jobs":1,"test-ignore":"fixtures/","nyc-arg":["--exclude","tap-snapshots/**"]},"gitHead":"43992cf6d8e49fd733bfde46a0c01e2bb7d786ca","bugs":{"url":"https://github.com/npm/promzard/issues"},"homepage":"https://github.com/npm/promzard#readme","_id":"promzard@1.0.0","_nodeVersion":"18.12.1","_npmVersion":"9.2.0","dist":{"shasum":"3246f8e6c9895a77c0549cefb65828ac0f6c006b","size":4578,"noattachment":false,"key":"/promzard/-/promzard-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-1.0.0.tgz"},"_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promzard_1.0.0_1671133779079_0.7123371047344196"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-15T20:10:48.765Z","publish_time":1671133779272,"_cnpm_publish_time":1671133779272},"0.3.0":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"promzard","description":"prompting wizardly","version":"0.3.0","repository":{"url":"git://github.com/isaacs/promzard"},"dependencies":{"read":"1"},"devDependencies":{"tap":"~0.2.5"},"main":"promzard.js","scripts":{"test":"tap test/*.js"},"license":"ISC","gitHead":"780ead051299aa28be2584199ab6fa503a32d354","bugs":{"url":"https://github.com/isaacs/promzard/issues"},"homepage":"https://github.com/isaacs/promzard","_id":"promzard@0.3.0","_shasum":"26a5d6ee8c7dee4cb12208305acfb93ba382a9ee","_from":".","_npmVersion":"2.7.1","_nodeVersion":"1.4.2","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"dist":{"shasum":"26a5d6ee8c7dee4cb12208305acfb93ba382a9ee","size":9168,"noattachment":false,"key":"/promzard/-/promzard-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-0.3.0.tgz"},"directories":{},"publish_time":1426365651833,"_cnpm_publish_time":1426365651833,"_hasShrinkwrap":false},"0.2.2":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"promzard","description":"prompting wizardly","version":"0.2.2","repository":{"url":"git://github.com/isaacs/promzard"},"dependencies":{"read":"1"},"devDependencies":{"tap":"~0.2.5"},"main":"promzard.js","scripts":{"test":"tap test/*.js"},"license":"ISC","bugs":{"url":"https://github.com/isaacs/promzard/issues"},"homepage":"https://github.com/isaacs/promzard","_id":"promzard@0.2.2","_shasum":"918b9f2b29458cb001781a8856502e4a79b016e0","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"dist":{"shasum":"918b9f2b29458cb001781a8856502e4a79b016e0","size":8641,"noattachment":false,"key":"/promzard/-/promzard-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-0.2.2.tgz"},"directories":{},"publish_time":1399572451539,"_cnpm_publish_time":1399572451539,"_hasShrinkwrap":false},"0.2.1":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"promzard","description":"prompting wizardly","version":"0.2.1","repository":{"url":"git://github.com/isaacs/promzard"},"dependencies":{"read":"1"},"devDependencies":{"tap":"~0.2.5"},"main":"promzard.js","scripts":{"test":"tap test/*.js"},"license":"ISC","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/promzard/issues"},"homepage":"https://github.com/isaacs/promzard","_id":"promzard@0.2.1","dist":{"shasum":"c4c7cbe5182465c13b43540be9daf47098b4e75b","size":8570,"noattachment":false,"key":"/promzard/-/promzard-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-0.2.1.tgz"},"_from":".","_npmVersion":"1.3.22","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"directories":{},"publish_time":1388165728230,"_hasShrinkwrap":false,"_cnpm_publish_time":1388165728230},"0.2.0":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"promzard","description":"prompting wizardly","version":"0.2.0","repository":{"url":"git://github.com/isaacs/promzard"},"dependencies":{"read":"1"},"devDependencies":{"tap":"~0.2.5"},"main":"promzard.js","scripts":{"test":"tap test/*.js"},"_id":"promzard@0.2.0","dist":{"shasum":"766f33807faadeeecacf8057024fe5f753cfa3c1","size":8022,"noattachment":false,"key":"/promzard/-/promzard-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-0.2.0.tgz"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"directories":{},"publish_time":1343117629096,"_hasShrinkwrap":false,"_cnpm_publish_time":1343117629096},"0.1.5":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"promzard","description":"prompting wizardly","version":"0.1.5","repository":{"url":"git://github.com/isaacs/promzard"},"dependencies":{"read":"0"},"devDependencies":{"tap":"~0.2.5"},"main":"promzard.js","scripts":{"test":"tap test/*.js"},"_id":"promzard@0.1.5","dist":{"shasum":"124db51af3b695fe790add09dd8c265ce743a603","size":7790,"noattachment":false,"key":"/promzard/-/promzard-0.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-0.1.5.tgz"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"directories":{},"publish_time":1339906678956,"_hasShrinkwrap":false,"_cnpm_publish_time":1339906678956},"0.1.4":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"promzard","description":"prompting wizardly","version":"0.1.4","repository":{"url":"git://github.com/isaacs/promzard"},"dependencies":{"read":"0"},"devDependencies":{"tap":"~0.2.5"},"main":"promzard.js","scripts":{"test":"tap test/*.js"},"_id":"promzard@0.1.4","dist":{"shasum":"cf255708734b70101e3e0c83dbf34da80d504d00","size":7759,"noattachment":false,"key":"/promzard/-/promzard-0.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-0.1.4.tgz"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"directories":{},"publish_time":1339905474653,"_hasShrinkwrap":false,"_cnpm_publish_time":1339905474653},"0.0.2":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"promzard","description":"prompting wizardly","version":"0.0.2","repository":{"url":"git://github.com/isaacs/promzard"},"dependencies":{"read":"0"},"devDependencies":{"tap":"~0.2.5"},"main":"promzard.js","scripts":{"test":"tap test/*.js"},"_id":"promzard@0.0.2","dist":{"shasum":"e3bf7916aa49102b0c5a887e5611884d41a27003","size":5377,"noattachment":false,"key":"/promzard/-/promzard-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-0.0.2.tgz"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"directories":{},"publish_time":1339636525960,"_hasShrinkwrap":false,"_cnpm_publish_time":1339636525960},"0.0.1":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"promzard","description":"prompting wizardly","version":"0.0.1","repository":{"url":"git://github.com/isaacs/promzard"},"dependencies":{"read":"0.0.3"},"devDependencies":{"tap":"~0.2.5"},"main":"promzard.js","scripts":{"test":"tap test/*.js"},"_id":"promzard@0.0.1","dist":{"shasum":"deff6760bf8f69dbdee6d9da66783570ed1f81ab","size":3714,"noattachment":false,"key":"/promzard/-/promzard-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/promzard/download/promzard-0.0.1.tgz"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"directories":{},"publish_time":1339616072845,"_hasShrinkwrap":false,"_cnpm_publish_time":1339616072845}},"readme":"# promzard\n\nA prompting wizard for building files from specialized PromZard modules.\nUsed by `npm init`.\n\nA reimplementation of @SubStack's\n[prompter](https://github.com/substack/node-prompter), which does not\nuse AST traversal.\n\nFrom another point of view, it's a reimplementation of\n[@Marak](https://github.com/marak)'s\n[wizard](https://github.com/Marak/wizard) which doesn't use schemas.\n\nThe goal is a nice drop-in enhancement for `npm init`.\n\n## Usage\n\n```javascript\nconst promzard = require('promzard')\nconst data = await promzard(inputFile, optionalContextAdditions, options)\n```\n\nIn the `inputFile` you can have something like this:\n\n```javascript\nconst fs = require('fs/promises')\nmodule.exports = {\n  \"greeting\": prompt(\"Who shall you greet?\", \"world\", (who) => `Hello, ${who}`),\n  \"filename\": __filename,\n  \"directory\": async () => {\n    const entries = await fs.readdir(__dirname)\n    return entries.map(e => `entry: ${e}`)\n  }\n}\n```\n\nWhen run, promzard will display the prompts and resolve the async\nfunctions in order, and then either give you an error, or the resolved\ndata, ready to be dropped into a JSON file or some other place.\n\n\n### promzard(inputFile, ctx, options)\n\nThe inputFile is just a node module.  You can require() things, set\nmodule.exports, etc.  Whatever that module exports is the result, and it\nis walked over to call any functions as described below.\n\nThe only caveat is that you must give PromZard the full absolute path\nto the module (you can get this via Node's `require.resolve`.)  Also,\nthe `prompt` function is injected into the context object, so watch out.\n\nWhatever you put in that `ctx` will of course also be available in the\nmodule.  You can get quite fancy with this, passing in existing configs\nand so on.\n\n#### options.backupFile\n\nUse the `backupFile` option as a fallback when `inputFile` fails to be read.\n\n### Class: promzard.PromZard(file, ctx, options).load()\n\nJust like the `promzard` function, but the class that makes it\nall happen.  The `load` method returns a promise which will resolve\nto the resolved data or throw with an error.\n\n### prompt(...)\n\nIn the promzard input module, you can call the `prompt` function.\nThis prompts the user to input some data.  The arguments are interpreted\nbased on type:\n\n1. `string`  The first string encountered is the prompt.  The second is\n   the default value.\n2. `function` A transformer function which receives the data and returns\n   something else.  More than meets the eye.\n3. `object` The `prompt` member is the prompt, the `default` member is\n   the default value, and the `transform` is the transformer.\n\nWhatever the final value is, that's what will be put on the resulting\nobject.\n\n### Functions\n\nIf there are any functions on the promzard input module's exports, then\npromzard will await each of them.  This way, your module\ncan do asynchronous actions if necessary to validate or ascertain\nwhatever needs verification.\n\nThe functions are called in the context of the ctx object.\n\nIn the async function, you can also call prompt() and return the result\nof the prompt.\n\nFor example, this works fine in a promzard module:\n\n```js\nexports.asyncPrompt = async function () {\n  const st = await fs.stat(someFile)\n  // if there's an error, no prompt, just error\n  // otherwise prompt and use the actual file size as the default\n  return prompt('file size', st.size)\n}\n```\n\nYou can also return other async functions in the async function\ncallback.  Though that's a bit silly, it could be a handy way to reuse\nfunctionality in some cases.\n\n### Sync vs Async\n\nThe `prompt()` function is not synchronous, though it appears that way.\nIt just returns a token that is swapped out when the data object is\nwalked over asynchronously later, and returns a token.\n\nFor that reason, prompt() calls whose results don't end up on the data\nobject are never shown to the user.  For example, this will only prompt\nonce:\n\n```\nexports.promptThreeTimes = prompt('prompt me once', 'shame on you')\nexports.promptThreeTimes = prompt('prompt me twice', 'um....')\nexports.promptThreeTimes = prompt('you cant prompt me again')\n```\n\n### Isn't this exactly the sort of 'looks sync' that you said was bad about other libraries?\n\nYeah, sorta.  I wouldn't use promzard for anything more complicated than\na wizard that spits out prompts to set up a config file or something.\nMaybe there are other use cases I haven't considered.\n","_attachments":{},"homepage":"https://github.com/npm/promzard#readme","bugs":{"url":"https://github.com/npm/promzard/issues"},"license":"ISC"}