{"_id":"pronto","_rev":"51-d7f4a9c5235db35de4afd5061c8c3c92","name":"pronto","description":"Application building framework","dist-tags":{"latest":"0.3.14"},"versions":{"0.0.1":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.0.1","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.0.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.0.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"8a4efba7a8fb6ead5d68ba9ee823814bccc48be5","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.0.1.tgz","integrity":"sha512-bHYT50Nii0vyUVJuDPrGsmGQR62rl5pCcuP7OvBjIZmonry9m5NcsLkVJhRtJbFirRCCHz4HpIHKch/nWU0vqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrqmh2xCSjR+/5Ekhc6Tyh44lvhGCsGsajynl38k6wYwIhAPafBvVYCO84zM96b8xFlvrS64NhhDTjBP4/gQe2/7WB"}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.0.3":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.0.3","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.0.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.0.3","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"9fbb80b93790472e1b3276ab2eb7e1cf0f4ff2c4","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.0.3.tgz","integrity":"sha512-0I4enF5eurF5jdbGXCoCqcNr7lGVnEHxt3kmKyrLV5811mNESj/wOLvDCf45LyKVhJDjhYQ7uIOv9cajg1OkvA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCD5OKNfNyZSx/HK2ZUg3kXdoaGsyo5pqhGjA1TThdKRQIhAKHuZYOd01kPrNRQotLLWNzkbwz52LGi5Mw6TLL0c68p"}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.0.4":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.0.4","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.0.4/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.0.4","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"37ba9b1989be74b48cc92870bf4ed581b9494a2f","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.0.4.tgz","integrity":"sha512-mjvG5v71ez98a6Ua9s9aQN8L9wGv0PXgwKZmO53uRR6K96R3g9YrFTRxAC7kUqrsKUJPlp6nOoXHcNvGpRRSmg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJemG3on5JDL31np9B64MVA9RL0gpA0hRz4AdGw+qbnAIhAMEDMfTZKI1BR30Sfy5C26rMlB1IVmS2dfMe8eKlATw0"}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.0.5":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.0.5","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.0.5/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.0.5","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"617cb87dc55e933555a17a9dc54d398857a210f5","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.0.5.tgz","integrity":"sha512-lvHkhRsrdP2oS9I5IdyPhGAHxsS8/P6Rml4U7z9iLdmYK13XkWBk8NKOLJdOux8jKjN3i7AIJjKBUeOWCXrZPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHs8faonSIh2O4e7bpSwwN9Lbb8mDgiFxPbmzk1u/VVqAiEAmCLextErRrwp0Ebm36EW9/ZJ4W9BHyqCAWHABFaj/4g="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.0.6":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.0.6","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.0.6/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.0.6","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"496dab4e3940f3fa91069d16b9de9fc4e209e71b","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.0.6.tgz","integrity":"sha512-BJLup1dmzV2mPeQaFjGORkof5B0LxFJ2vbhRB7EjxjyJttWkS535C1DuOqH6EcCCipSiqYQ5I+mMLfG3dJuKOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsmaiZUKXFk7rp5NcBgvtEwo3KnxXTU51qA/hsiR6E+wIhANuPKGwfGurCZEi5PFK2eULvg9Y/x7rcpl+VASWCkJAm"}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.0.7":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.0.7","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.0.7/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.0.7","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"7e482b349f582edbfbe70bdbeb8cbf59e4aa83b7","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.0.7.tgz","integrity":"sha512-iF9N/34kKt1avMdaFjBtNLi1/kKlIEaRuwlKnBx75iJG7R/COvDv28WSqeWxy7TwqSHmC5mwE96zyBcz/34gvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVC9oUsiPcXYY6ULKj+KvLS/ZENxxBCi1GyhHEfMUGGgIhALoo/fRcmD31+nGBak6EqACV74+TX9e5hYFPZeHIO1yp"}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.1.0":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.1.0","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.1.0","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"ad907905477efa0da4fc052d718cd7158945f538","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.1.0.tgz","integrity":"sha512-Mr5HIx2m8IMFnvbEOAtH/AFYp0IE4Ff20LAzSRcJKImcPb7G43a4NbJIiduaI5Q0XcrVwhmqwspoqWnO8IxWTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIByCPIE5RnWRamgtn8eZbbaj8YEa+HwwFmHFwiV51LbvAiBQhHaZLHTnEXeq5/vD6VE91k51iZxKjE/AiIi+oriLLg=="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.1.1":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.1.1","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.1.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.1.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"30b1aec2735f85d54e3e3123856f5eba2c196aea","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.1.1.tgz","integrity":"sha512-70WsPPNdv3pSAMSYydatVcwZQ4ufquZlWVQH7w/nfcIb2fEBZBU8Yxxj1e6p5uZ8FBipSKTyYBJ/lEeF0ORzZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQDEtIBBvQZn7/OKi62xUSn1ZVsXTeB9/pxSkWPQ48h5DQIfMH2Sm0xIR0EaN52Is/L85gCJ0jHeBV9siaLBQtHEUg=="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.1.2":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.1.2","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.1.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.1.2","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"ee88b7ae73e26ef7cb82e12848235af678cbc08f","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.1.2.tgz","integrity":"sha512-nGGdn06VzX/0PH52gO6NsCCXnOW0Zo+zTdwCIH+GOUVtjKMHwMJUlYRlOLFrUTG5F5h1HyzBeM8RTdWFpoNb5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIENzZefGxD+/DZwYsKL5+58XSnfTeg0nWjpchm6Ivd6QAiEA929V+9xv343YUduwHKhnGHCiddqseraT2rG9PAFp9fo="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.1.3":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.1.3","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.1.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.1.3","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"0e14a387432cf6c07ad64ea7478caa83a1a84193","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.1.3.tgz","integrity":"sha512-oMlrrJKAeC8yNWt4KphlR6FHMcHYQLKTAjgisrvsFWtFzM1QVEcU8SOwzTLuOJ8EgzniUZziJNX1WxbGNIYi3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmKTW/m6PmRSyJV92k4lKPJXBeT6Q9r0qoySGkURfpUwIhAJU3xiEna4L/Gq/nsa+e57nMZnf9wGLlT0VRet+9Q5Sg"}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.1.4":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.1.4","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.1.4/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.1.4","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"0986eb4302fb3fd4eefc622b95471fc0685d931b","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.1.4.tgz","integrity":"sha512-8RXNRNjx6+zTnEL70ihx3qOOujM5ostSYuDYq4G0RhhQ/um6DKC5+qG+FC91fbkAq8gYe9Zp7NUyMnu5tIDDJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGjgHbIMxT3nsRwmPVU/XPiO5fjM0y12zLPt5WKarOxAiA/ueMQ9WMu/6PH0uTr5Ax77sDfMiv7b2TTkyomr52Pyw=="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.1.5":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.1.5","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.1.5/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.1.5","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"cd95c867ad7664a3d7785db3bf6a954b9dc5d7be","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.1.5.tgz","integrity":"sha512-DeOstH9QRs+Cxj3wuGJLg3F2vglhIJnmUeOFRqpjnnqkwlDgej2zOJgF56VL1qZBesf3kh4p5ILeHQa/uCMQfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4QnvJblujiOq+oVFlRKO8Yd5n1Qrhy9Mn80qu7W6pEAiEAldGBNg44QN9uMrCngEQf/uyMTuG8wRk7CwlfAOfvsqM="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.1.6":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.1.6","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmJsonOpts":{"file":"/Users/mbutcher/.npm/pronto/0.1.6/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"pronto@0.1.6","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.26","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"c73f3509a839ada0e4e4ff9742470f16e6a7a096","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.1.6.tgz","integrity":"sha512-AYezdxw4Zjjki73ObNvONVFgw+pH9JktYA/NmbwlUoJ2S0GB+4raMAuX12JwIdbWA50uIzjY5UwGydLsqpM97g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGRApp+m0ObJmelJWQ3O3EhL8zQS99iL0jdcJZj4SHUAIgSVEG5S7YOUcS6Fz+Hs9XeNUzmVT5V+6jw+RNBp1fgF4="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.2.1":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.2.1","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.2.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"4ede96616111a8d4ca3c36c232df6b109ee1db54","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.2.1.tgz","integrity":"sha512-1BDlrAhFbFvWw6sze7DEfIFpmlzZED+9ntuVYWQbBpExavpHjcMC6wmoPTlndNZ5GdfPWnG0IfSLZG4mXLJQpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAOM1C6cYnWE0wO9DYrMCIHFzBqSuzGwrlXrqcbsfo3kAiEAgt546vvtB3P2rHpYPSS8qO3SvcUSQHyrCD+cyW3kit4="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.2.2":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.2.2","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.2.2","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"0a55fe9fb4c83ff872a88eac32d1eb28c452e015","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.2.2.tgz","integrity":"sha512-iUX1dQZWD7zVqvw3pHt9UucqFPQBKm3MGHvf25sAIIUqheAo/8hq9foDKmv7fnSa+TdpL/oJjzS3kyiMvQQbrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBA1VtN1Wi0kAOF6Jy5c5q4RZETkUMmcyt061kz+llzMAiEAyPoXxvGvlPvUVHfeTdk1EI8WSZEnHSaoVpjSDT7N8Fw="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.2.3":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.2.3","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.12 < 0.5.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.2.3","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"8e8b8266f03c2ef597a402b5c261f57eb155c54b","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.2.3.tgz","integrity":"sha512-q/EfGyuChWkVO4gK3BNXNz6sE/q8o9FqPwxSGUGMAOw0phF3CET8QWTR+sk9yZ3MY3KoBLJcDNf6Asq7DwZtZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFK9Qm2RqPWl+zZLKR0djJ5DCJ+8ZrVLXQtuHPTI1sjzAiEA/ztGbJfyXIVlVYuT0lNea5AiOm/2h+X5w6EBhAyoor0="}]},"maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.2.4":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.2.4","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.9 < 0.8.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.2.4","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"3f1f38ad7d5a03e73548b15d036151a08464095e","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.2.4.tgz","integrity":"sha512-dkYjeVa3Z92eR5uSgBo0uqbKCVt5TPTyFU/T3FN1uoSuNUfwsPHyF5DCApK5teLRuXoL9zHLMZa8kGlkJEVZ4w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKfeXhg+43SsmLpEvp/tjI35pDIfFepp8LsI/13/b6QQIgfQihkBUMQ5a/RoCcHSHR0Yt2oLsgAsluyi6/14vQs3w="}]},"readme":"# Pronto.js\n\nPronto is a Node.js library for building very fast applications. Create a request, assign it a list of commands to execute, and then run it.\n\nPronto is a great fit for:\n\n* Web apps\n* JSON servers\n* Configurable command-line tools\n\n[Documentation](https://github.com/technosophos/Pronto.js/wiki)\n\n## Airplane View\n\nPronto.js is a simple tool for executing a sequence of tasks. It looks declarative -- you create a list -- but in the background, Pronto takes full advantage of Node's event model. The result is that you can easily write very fast code.\n\nPronto encourages you to do the following:\n\n* Break your program into a sequence of tasks.\n* Focus on writing concise and fast tasks.\n* Use tasks like building blocks, assembling new tools by combining tasks.\n\nAnd while you focus on building small parts and chaining them together, Pronto handles the \"eventing\", feeding the application to Node as a fully evented sequence. This allows Node to execute your application at full speed -- even under load.\n\n## Getting Started\n\nThere are only two things you need to know how to do:\n\n* Build chains of commands (lists of tasks)\n* Build your own command\n\n### Building a Chain of Commands\n\nPronto works by taking a request from the client and responding by executing a list of tasks. Building a Pronto application is basically a process of assembling chains of commands.\n\nPronto provides a fluent interface for declaring your task list. Here is a simple example:\n\n```javascript\n    var register = new pronto.Registry();\n    register.route('hello')\n      .doesCommand(HelloCommand, 'print-hello');\n```\n\nThe above registers a single request (`hello`). Executing the `hello` request will execute the task `HelloCommand`, named `print-hello`.\n\nMore often than not, a request executes multiple commands in a row, systematically assembling data and returning it only at the end. For example, a simple search engine request might look like this:\n\n```javascript\n    register.route('search')\n      .does(InitializeSearchService, 'initialization')\n      .does(QueryRemoteSearchService, 'do-search')\n        .uses('query').from('get:q')\n      .does(SearchTheme, 'format-search-results')\n        .uses('searchResults').from('cxt:do-search')\n    ;\n```\n\nThe example above declares a request with three commands: `initialization`, `do-search`, and `format-search-results`. In this hypothetical request, we have broken down the task of searching into three steps.\n\n  * initialization: This step might setup the connection with a remote server.\n  * do-search: Execute a query on a remote service. Note that `from('get:q')` indicates that the query parameter is retrieved from the `query` GET variable.\n  * format-search-results: Taking the response from `do-search` (again: `from('cxt:do-search')`), pass that through a theming system.\n\nWhile the above is fictional, it illustrates how a chain of commands is assembled.\n\n### Create a Task (or Command)\n\nAlong with creating a chain of commands, you may also need to write some custom commands. Commands are small single-purpose units of code.\n\nCreating a command is as simple as extending the base task prototype, implementing just a method or two. Here is an example command that, when executed, prints `Hello World`. There are three things to note about the example below:\n\n* It begins with a constructor.\n* It inherits the properties of pronto's `Command` prototype.\n* It implements the `execute()` method.\n\nWhen Pronto encounters this command in a chain, it will run the the command's `execute()` method.\n\n```javascript\n    // Constructor\n    function HelloCommand() {}\n\n    // Inherit prototype\n    util.inherits(HelloCommand, pronto.Command);\n\n    // Override the execute() method.\n    HelloCommand.prototype.execute = function(context, params) {\n      console.log('Hello World');\n      this.done();\n    }\n```\n\nThe above simply prints `Hello World` to the console.\n\n## Development Status\n\nWhile we're pre-1.0, the Pronto project is fairly stable, now, and has\nNPM packages.\n\n## Acknowledgements\n\n* Tom Deryckere coined the name for this package.\n* Alex Daw and Sam Boyer provided input at the outset.\n* Some of the patterns are derived from [Fortissimo](http://github.com/technosophos/Fortissimo).\n* Huge thanks to [ConsumerSearch.com](http://consumersearch.com) for\n  continued work.\n\nThis project was sponsored by [ConsumerSearch.com](http://www.consumersearch.com), part of the About.Com network, a New York Times company.\n\n## Related Packages\n\n* [Pronto-MongoDB](https://github.com/technosophos/Pronto-MongoDB): MongoDB commands for Pronto.\n\n## License\n\nPronto.js is made available under an MIT-style license.\n","maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.2.5":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.2.5","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.9 < 0.8.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.2.5","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"3ae12c5a6201d84f26518e9834269e874a25738a","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.2.5.tgz","integrity":"sha512-HnCvBj85j2fzCtCXPxmsQ0KH2lt6VlCklxKkL6pE9CxMe+VONZltc5Rlj/4J93tLsr8kkIQ09S4egPLF7GXxkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnDqCJqDclWgxseuUKRjvPXAcY0dygnqqeix0Gr4UPOwIhAOYjjikhUIFCA6g99il9wO6asp/a+VJepj5kz4N4gD9I"}]},"readme":"# Pronto.js\n\nPronto is a Node.js library for building very fast applications. Create a request, assign it a list of commands to execute, and then run it.\n\nPronto is a great fit for:\n\n* Web apps\n* JSON servers\n* Configurable command-line tools\n\n[Documentation](https://github.com/technosophos/Pronto.js/wiki)\n\n## Airplane View\n\nPronto.js is a simple tool for executing a sequence of tasks. It looks declarative -- you create a list -- but in the background, Pronto takes full advantage of Node's event model. The result is that you can easily write very fast code.\n\nPronto encourages you to do the following:\n\n* Break your program into a sequence of tasks.\n* Focus on writing concise and fast tasks.\n* Use tasks like building blocks, assembling new tools by combining tasks.\n\nAnd while you focus on building small parts and chaining them together, Pronto handles the \"eventing\", feeding the application to Node as a fully evented sequence. This allows Node to execute your application at full speed -- even under load.\n\n## Getting Started\n\nThere are only two things you need to know how to do:\n\n* Build chains of commands (lists of tasks)\n* Build your own command\n\n### Building a Chain of Commands\n\nPronto works by taking a request from the client and responding by executing a list of tasks. Building a Pronto application is basically a process of assembling chains of commands.\n\nPronto provides a fluent interface for declaring your task list. Here is a simple example:\n\n```javascript\n    var register = new pronto.Registry();\n    register.route('hello')\n      .doesCommand(HelloCommand, 'print-hello');\n```\n\nThe above registers a single request (`hello`). Executing the `hello` request will execute the task `HelloCommand`, named `print-hello`.\n\nMore often than not, a request executes multiple commands in a row, systematically assembling data and returning it only at the end. For example, a simple search engine request might look like this:\n\n```javascript\n    register.route('search')\n      .does(InitializeSearchService, 'initialization')\n      .does(QueryRemoteSearchService, 'do-search')\n        .uses('query').from('get:q')\n      .does(SearchTheme, 'format-search-results')\n        .uses('searchResults').from('cxt:do-search')\n    ;\n```\n\nThe example above declares a request with three commands: `initialization`, `do-search`, and `format-search-results`. In this hypothetical request, we have broken down the task of searching into three steps.\n\n  * initialization: This step might setup the connection with a remote server.\n  * do-search: Execute a query on a remote service. Note that `from('get:q')` indicates that the query parameter is retrieved from the `query` GET variable.\n  * format-search-results: Taking the response from `do-search` (again: `from('cxt:do-search')`), pass that through a theming system.\n\nWhile the above is fictional, it illustrates how a chain of commands is assembled.\n\n### Create a Task (or Command)\n\nAlong with creating a chain of commands, you may also need to write some custom commands. Commands are small single-purpose units of code.\n\nCreating a command is as simple as extending the base task prototype, implementing just a method or two. Here is an example command that, when executed, prints `Hello World`. There are three things to note about the example below:\n\n* It begins with a constructor.\n* It inherits the properties of pronto's `Command` prototype.\n* It implements the `execute()` method.\n\nWhen Pronto encounters this command in a chain, it will run the the command's `execute()` method.\n\n```javascript\n    // Constructor\n    function HelloCommand() {}\n\n    // Inherit prototype\n    util.inherits(HelloCommand, pronto.Command);\n\n    // Override the execute() method.\n    HelloCommand.prototype.execute = function(context, params) {\n      console.log('Hello World');\n      this.done();\n    }\n```\n\nThe above simply prints `Hello World` to the console.\n\n## Development Status\n\nWhile we're pre-1.0, the Pronto project is fairly stable, now, and has\nNPM packages.\n\n## Acknowledgements\n\n* Tom Deryckere coined the name for this package.\n* Alex Daw and Sam Boyer provided input at the outset.\n* Some of the patterns are derived from [Fortissimo](http://github.com/technosophos/Fortissimo).\n* Huge thanks to [ConsumerSearch.com](http://consumersearch.com) for\n  continued work.\n\nThis project was sponsored by [ConsumerSearch.com](http://www.consumersearch.com), part of the About.Com network, a New York Times company.\n\n## Related Packages\n\n* [Pronto-MongoDB](https://github.com/technosophos/Pronto-MongoDB): MongoDB commands for Pronto.\n\n## License\n\nPronto.js is made available under an MIT-style license.\n","maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.3.9":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.3.9","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.9 < 1.0.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.3.9","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"a8e860817364bb7877e6f57d50b35dd84715db1f","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.3.9.tgz","integrity":"sha512-b4EBd9D1yfmsShP/2JiJAvtMF9i2sjplnMjLn8GnxUL+6Fv4zfZON3gfzGo+1ozkTxDJjA0XFndfU7T2GreV+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHOhp1A+gNxb+esS8A1Ay4gcp4nWJ3RoPzHfL0R8hYY/AiAeVVGR/wQ3PnFz97oNHmVKzdAs78QfnGp6D5B2cgCyAw=="}]},"readme":"# Pronto.js\n\nPronto is a Node.js library for building very fast applications. Create a request, assign it a list of commands to execute, and then run it.\n\nPronto is a great fit for:\n\n* Web apps\n* JSON servers\n* Configurable command-line tools\n\n[Documentation](https://github.com/technosophos/Pronto.js/wiki)\n\n## Airplane View\n\nPronto.js is a simple tool for executing a sequence of tasks. It looks declarative -- you create a list -- but in the background, Pronto takes full advantage of Node's event model. The result is that you can easily write very fast code.\n\nPronto encourages you to do the following:\n\n* Break your program into a sequence of tasks.\n* Focus on writing concise and fast tasks.\n* Use tasks like building blocks, assembling new tools by combining tasks.\n\nAnd while you focus on building small parts and chaining them together, Pronto handles the \"eventing\", feeding the application to Node as a fully evented sequence. This allows Node to execute your application at full speed -- even under load.\n\nYou can take a look at a sample Pronto project here:\n[https://github.com/technosophos/pronto-example](https://github.com/technosophos/pronto-example)\n\n## Getting Started\n\nThere are only two things you need to know how to do:\n\n* Build chains of commands (lists of tasks)\n* Build your own command\n\n### Building a Chain of Commands\n\nPronto works by taking a request from the client and responding by executing a list of tasks. Building a Pronto application is basically a process of assembling chains of commands.\n\nPronto provides a fluent interface for declaring your task list. Here is a simple example:\n\n```javascript\n    var register = new pronto.Registry();\n    register.route('hello')\n      .doesCommand(HelloCommand, 'print-hello');\n```\n\nThe above registers a single request (`hello`). Executing the `hello` request will execute the task `HelloCommand`, named `print-hello`.\n\nMore often than not, a request executes multiple commands in a row, systematically assembling data and returning it only at the end. For example, a simple search engine request might look like this:\n\n```javascript\n    register.route('search')\n      .does(InitializeSearchService, 'initialization')\n      .does(QueryRemoteSearchService, 'do-search')\n        .uses('query').from('get:q')\n      .does(SearchTheme, 'format-search-results')\n        .uses('searchResults').from('cxt:do-search')\n    ;\n```\n\nThe example above declares a request with three commands: `initialization`, `do-search`, and `format-search-results`. In this hypothetical request, we have broken down the task of searching into three steps.\n\n  * initialization: This step might setup the connection with a remote server.\n  * do-search: Execute a query on a remote service. Note that `from('get:q')` indicates that the query parameter is retrieved from the `query` GET variable.\n  * format-search-results: Taking the response from `do-search` (again: `from('cxt:do-search')`), pass that through a theming system.\n\nWhile the above is fictional, it illustrates how a chain of commands is assembled.\n\n### Create a Task (or Command)\n\nAlong with creating a chain of commands, you may also need to write some custom commands. Commands are small single-purpose units of code.\n\nCreating a command is as simple as extending the base task prototype, implementing just a method or two. Here is an example command that, when executed, prints `Hello World`. There are three things to note about the example below:\n\n* It begins with a constructor.\n* It inherits the properties of pronto's `Command` prototype.\n* It implements the `execute()` method.\n\nWhen Pronto encounters this command in a chain, it will run the the command's `execute()` method.\n\n```javascript\n    // Constructor\n    function HelloCommand() {}\n\n    // Inherit prototype\n    util.inherits(HelloCommand, pronto.Command);\n\n    // Override the execute() method.\n    HelloCommand.prototype.execute = function(context, params) {\n      console.log('Hello World');\n      this.done();\n    }\n```\n\nThe above simply prints `Hello World` to the console.\n\n## Development Status\n\nWhile we're pre-1.0, the Pronto project is fairly stable, now, and has\nNPM packages.\n\n## Acknowledgements\n\n* Tom Deryckere coined the name for this package.\n* Alex Daw and Sam Boyer provided input at the outset.\n* Some of the patterns are derived from [Fortissimo](http://github.com/technosophos/Fortissimo).\n* Huge thanks to [ConsumerSearch.com](http://consumersearch.com) for\n  continued work.\n\nThis project was sponsored by [ConsumerSearch.com](http://www.consumersearch.com), part of the About.Com network, a New York Times company.\n\n## Related Packages\n\n* [Pronto-MongoDB](https://github.com/technosophos/Pronto-MongoDB): MongoDB commands for Pronto.\n\n## License\n\nPronto.js is made available under an MIT-style license.\n","maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.3.11":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.3.11","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.9 < 1.0.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.3.11","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"de57d5cd1bfc8277d8d4abda3837292e2a5268b1","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.3.11.tgz","integrity":"sha512-M9tWyK8h/tJ0zGkMkup/UaSSXaFTvZAb+yUEf9SzZZZdUHYo5fyTyPtIMU4mNWnoJg0CcbJfGLzMrrkSPyQH3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbTlrhlbGISLSgUUMcUSie5XQ4nU0sCnuc4IwrGDrZLAIhAIJ95WLA0S4EXqMkA1F7KTTJ6kCDpMc8doshY2kcpSAf"}]},"readme":"# Pronto.js\n\nPronto is a Node.js library for building very fast applications. Create a request, assign it a list of commands to execute, and then run it.\n\nPronto is a great fit for:\n\n* Web apps\n* JSON servers\n* Configurable command-line tools\n\n[Documentation](https://github.com/technosophos/Pronto.js/wiki)\n\n## Airplane View\n\nPronto.js is a simple tool for executing a sequence of tasks. It looks declarative -- you create a list -- but in the background, Pronto takes full advantage of Node's event model. The result is that you can easily write very fast code.\n\nPronto encourages you to do the following:\n\n* Break your program into a sequence of tasks.\n* Focus on writing concise and fast tasks.\n* Use tasks like building blocks, assembling new tools by combining tasks.\n\nAnd while you focus on building small parts and chaining them together, Pronto handles the \"eventing\", feeding the application to Node as a fully evented sequence. This allows Node to execute your application at full speed -- even under load.\n\nYou can take a look at a sample Pronto project here:\n[https://github.com/technosophos/pronto-example](https://github.com/technosophos/pronto-example)\n\n## Getting Started\n\nThere are only two things you need to know how to do:\n\n* Build chains of commands (lists of tasks)\n* Build your own command\n\n### Building a Chain of Commands\n\nPronto works by taking a request from the client and responding by executing a list of tasks. Building a Pronto application is basically a process of assembling chains of commands.\n\nPronto provides a fluent interface for declaring your task list. Here is a simple example:\n\n```javascript\n    var register = new pronto.Registry();\n    register.route('hello')\n      .doesCommand(HelloCommand, 'print-hello');\n```\n\nThe above registers a single request (`hello`). Executing the `hello` request will execute the task `HelloCommand`, named `print-hello`.\n\nMore often than not, a request executes multiple commands in a row, systematically assembling data and returning it only at the end. For example, a simple search engine request might look like this:\n\n```javascript\n    register.route('search')\n      .does(InitializeSearchService, 'initialization')\n      .does(QueryRemoteSearchService, 'do-search')\n        .uses('query').from('get:q')\n      .does(SearchTheme, 'format-search-results')\n        .uses('searchResults').from('cxt:do-search')\n    ;\n```\n\nThe example above declares a request with three commands: `initialization`, `do-search`, and `format-search-results`. In this hypothetical request, we have broken down the task of searching into three steps.\n\n  * initialization: This step might setup the connection with a remote server.\n  * do-search: Execute a query on a remote service. Note that `from('get:q')` indicates that the query parameter is retrieved from the `query` GET variable.\n  * format-search-results: Taking the response from `do-search` (again: `from('cxt:do-search')`), pass that through a theming system.\n\nWhile the above is fictional, it illustrates how a chain of commands is assembled.\n\n### Create a Task (or Command)\n\nAlong with creating a chain of commands, you may also need to write some custom commands. Commands are small single-purpose units of code.\n\nCreating a command is as simple as extending the base task prototype, implementing just a method or two. Here is an example command that, when executed, prints `Hello World`. There are three things to note about the example below:\n\n* It begins with a constructor.\n* It inherits the properties of pronto's `Command` prototype.\n* It implements the `execute()` method.\n\nWhen Pronto encounters this command in a chain, it will run the the command's `execute()` method.\n\n```javascript\n    // Constructor\n    function HelloCommand() {}\n\n    // Inherit prototype\n    util.inherits(HelloCommand, pronto.Command);\n\n    // Override the execute() method.\n    HelloCommand.prototype.execute = function(context, params) {\n      console.log('Hello World');\n      this.done();\n    }\n```\n\nThe above simply prints `Hello World` to the console.\n\n## Development Status\n\nWhile we're pre-1.0, the Pronto project is fairly stable, now, and has\nNPM packages.\n\n## Acknowledgements\n\n* Tom Deryckere coined the name for this package.\n* Alex Daw and Sam Boyer provided input at the outset.\n* Some of the patterns are derived from [Fortissimo](http://github.com/technosophos/Fortissimo).\n* Huge thanks to [ConsumerSearch.com](http://consumersearch.com) for\n  continued work.\n\nThis project was sponsored by [ConsumerSearch.com](http://www.consumersearch.com), part of the About.Com network, a New York Times company.\n\n## Related Packages\n\n* [Pronto-MongoDB](https://github.com/technosophos/Pronto-MongoDB): MongoDB commands for Pronto.\n\n## License\n\nPronto.js is made available under an MIT-style license.\n","maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.3.12":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.3.12","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.9 < 1.0.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.3.12","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"b2ec9d88ceb67984f457c93608bc25c57176b434","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.3.12.tgz","integrity":"sha512-agJy7k8OmYyaMZIIAu30wDPmD3rKiF6ybAhXtbU13bXIrN0fysaJQjbmxjsO50BnlXbuMFq57WdN7C5zJoPSmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5u9yqHvIwqNBK+XkO6cqUK+JvTe52ngR6Fe1GGaKnwQIgR4xq9hzJbR4R67XbzUsPbuj6m9yZm87kSRm+uq6gm9M="}]},"readme":"# Pronto.js\n\nPronto is a Node.js library for building very fast applications. Create a request, assign it a list of commands to execute, and then run it.\n\nPronto is a great fit for:\n\n* Web apps\n* JSON servers\n* Configurable command-line tools\n\n[Documentation](https://github.com/technosophos/Pronto.js/wiki)\n\n## Airplane View\n\nPronto.js is a simple tool for executing a sequence of tasks. It looks declarative -- you create a list -- but in the background, Pronto takes full advantage of Node's event model. The result is that you can easily write very fast code.\n\nPronto encourages you to do the following:\n\n* Break your program into a sequence of tasks.\n* Focus on writing concise and fast tasks.\n* Use tasks like building blocks, assembling new tools by combining tasks.\n\nAnd while you focus on building small parts and chaining them together, Pronto handles the \"eventing\", feeding the application to Node as a fully evented sequence. This allows Node to execute your application at full speed -- even under load.\n\nYou can take a look at a sample Pronto project here:\n[https://github.com/technosophos/pronto-example](https://github.com/technosophos/pronto-example)\n\n## Getting Started\n\nThere are only two things you need to know how to do:\n\n* Build chains of commands (lists of tasks)\n* Build your own command\n\n### Building a Chain of Commands\n\nPronto works by taking a request from the client and responding by executing a list of tasks. Building a Pronto application is basically a process of assembling chains of commands.\n\nPronto provides a fluent interface for declaring your task list. Here is a simple example:\n\n```javascript\n    var register = new pronto.Registry();\n    register.route('hello')\n      .doesCommand(HelloCommand, 'print-hello');\n```\n\nThe above registers a single request (`hello`). Executing the `hello` request will execute the task `HelloCommand`, named `print-hello`.\n\nMore often than not, a request executes multiple commands in a row, systematically assembling data and returning it only at the end. For example, a simple search engine request might look like this:\n\n```javascript\n    register.route('search')\n      .does(InitializeSearchService, 'initialization')\n      .does(QueryRemoteSearchService, 'do-search')\n        .uses('query').from('get:q')\n      .does(SearchTheme, 'format-search-results')\n        .uses('searchResults').from('cxt:do-search')\n    ;\n```\n\nThe example above declares a request with three commands: `initialization`, `do-search`, and `format-search-results`. In this hypothetical request, we have broken down the task of searching into three steps.\n\n  * initialization: This step might setup the connection with a remote server.\n  * do-search: Execute a query on a remote service. Note that `from('get:q')` indicates that the query parameter is retrieved from the `query` GET variable.\n  * format-search-results: Taking the response from `do-search` (again: `from('cxt:do-search')`), pass that through a theming system.\n\nWhile the above is fictional, it illustrates how a chain of commands is assembled.\n\n### Create a Task (or Command)\n\nAlong with creating a chain of commands, you may also need to write some custom commands. Commands are small single-purpose units of code.\n\nCreating a command is as simple as extending the base task prototype, implementing just a method or two. Here is an example command that, when executed, prints `Hello World`. There are three things to note about the example below:\n\n* It begins with a constructor.\n* It inherits the properties of pronto's `Command` prototype.\n* It implements the `execute()` method.\n\nWhen Pronto encounters this command in a chain, it will run the the command's `execute()` method.\n\n```javascript\n    // Constructor\n    function HelloCommand() {}\n\n    // Inherit prototype\n    util.inherits(HelloCommand, pronto.Command);\n\n    // Override the execute() method.\n    HelloCommand.prototype.execute = function(context, params) {\n      console.log('Hello World');\n      this.done();\n    }\n```\n\nThe above simply prints `Hello World` to the console.\n\n## Development Status\n\nWhile we're pre-1.0, the Pronto project is fairly stable, now, and has\nNPM packages.\n\n## Acknowledgements\n\n* Tom Deryckere coined the name for this package.\n* Alex Daw and Sam Boyer provided input at the outset.\n* Some of the patterns are derived from [Fortissimo](http://github.com/technosophos/Fortissimo).\n* Huge thanks to [ConsumerSearch.com](http://consumersearch.com) for\n  continued work.\n\nThis project was sponsored by [ConsumerSearch.com](http://www.consumersearch.com), part of the About.Com network, a New York Times company.\n\n## Related Packages\n\n* [Pronto-MongoDB](https://github.com/technosophos/Pronto-MongoDB): MongoDB commands for Pronto.\n\n## License\n\nPronto.js is made available under an MIT-style license.\n","maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.3.13":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.3.13","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.9 < 1.0.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.3.13","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"a6413d5d190685883d80f0536d28be2bab57bf9e","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.3.13.tgz","integrity":"sha512-8zO0AqipcoCabt+k5E6yBGVUdrZ5BylIpqmGuJrFrAYWBC6jMzF8TL2Dms8iuoE4aC/7J9Y1mGkVgQwurE6XiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBIn5ACls3FEag0+mOqHPFmLvjVx6J8pIB6TvDjB+R/qAiEAh67lfqbL7/PCrekBvL0uAmzJLtAY6eWbzaRI72UH8gc="}]},"readme":"# Pronto.js\n\nPronto is a Node.js library for building very fast applications. Create a request, assign it a list of commands to execute, and then run it.\n\nPronto is a great fit for:\n\n* Web apps\n* JSON servers\n* Configurable command-line tools\n\n[Documentation](https://github.com/technosophos/Pronto.js/wiki)\n\n## Airplane View\n\nPronto.js is a simple tool for executing a sequence of tasks. It looks declarative -- you create a list -- but in the background, Pronto takes full advantage of Node's event model. The result is that you can easily write very fast code.\n\nPronto encourages you to do the following:\n\n* Break your program into a sequence of tasks.\n* Focus on writing concise and fast tasks.\n* Use tasks like building blocks, assembling new tools by combining tasks.\n\nAnd while you focus on building small parts and chaining them together, Pronto handles the \"eventing\", feeding the application to Node as a fully evented sequence. This allows Node to execute your application at full speed -- even under load.\n\nYou can take a look at a sample Pronto project here:\n[https://github.com/technosophos/pronto-example](https://github.com/technosophos/pronto-example)\n\n## Getting Started\n\nThere are only two things you need to know how to do:\n\n* Build chains of commands (lists of tasks)\n* Build your own command\n\n### Building a Chain of Commands\n\nPronto works by taking a request from the client and responding by executing a list of tasks. Building a Pronto application is basically a process of assembling chains of commands.\n\nPronto provides a fluent interface for declaring your task list. Here is a simple example:\n\n```javascript\n    var register = new pronto.Registry();\n    register.route('hello')\n      .doesCommand(HelloCommand, 'print-hello');\n```\n\nThe above registers a single request (`hello`). Executing the `hello` request will execute the task `HelloCommand`, named `print-hello`.\n\nMore often than not, a request executes multiple commands in a row, systematically assembling data and returning it only at the end. For example, a simple search engine request might look like this:\n\n```javascript\n    register.route('search')\n      .does(InitializeSearchService, 'initialization')\n      .does(QueryRemoteSearchService, 'do-search')\n        .uses('query').from('get:q')\n      .does(SearchTheme, 'format-search-results')\n        .uses('searchResults').from('cxt:do-search')\n    ;\n```\n\nThe example above declares a request with three commands: `initialization`, `do-search`, and `format-search-results`. In this hypothetical request, we have broken down the task of searching into three steps.\n\n  * initialization: This step might setup the connection with a remote server.\n  * do-search: Execute a query on a remote service. Note that `from('get:q')` indicates that the query parameter is retrieved from the `query` GET variable.\n  * format-search-results: Taking the response from `do-search` (again: `from('cxt:do-search')`), pass that through a theming system.\n\nWhile the above is fictional, it illustrates how a chain of commands is assembled.\n\n### Create a Task (or Command)\n\nAlong with creating a chain of commands, you may also need to write some custom commands. Commands are small single-purpose units of code.\n\nCreating a command is as simple as extending the base task prototype, implementing just a method or two. Here is an example command that, when executed, prints `Hello World`. There are three things to note about the example below:\n\n* It begins with a constructor.\n* It inherits the properties of pronto's `Command` prototype.\n* It implements the `execute()` method.\n\nWhen Pronto encounters this command in a chain, it will run the the command's `execute()` method.\n\n```javascript\n    // Constructor\n    function HelloCommand() {}\n\n    // Inherit prototype\n    util.inherits(HelloCommand, pronto.Command);\n\n    // Override the execute() method.\n    HelloCommand.prototype.execute = function(context, params) {\n      console.log('Hello World');\n      this.done();\n    }\n```\n\nThe above simply prints `Hello World` to the console.\n\n## Development Status\n\nWhile we're pre-1.0, the Pronto project is fairly stable, now, and has\nNPM packages.\n\n## Acknowledgements\n\n* Tom Deryckere coined the name for this package.\n* Alex Daw and Sam Boyer provided input at the outset.\n* Some of the patterns are derived from [Fortissimo](http://github.com/technosophos/Fortissimo).\n* Huge thanks to [ConsumerSearch.com](http://consumersearch.com) for\n  continued work.\n\nThis project was sponsored by [ConsumerSearch.com](http://www.consumersearch.com), part of the About.Com network, a New York Times company.\n\n## Related Packages\n\n* [Pronto-MongoDB](https://github.com/technosophos/Pronto-MongoDB): MongoDB commands for Pronto.\n\n## License\n\nPronto.js is made available under an MIT-style license.\n","maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}},"0.3.14":{"name":"pronto","description":"Application building framework","keywords":["framework","web","server","command"],"version":"0.3.14","author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"contributors":[{"name":"Matt Butcher","email":"technosophos@gmail.com"}],"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"main":"index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.9 < 1.0.0"},"_npmUser":{"name":"technosophos","email":"technosophos@gmail.com"},"_id":"pronto@0.3.14","dependencies":{},"devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"82d59fbff1c21b4def4e377748551403ab0ea3ef","tarball":"https://registry.npmjs.org/pronto/-/pronto-0.3.14.tgz","integrity":"sha512-ge/2CcP4AIznJ0gDJu0tCCh169JnWf5Awa1cSfl/SYn6e1ickn1L+cqTyXoMKZyyyy0iXccSlq9RfgYD+NXWqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdXQcyTXZtomibjvqqej3KJaKq2CRDLCIfuAVhPwItOgIgP9TftXbCUDyQxPG+7fIt4KJAZaKZjpgSqMn2kLHHqbs="}]},"readme":"# Pronto.js\n\nPronto is a Node.js library for building very fast applications. Create a request, assign it a list of commands to execute, and then run it.\n\nPronto is a great fit for:\n\n* Web apps\n* JSON servers\n* Configurable command-line tools\n\n[Documentation](https://github.com/technosophos/Pronto.js/wiki)\n\n## Airplane View\n\nPronto.js is a simple tool for executing a sequence of tasks. It looks declarative -- you create a list -- but in the background, Pronto takes full advantage of Node's event model. The result is that you can easily write very fast code.\n\nPronto encourages you to do the following:\n\n* Break your program into a sequence of tasks.\n* Focus on writing concise and fast tasks.\n* Use tasks like building blocks, assembling new tools by combining tasks.\n\nAnd while you focus on building small parts and chaining them together, Pronto handles the \"eventing\", feeding the application to Node as a fully evented sequence. This allows Node to execute your application at full speed -- even under load.\n\nYou can take a look at a sample Pronto project here:\n[https://github.com/technosophos/pronto-example](https://github.com/technosophos/pronto-example)\n\n## Getting Started\n\nThere are only two things you need to know how to do:\n\n* Build chains of commands (lists of tasks)\n* Build your own command\n\n### Building a Chain of Commands\n\nPronto works by taking a request from the client and responding by executing a list of tasks. Building a Pronto application is basically a process of assembling chains of commands.\n\nPronto provides a fluent interface for declaring your task list. Here is a simple example:\n\n```javascript\n    var register = new pronto.Registry();\n    register.route('hello')\n      .doesCommand(HelloCommand, 'print-hello');\n```\n\nThe above registers a single request (`hello`). Executing the `hello` request will execute the task `HelloCommand`, named `print-hello`.\n\nMore often than not, a request executes multiple commands in a row, systematically assembling data and returning it only at the end. For example, a simple search engine request might look like this:\n\n```javascript\n    register.route('search')\n      .does(InitializeSearchService, 'initialization')\n      .does(QueryRemoteSearchService, 'do-search')\n        .uses('query').from('get:q')\n      .does(SearchTheme, 'format-search-results')\n        .uses('searchResults').from('cxt:do-search')\n    ;\n```\n\nThe example above declares a request with three commands: `initialization`, `do-search`, and `format-search-results`. In this hypothetical request, we have broken down the task of searching into three steps.\n\n  * initialization: This step might setup the connection with a remote server.\n  * do-search: Execute a query on a remote service. Note that `from('get:q')` indicates that the query parameter is retrieved from the `query` GET variable.\n  * format-search-results: Taking the response from `do-search` (again: `from('cxt:do-search')`), pass that through a theming system.\n\nWhile the above is fictional, it illustrates how a chain of commands is assembled.\n\n### Create a Task (or Command)\n\nAlong with creating a chain of commands, you may also need to write some custom commands. Commands are small single-purpose units of code.\n\nCreating a command is as simple as extending the base task prototype, implementing just a method or two. Here is an example command that, when executed, prints `Hello World`. There are three things to note about the example below:\n\n* It begins with a constructor.\n* It inherits the properties of pronto's `Command` prototype.\n* It implements the `execute()` method.\n\nWhen Pronto encounters this command in a chain, it will run the the command's `execute()` method.\n\n```javascript\n    // Constructor\n    function HelloCommand() {}\n\n    // Inherit prototype\n    util.inherits(HelloCommand, pronto.Command);\n\n    // Override the execute() method.\n    HelloCommand.prototype.execute = function(context, params) {\n      console.log('Hello World');\n      this.done();\n    }\n```\n\nThe above simply prints `Hello World` to the console.\n\n## Development Status\n\nWhile we're pre-1.0, the Pronto project is fairly stable, now, and has\nNPM packages.\n\n## Acknowledgements\n\n* Tom Deryckere coined the name for this package.\n* Alex Daw and Sam Boyer provided input at the outset.\n* Some of the patterns are derived from [Fortissimo](http://github.com/technosophos/Fortissimo).\n* Huge thanks to [ConsumerSearch.com](http://consumersearch.com) for\n  continued work.\n\nThis project was sponsored by [ConsumerSearch.com](http://www.consumersearch.com), part of the About.Com network, a New York Times company.\n\n## Related Packages\n\n* [Pronto-MongoDB](https://github.com/technosophos/Pronto-MongoDB): MongoDB commands for Pronto.\n\n## License\n\nPronto.js is made available under an MIT-style license.\n","maintainers":[{"name":"technosophos","email":"technosophos@gmail.com"}],"directories":{}}},"maintainers":[{"email":"technosophos@gmail.com","name":"technosophos"},{"email":"olalonde@gmail.com","name":"olalonde"}],"time":{"modified":"2023-03-07T17:05:36.552Z","created":"2011-10-07T21:28:41.030Z","0.0.1":"2011-10-07T21:28:41.837Z","0.0.3":"2011-10-11T00:16:56.031Z","0.0.4":"2011-10-11T22:21:09.631Z","0.0.5":"2011-10-12T22:14:34.566Z","0.0.6":"2011-10-13T21:00:45.000Z","0.0.7":"2011-10-13T21:59:35.928Z","0.1.0":"2011-10-17T22:04:27.348Z","0.1.1":"2011-10-18T21:08:59.438Z","0.1.2":"2011-10-18T22:15:42.193Z","0.1.3":"2011-10-19T19:24:46.477Z","0.1.4":"2011-10-20T02:47:22.500Z","0.1.5":"2011-10-20T18:43:23.263Z","0.1.6":"2011-10-20T22:00:15.410Z","0.2.1":"2011-10-28T20:36:09.509Z","0.2.2":"2011-10-28T21:53:25.617Z","0.2.3":"2011-10-28T21:55:15.771Z","0.2.4":"2012-02-02T15:19:33.356Z","0.2.5":"2012-08-25T20:04:02.443Z","0.3.9":"2012-10-05T21:31:49.995Z","0.3.11":"2012-10-17T18:36:32.583Z","0.3.12":"2012-11-10T01:41:58.930Z","0.3.13":"2012-12-06T01:00:56.989Z","0.3.14":"2012-12-14T23:32:45.664Z"},"author":{"name":"Matt Butcher","email":"technosophos@gmail.com"},"repository":{"type":"git","url":"git://github.com/technosophos/Pronto.js.git"},"users":{"xiechao06":true}}