{"_id":"pumlhorse","_rev":"39-b5e650c9ca81637503e46aadc133df38","name":"pumlhorse","description":"Utility for creating readable and reusable scripts","dist-tags":{"latest":"2.3.4","beta":"2.0.0"},"versions":{"0.1.0":{"name":"pumlhorse","version":"0.1.0","description":"Structured utility language","main":"app.js","scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["utility","test","yaml","script"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"async":"^1.5.2","bluebird":"^3.3.0","http-client-factory":"^0.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"0430f96f7cd7f97951abb08b623d5cb3d291d752","_id":"pumlhorse@0.1.0","_shasum":"ab4b16b00eb02572b815ad5a64d89a000862bd1a","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"ab4b16b00eb02572b815ad5a64d89a000862bd1a","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.1.0.tgz","integrity":"sha512-xOewPu7O/jps1oAEEIzsrRK3wkrjQUgyPxOE4gcyGzIe15LFNkfyWpcg/HAdYw+IILj6TjpdXerddNm0/GOZcQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHSi/7mFMIzRajQR8wPXu+9v7fbSAAUZv4WyMhAkO4kYAiBS3KsfWDZRWT/FWKy2oiGB1FsVmBHoqHZesdo1RjAAZw=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.1.0.tgz_1456082136866_0.15230283560231328"}},"0.1.1":{"name":"pumlhorse","version":"0.1.1","description":"Structured utility language","main":"app.js","scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["utility","test","yaml","script"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"async":"^1.5.2","bluebird":"^3.3.0","http-client-factory":"^0.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"4e4a4c2c7390b20a9049bb87f5f9ef00d42fb0c1","_id":"pumlhorse@0.1.1","_shasum":"b1814d9569e3e8059c05342c996ab6d2041f6462","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"b1814d9569e3e8059c05342c996ab6d2041f6462","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.1.1.tgz","integrity":"sha512-EpGJom0NExj4WxCDT2S04mmceA8zRCANe5cMtTIyVdilP4TQ7ppoWmO/A0nJh/wUZb9z3Q0xX6TI98cudEIQyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvvOCMpTtCFKKfwvxtG97jQyCJ3Elxsmtux7cOP1Dp8AIga1EJGeu2TUgfrQ8fXPUFRWvjZCwHHdtjZCaHFKGxxxY="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.1.1.tgz_1456085285816_0.5549842128530145"}},"0.1.2":{"name":"pumlhorse","version":"0.1.2","description":"Structured utility language","main":"app.js","scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["utility","test","yaml","script"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"async":"^1.5.2","bluebird":"^3.3.0","http-client-factory":"^0.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"66b10181d3be9a86c9fdc1ce6091de61a506330a","_id":"pumlhorse@0.1.2","_shasum":"9e64bd01c90912d59470fb121fb358b79497a8b6","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"9e64bd01c90912d59470fb121fb358b79497a8b6","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.1.2.tgz","integrity":"sha512-3r28i61sLpJMup6eJ6dgNXSkN3iTr+kYysMyBeTnZ38hPvmgS3DurfzSGf9QLaHqjipVs7LWRNWRIYG9oGHUfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAaGCqS5Rp0XF7ZGER2gzptZ8sqekncGKHDE7u7JArcjAiB8GQppRU6HeVoSg1qBfGLnNnv1kx7HL0W53v5EBWd/DQ=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.1.2.tgz_1456086948352_0.9883386420551687"}},"0.2.0":{"name":"pumlhorse","version":"0.2.0","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","commander":"^2.9.0","http-client-factory":"^0.3.0","recursive-readdir":"^1.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"2a895e319ee5741cce4c48f495597901bf00f457","_id":"pumlhorse@0.2.0","_shasum":"19a593e3f84befbec1d404896000cb5290ed0420","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"19a593e3f84befbec1d404896000cb5290ed0420","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.2.0.tgz","integrity":"sha512-lx4DeAeAyWN3qqZqUOJOkdEnLyG2/H8D1aHUgstfdPShqwet5FEgVsqkTb9k3/gm7N06Qc9qM7324Qqq5mj1zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH6FJ+MFir1sU2CQ/s6WsnLhFBnqRK14Ccxnw87mc/5SAiBNnUNGtFwtRSdONvDNZUF2Ns0R2EuYnPVg9G9qw3nYXQ=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.2.0.tgz_1457441931398_0.17695176578126848"}},"0.2.1":{"name":"pumlhorse","version":"0.2.1","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","commander":"^2.9.0","http-client-factory":"^0.3.0","recursive-readdir":"^1.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"2a895e319ee5741cce4c48f495597901bf00f457","_id":"pumlhorse@0.2.1","_shasum":"a92f1cafe7c3cdc6516dc19786638cef9734265a","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"a92f1cafe7c3cdc6516dc19786638cef9734265a","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.2.1.tgz","integrity":"sha512-2Mij2/SJTLIFr/DLBhCS9xQNj+qAaSOi22BccFBeThbrpSli+AwceCU+KnINYUwDMcfIDl+D21Z7+kRn/qD9EA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3IKASXkeXuqeIuxvx7S9mnExQv65x1kVIRhW98qZW6QIgYdVVT3L+QY99IQMAJYGHoI9CJ4DOYIKDf1NnjlTLHR8="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.2.1.tgz_1457443280997_0.6517892139963806"}},"0.2.2":{"name":"pumlhorse","version":"0.2.2","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","commander":"^2.9.0","http-client-factory":"^0.3.0","recursive-readdir":"^1.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"2a895e319ee5741cce4c48f495597901bf00f457","_id":"pumlhorse@0.2.2","_shasum":"de03626a1ec19c8016cfe9957737050956e1420b","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"de03626a1ec19c8016cfe9957737050956e1420b","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.2.2.tgz","integrity":"sha512-K+jGCRX6NHGEfYTaNY8zLTB/rI4yEef+AqvndY5BUDQDvWqDuX3JMDwQq0dTZFJVCntHwJhqTq/34Lk+8pXXNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIENF/4uC1AMEPuBcik7oAGZ2T7I9P6jqpERAa/8o1ei1AiBnHuSVKfr+xhF0sb33vyooz4RImORWh+k/xgAJeNUwjQ=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.2.2.tgz_1457443348933_0.1352124740369618"}},"0.2.3":{"name":"pumlhorse","version":"0.2.3","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","commander":"^2.9.0","http-client-factory":"^0.3.0","node-uuid":"^1.4.7","recursive-readdir":"^1.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"927d815cc34a123f84e41b7deb26a0476df625c3","_id":"pumlhorse@0.2.3","_shasum":"dd037552bb6568a8354601031ffc1ab68e3efbf8","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"dd037552bb6568a8354601031ffc1ab68e3efbf8","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.2.3.tgz","integrity":"sha512-pXGUIfrc3SU2cHHWxAD41bV8hWHdnfGHBaXoEcPzixxc0j+GEmGXWrLtNcIELOH7wesCB/3Hq6xti+w75swUMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQDcyVdgezQIAE++L2289SdxsP8VkmiA9mQfA/uiHQzQIgAM/2cdgizS7lcZ5d8twaUrRB/ClwYprpv9jkerRNU6s="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.2.3.tgz_1457895593951_0.3145803774241358"}},"0.2.4":{"name":"pumlhorse","version":"0.2.4","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","commander":"^2.9.0","http-client-factory":"^0.3.0","node-uuid":"^1.4.7","recursive-readdir":"^1.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"2a2dd0621d01817489eebe08b8369f23961f486d","_id":"pumlhorse@0.2.4","_shasum":"58dae04e6a5589b011ad6d0cd3e593012a174410","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"58dae04e6a5589b011ad6d0cd3e593012a174410","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.2.4.tgz","integrity":"sha512-dueYQfrsltzCBQiZ0+n11pK/9kCpRaqpQFxAsw+lfUbb5pRpx2tHWPPop5lRTEn+VS6dPxUEi2Q9mlyAGLQ6OQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCETOOh89pthZT9A45acK5ReYfnqfTtaKbYjFHxw/t0CgIhALXX5rX971g8W4u+vKajh8I3zIrUoR6zgXP023Xacp8t"}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.2.4.tgz_1458354121440_0.02636700333096087"}},"0.3.0":{"name":"pumlhorse","version":"0.3.0","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","commander":"^2.9.0","http-client-factory":"^0.3.0","node-uuid":"^1.4.7","npm":"^3.8.3","recursive-readdir":"^1.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"6916843a711ffdf0f894afba884fa076558edfcb","_id":"pumlhorse@0.3.0","_shasum":"e19de28b6143b902207971d7ed3faa7c9fe06821","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"e19de28b6143b902207971d7ed3faa7c9fe06821","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.3.0.tgz","integrity":"sha512-g4yjROztw7470nkzPpOtIqXNdFCJQdie/WvX1GLeAZ2RAU4AIf1MbCpeDIZ+g/6Mp9qBX7EWhUoa36OR+D0b2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCD5QSIdy4w8C2FHhP4EFCy2bR5C8DgRysnl1K7QQLsBAIgYQHmSQZQvtTTQXpGm5SrkipdnFZvnHLman2fyrLDVKQ="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.3.0.tgz_1459311861489_0.6073879809118807"}},"0.3.1":{"name":"pumlhorse","version":"0.3.1","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","commander":"^2.9.0","http-client-factory":"^0.3.0","node-uuid":"^1.4.7","npm":"^3.8.3","recursive-readdir":"^1.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"0508286a952203c00dae01b89c88bf3808735c6d","_id":"pumlhorse@0.3.1","_shasum":"04534994d51ca18e67e1e38f32c8623f74a00c43","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"04534994d51ca18e67e1e38f32c8623f74a00c43","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.3.1.tgz","integrity":"sha512-bc3r9V9GDo4R1GFaOF4JuIsC3iVwXH6c+xyR5XsfJwzXRZ2B2jPME2WGm377/eWg/VsUl8e3828ejvFNN1bhjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGXIjJE27B6ZjI/pMhrCmsNwmLZSY/lT9l2CiaezOMZGAiEA7OXsXiVL2BMXPNcctbi7f8207wz9FjG5/1saxUh/+7M="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/pumlhorse-0.3.1.tgz_1459393314701_0.9828596701845527"}},"0.4.0":{"name":"pumlhorse","version":"0.4.0","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","command-line-args":"^2.1.6","http-client-factory":"^0.3.0","node-uuid":"^1.4.7","recursive-readdir":"^1.3.0","underscore":"^1.8.3","yamljs":"^0.2.4"},"gitHead":"b48f87b83a070ac03b7f35e66044e88b5a147a38","_id":"pumlhorse@0.4.0","_shasum":"b074ee3e435795c9ccbe86e1972bb589b41a96df","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"b074ee3e435795c9ccbe86e1972bb589b41a96df","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.4.0.tgz","integrity":"sha512-E0DtqChiruOIoTvFNb5Woc01yegN9GwTf0b4MYqjH6yC//XtCrHkJRbDc1zrDAOxUjp5DQyqJ1kn2k8kd9Zdfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEq6Y5DPkCy3KZyaXL4lwNEvqpYQu0rKthabHnTu3c79AiBxg3TTdZnIaaoKDK5yvddbbk0mXP54/x50fY/BW3q2kQ=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.4.0.tgz_1459830168244_0.3154161097481847"}},"0.4.2":{"name":"pumlhorse","version":"0.4.2","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.0","node-uuid":"^1.4.7","pumlhorse-yamljs":"^0.2.8","recursive-readdir":"^1.3.0","underscore":"^1.8.3"},"gitHead":"940da934b9b803d94cb3461ad471a3f404fe1201","_id":"pumlhorse@0.4.2","_shasum":"a7afca405d976e545f40c96b4447e99bbe1bb6ab","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"a7afca405d976e545f40c96b4447e99bbe1bb6ab","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.4.2.tgz","integrity":"sha512-4e5xfN5jUMLVirF7H+G24h/OYt0nAHcgdD1hv4BVS6rQ3K8kKlW0D93FfLwgP0fCMtg+IszNq+f73D+VXYbKNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIKCANId3MaI47aFPF8lbfvII07I4p2ulIVmtG5T7nAwIhAPloftDlQgNd7t8EF2oABJZzHKvokyWJh6ts00DJoSXm"}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-0.4.2.tgz_1460514951360_0.029557202709838748"}},"0.5.0":{"name":"pumlhorse","version":"0.5.0","description":"Promise-driven Utility Modeling Language","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/mdickin/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson"},"license":"MIT","bugs":{"url":"https://github.com/mdickin/pumlhorse/issues"},"homepage":"https://github.com/mdickin/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","async":"^1.5.2","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.0","node-uuid":"^1.4.7","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.9","recursive-readdir":"^1.3.0","underscore":"^1.8.3"},"gitHead":"6635ee5711760162f0575697671ef094ea0df6ea","_id":"pumlhorse@0.5.0","_shasum":"301ab81e6010da914d6db0de7f944b4bbc282462","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"301ab81e6010da914d6db0de7f944b4bbc282462","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-0.5.0.tgz","integrity":"sha512-pl+3dEuZwplWGCJ9HZU06kiVOvIjsPDWsMyBa7IA29u1t+Fy64UZ5yj0j9AgDlICHA2kAG9GEpKI+HHHKpy/Kw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEc3C8DAcw+9tvaunK2QMoNQGX7nn8CHXiidnChpQ4qHAiEAzBrnBXB9rMskRKng7EQMDU7u9nAlue3fbr1uqjuvh74="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/pumlhorse-0.5.0.tgz_1461202442548_0.13493303628638387"}},"1.0.0":{"name":"pumlhorse","version":"1.0.0","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.0","node-uuid":"^1.4.7","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.9","recursive-readdir":"^1.3.0","underscore":"^1.8.3"},"gitHead":"e71d098a0b21521c4c529b4663ae5500ab26ce09","_id":"pumlhorse@1.0.0","_shasum":"e2297b105369554308e79db826ab7b25f7de3a9e","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.2.4","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"e2297b105369554308e79db826ab7b25f7de3a9e","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-1.0.0.tgz","integrity":"sha512-HUNrCcLwMGS/9OxcOSlB+P7xBgKxdp28VPtoAvl8m6irVP9Cl1hn6/hrOJxW/4QfQnKea0vH8403mT1m+BgzSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+PLbTYK9/wUejsYt2Kds9MSs/+oIZTc3baf6DRhEqRQIgOsWbjjBVukAlMwQHrdnOjh0lFXXmqhQcytU4u61do9w="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-1.0.0.tgz_1461808163498_0.7836645201314241"}},"1.0.1":{"name":"pumlhorse","version":"1.0.1","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.1","node-uuid":"^1.4.7","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.9","recursive-readdir":"^1.3.0","underscore":"^1.8.3"},"gitHead":"ba42f505f47f280af9f3bcc23f88dfb7af7936e1","_id":"pumlhorse@1.0.1","_shasum":"0b16215bda9a8bc41f318c45aa3cad991762dbaa","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.4.3","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"0b16215bda9a8bc41f318c45aa3cad991762dbaa","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-1.0.1.tgz","integrity":"sha512-5gMUvzijK7H+5fjy2CWgWMgTklb7mC0I2kiJ80UwiHAoj8oD2PhgMz6BJcYCZs0Rvo/mVBxl9kPEsIWyarciqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTnaNP7am196LT9ozhg2PCsPB7beGtNb/pUlGmfG56/AIhAJI4ydsMZGNRZEE948vEgIYa2FdRtboCvfnCTajtBqJ+"}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-1.0.1.tgz_1463705478785_0.019354165066033602"}},"1.0.2":{"name":"pumlhorse","version":"1.0.2","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.1","node-uuid":"^1.4.7","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.10","recursive-readdir":"^1.3.0","underscore":"^1.8.3"},"gitHead":"7e8b0d4f34c1fa18654baa0c2e68679a3e369ba4","_id":"pumlhorse@1.0.2","_shasum":"45450fe7193750792516c5b28042dce3ea0fa6e7","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.4.3","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"45450fe7193750792516c5b28042dce3ea0fa6e7","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-1.0.2.tgz","integrity":"sha512-VASNcPBv3IGRKSnNi+2vVt7dGon09XCLVFqrcFSi8YbhlnpE/GhhrGzehiTqfB6UxP95jnD7UGT3phxhdOTglA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCY1jNTslMkIa6se2z7aO+sTIT9h56iGnsH30Yb0LlcNwIhAKxmFJnC0tayIinPIAHVOhnmoPCkGKLYqZAuzu6S4ZYF"}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/pumlhorse-1.0.2.tgz_1465354330144_0.1565582137554884"}},"1.0.3":{"name":"pumlhorse","version":"1.0.3","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.1","node-uuid":"^1.4.7","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.10","recursive-readdir":"^1.3.0","underscore":"^1.8.3"},"gitHead":"46383fe2c10b7778ca886c18212898001eecc8cd","_id":"pumlhorse@1.0.3","_shasum":"2eda18d9b5608011db1a0dc5315df19d13a4c694","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.4.3","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"2eda18d9b5608011db1a0dc5315df19d13a4c694","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-1.0.3.tgz","integrity":"sha512-K65oQl4o7+bYgozPNAWb8PiE7d6mHaZFGHHXfj4WL9d38axeLIGb1ORwd4wjcJqyy4Iat8KIa8DNTOJCn0x59A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEh2i35EU3Of67b/3V5ZCLbdMi9SwxP9zzYXaKlwWjjcAiAoFqQUiTX3yx0FSh7v5yBObPFqvOtNNYzpog/tUNhjsQ=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/pumlhorse-1.0.3.tgz_1465437850835_0.754999217344448"}},"1.1.0":{"name":"pumlhorse","version":"1.1.0","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["javascript","utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.1","node-uuid":"^1.4.7","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.10","recursive-readdir":"^1.3.0","underscore":"^1.8.3"},"gitHead":"ea76021bacac6327dde4681815e5d0c70541778f","_id":"pumlhorse@1.1.0","_shasum":"79c346ac1e5a0da399162d50da58dc85e3a65629","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.4.3","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"79c346ac1e5a0da399162d50da58dc85e3a65629","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-1.1.0.tgz","integrity":"sha512-/RydMPw24LrgCnPhKXgr9pYw0yY4s9n85d8QlFACrDpK3LiEcqx+0QiC3u1wGIEa/KOR67bZv1ux7az+TiI5Sw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEQBVMKlucKJBfBOxlLmy3z+qtfg5sug7lk+pPWqZEMWAiAVH6IUtc53D4L5+DkQuMScNbVW58jcApSTJpLD/mkA6A=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/pumlhorse-1.1.0.tgz_1465521739316_0.1009657692629844"}},"1.2.0":{"name":"pumlhorse","version":"1.2.0","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.1","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.10","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"af39d0c5bee4c50a3ed94e7316f0ead6048c70e1","_id":"pumlhorse@1.2.0","_shasum":"d23c0b477800f95675546b4c29e9a1411b912db2","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.4.3","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"d23c0b477800f95675546b4c29e9a1411b912db2","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-1.2.0.tgz","integrity":"sha512-Fte5y8qsoG80Ygt5KZiY9tARVljGulnZtzLDNj67vFO8TkTwpDTiOCD79q+yI6tooW7MsRl2zbaKcoD8yy7ykQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBVj00dIo0caV1e5wqWBBfw6feyQ8qKTg5Z8imJYTP1TAiEA4+0ty2YANi8me9XMW5d50pqcz4nR6kjZwWE7WnG1rGI="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-1.2.0.tgz_1480107415478_0.44221269781701267"}},"1.2.1":{"name":"pumlhorse","version":"1.2.1","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"jasmine":"^2.4.1","proxyquire":"^1.7.4"},"dependencies":{"angular-expressions":"^0.3.0","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.1","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.10","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"fbbf0be9c90406534aa002539db26349e05e0da4","_id":"pumlhorse@1.2.1","_shasum":"2c27eba18da3503e103868636568d616c7ec93e9","_from":".","_npmVersion":"3.8.5","_nodeVersion":"4.4.3","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"2c27eba18da3503e103868636568d616c7ec93e9","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-1.2.1.tgz","integrity":"sha512-QbyhRBw93D0lOIj+HnOID5hraIoBGNrE4BQKxM1VU6pSth6oRNvj3iECYiwtI+kyBaGCirxiPV4RIydmcE8LJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAE4UKuHABTiU8zU0GVQGWkh2UKFC6Ce7fIMd3O3RkfpAiARGz8a2REE4P++Moj9/iFpMcQl8IYfmZxJRcuGvdiZnQ=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pumlhorse-1.2.1.tgz_1480109405687_0.055649698711931705"}},"2.0.0":{"name":"pumlhorse","version":"2.0.0","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","bluebird":"^3.3.0","colors":"^1.1.2","command-line-args":"^2.1.6","http-client-factory":"^0.3.1","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"22a4285e455a3933809ac5b6f8150198c93d8efa","_id":"pumlhorse@2.0.0","_shasum":"ef2004873a7458e51c21afaf0e8a8011fba3dde1","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.2.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"ef2004873a7458e51c21afaf0e8a8011fba3dde1","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.0.0.tgz","integrity":"sha512-aYDRA4wU37UigQNjD0NIeRHanuIJiYoKx3eHnWnUJ3AkrnA5lBGR8amj+G765JXVZ9fMsamqjb/Z8H/mJAMymQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFSFaTAQs9qEbAcFWp5gyZ3cWGPrWGBsifqwaNRoGTXQIgYnI2NMJdxn7wuQ+fNWbYOAurfVVO5PIsc82vwHFFeEg="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pumlhorse-2.0.0.tgz_1484447324020_0.15072837471961975"}},"2.0.0-beta2":{"name":"pumlhorse","version":"2.0.0-beta2","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"02b899b8adb08e6576b8880961283eae05321c46","_id":"pumlhorse@2.0.0-beta2","_shasum":"ad51f6fcbad0cc778a1a5c9b90a315f832a6ece6","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.2.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"ad51f6fcbad0cc778a1a5c9b90a315f832a6ece6","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.0.0-beta2.tgz","integrity":"sha512-+nwvqaTTsVUf3uJ/buvxWmfubpy+/PjIb9RVq2hkhKpSJ3HhQ8a0hZoOlRaOw23ALAoXWiNwbRZ1sYz2IdEHoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCevXg4H75TZe062yfCupC08Rdj5KdhSmHL8TrtqritLgIhAKxdXQ09jvluJxMgIcSfY4Rco2GSs8rioQ60ST1KvL5F"}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.0.0-beta2.tgz_1484455941124_0.7113847825676203"}},"2.0.0-beta3":{"name":"pumlhorse","version":"2.0.0-beta3","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"884b1c2bbdb8a1ca9b7a2ada163f8613baae7524","_id":"pumlhorse@2.0.0-beta3","_shasum":"ce5de15824565fd2d8d6e92eb0d2cd000f32deb7","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.2.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"ce5de15824565fd2d8d6e92eb0d2cd000f32deb7","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.0.0-beta3.tgz","integrity":"sha512-aZVk8JRvHAWpsmd+ZpjcvampXtzrHnFRiKyQ+eKpP4Vw4fLoORcsRCNu4S6g8eQlnuFo720x+pllPOu67TiQDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHvYsl1yz26ocBX3emNQPVb++SI39PBl6bRg2Phq5j0eAiEAtK9DLTX2U3btU66pHG7ujLG091b1TMNQ8kZvPHJYaLQ="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pumlhorse-2.0.0-beta3.tgz_1485228643688_0.9618343128822744"}},"2.0.0-beta4":{"name":"pumlhorse","version":"2.0.0-beta4","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"2871103f7a50d57d2dbba2d221877fb3ab0b1f39","_id":"pumlhorse@2.0.0-beta4","_shasum":"165861596acc2e99c14e75170be29734c8789db5","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.2.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"165861596acc2e99c14e75170be29734c8789db5","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.0.0-beta4.tgz","integrity":"sha512-oAckv7tvWal7A4FoSxbyZXx7Y9ny2t7BRDINmIzdpimGI9uDBDsCZlWxazYf1hsORSMMi1XQXUDLwJkYJhMXHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDh4fl5znf3QLVmSPrVFiS40wfj/t+YRkp/9OumO5VbLAIgCYvL4EdsZF3MKb6AtydV5Qtd42sGo737bOBiVKWE7u0="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pumlhorse-2.0.0-beta4.tgz_1486180829261_0.4438486753497273"}},"2.0.1":{"name":"pumlhorse","version":"2.0.1","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"bb96e5be0bdbc5890a6cd47cb9fe6f1bd24385f8","_id":"pumlhorse@2.0.1","_shasum":"2fae8a592a630e4b98864aa2d7d13bc33488978c","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.2.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"2fae8a592a630e4b98864aa2d7d13bc33488978c","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.0.1.tgz","integrity":"sha512-5mg6CR8v0xCkrWsvTPsFBHNrTxG0y0a/rDjjA2AiT9d/GjRemupmD0zSGs0G51b6V4TW4tTK2NHHJbyXqA5p6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBSwwQdFGWj0imssY/bg3QwefelXqZ4+l5A25NtyadSyAiEA93rC9IzpH4tQw8Uqu29YSrDJFbffvpkslUYFAKXEAN0="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.0.1.tgz_1486843517768_0.670635448070243"}},"2.0.2":{"name":"pumlhorse","version":"2.0.2","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"6cd985be93e4c883b36b40be2902b0b970b3e481","_id":"pumlhorse@2.0.2","_shasum":"adaae8c39d766132bb65b0bb78ce3b8194341490","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.2.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"adaae8c39d766132bb65b0bb78ce3b8194341490","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.0.2.tgz","integrity":"sha512-hHU2r1HHyLEahCFV0+zjqivOcc4Z0/Fe/TN7nebVgT1KLrQtj4vfm6pwKyGVTQZ4Ltj/GDIhw2DU1y5RieyTqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEIuct2CtISj7SplXtix738NYrAXVl/2n9Kbd5Zj2ITdAiB0PVjxjF5Y+ZKkuJvWKPHRbuzCLCy8BJC3/hBYy+gNmw=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.0.2.tgz_1487819772938_0.25395070016384125"}},"2.0.3":{"name":"pumlhorse","version":"2.0.3","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"6cd985be93e4c883b36b40be2902b0b970b3e481","_id":"pumlhorse@2.0.3","_shasum":"347db4718976283e4619a1fe50164385257e00fe","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.2.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"347db4718976283e4619a1fe50164385257e00fe","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.0.3.tgz","integrity":"sha512-+k+zFIncWKdBRN3Mqu8xESerIOs1FN7XYa6FlhSKw/veY0srJtLJjJvzFlIBMuNn6uFRkHdpmg9OY3DjWuBR7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdU+LPpT7HwUNajNPoN60xlY4uhW574tI0+G4J7YxC4AiEAi6cSsvfkqJ5/Dz0R/lyK/TPoKsQHkZiJbSqR/BRNO1c="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pumlhorse-2.0.3.tgz_1487820688513_0.5214305971749127"}},"2.0.4":{"name":"pumlhorse","version":"2.0.4","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"97ddfaa1be91330a2698fb2d530f4284495e0119","_id":"pumlhorse@2.0.4","_shasum":"03da92cfe0e56259ad544913aa328ab1ef7314d8","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"03da92cfe0e56259ad544913aa328ab1ef7314d8","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.0.4.tgz","integrity":"sha512-uHxLWgayX4q6EGx0TWSczbLoOICNdlzqJ+p5O6RVWOH29o3JWUwJarsvwKOhBkhMcwkIzVYytYK04KBxtZWjmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEOyrBgldsZHICslpB7hRCKwUaRrIxcVaDGyW9qJ5OmAIgVqMarrXOBi2J9uCtmQgLJ8VceWBGyKGAidZNCM1KBt0="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.0.4.tgz_1488747234717_0.37792871450074017"}},"2.1.0":{"name":"pumlhorse","version":"2.1.0","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"776fceb8a18423a009b7a7deb0a7d37f97a45d34","_id":"pumlhorse@2.1.0","_shasum":"3399a8fb8faff10b36e87babe32bd1923523d90b","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"3399a8fb8faff10b36e87babe32bd1923523d90b","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.1.0.tgz","integrity":"sha512-tXpRkLa6hXij8ssmsJyyBYBsctOw0CJaGf2lVONvDtKBPG/SvIEmBupnxPeuDDuF8o2UuiW5WHlIMxDMWbHP+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIElOqkIIvEOuMf8f/Evf8WHgOHcJTzEFhfBjTz7wr+Q4AiA0GVbYu0wy/fORPNr2NM/lC8yYoiovwCioszLvjL2q8w=="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.1.0.tgz_1489361834456_0.6067341761663556"}},"2.1.1":{"name":"pumlhorse","version":"2.1.1","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"0059054fa8fec8c867464b3e166cb3009924f0ee","_id":"pumlhorse@2.1.1","_shasum":"1ae984fc5759ecf739dc503b67552a92b057cb51","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"1ae984fc5759ecf739dc503b67552a92b057cb51","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.1.1.tgz","integrity":"sha512-N9e+VMLQJnrud9V3YxA+KlIRvhTqoWpb+psEH0lvgl6Aw0ZvBbhf0UmrbvQJKWxNBQG8zl9vJX6rEQIsnNQhJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHhJ1pauZjrJyqieI9OjoMen+M3QY8AtdNB+laLT1pPUAiEA7KFtlbGZ8IutfdL4xRVl/wAMiXZNe9vqBbob5q0ec1A="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pumlhorse-2.1.1.tgz_1489369877870_0.007875626906752586"}},"2.1.2":{"name":"pumlhorse","version":"2.1.2","description":"Utility for creating readable and reusable scripts","main":"./lib/app.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine","prepublish":"tsc -p ./configs/tsconfig.publish.json"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"943c029c79f7d4ec2d3098d59a7edd11e70ed24f","_id":"pumlhorse@2.1.2","_shasum":"9246f3bfdb8d434ef1653a316bf13c5a2bf674db","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"9246f3bfdb8d434ef1653a316bf13c5a2bf674db","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.1.2.tgz","integrity":"sha512-PqP48hA2cW2bVj26jOa/SmOqc/L8iegEpgVV0Hv9TqEmdNfk1067yg722rNUM3u/4s5UBkvXi538a+lZbLQFIQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBCvJluZnO5yEOU118X6Xun7JqGP9DaQBQNaZZQONL9dAiEAvapiDrZ0JoLeJ7fzV1nlJjhEOXE8CjKLqE3YaAcR4Gs="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.1.2.tgz_1489372533965_0.05976978153921664"}},"2.2.0":{"name":"pumlhorse","version":"2.2.0","description":"Utility for creating readable and reusable scripts","main":"./lib/App.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine","prepublish":"tsc -p ./configs/tsconfig.publish.json"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","scratchpad"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"b3a9822018c4bb7acd3fb772e08e7cfdd931f1c4","_id":"pumlhorse@2.2.0","_shasum":"aad69238174fab3396b26f302ea55d702ee0aecd","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"aad69238174fab3396b26f302ea55d702ee0aecd","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.2.0.tgz","integrity":"sha512-lFrWhog3YAmye4IcLW+70dgR8aWNJRBe7iy9DrWq/3gNcczfyKHKq/bcTIXsNkeA4PFz4pA9zFAdMbYEvoI7og==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHE5jgIKWgCDvk0ZY97jgaa5/qgfIJM1cgqTiDrWF8PKAiEAkaPP9Tq2ekRDLXwSh4ARk7BSTfDqF8s3ZnQCMY38+iM="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.2.0.tgz_1490561234116_0.8838409294839948"}},"2.3.0":{"name":"pumlhorse","version":"2.3.0","description":"Utility for creating readable and reusable scripts","main":"./lib/App.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine","prepublish":"tsc -p ./configs/tsconfig.publish.json"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","workflow"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"e3b18e25d8f56c393b06fcb7c04c836b855accb3","_id":"pumlhorse@2.3.0","_shasum":"70e3d8005d218bd3f5bc59684c34b9009bf9cda4","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"70e3d8005d218bd3f5bc59684c34b9009bf9cda4","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.3.0.tgz","integrity":"sha512-33CdAI4lM3kRMipuwwNJYcwVU+nvVSv5H9MIjJ+gnlum1BfgRCDrpX8KrwnFpU3tHwx4cUgUrCQPr3cxNI2mow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGdOv285iRsSpXYpIlbU2ZxPsP/bys9OZfKaxjkv9x8XAiEAl/A16NTKZj9xGIsRhvPyP2EYwdWTPpfYn89kZAx4gSk="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pumlhorse-2.3.0.tgz_1492366642493_0.4592043252196163"}},"2.3.1":{"name":"pumlhorse","version":"2.3.1","description":"Utility for creating readable and reusable scripts","main":"./lib/App.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine","prepublish":"tsc -p ./configs/tsconfig.publish.json"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","workflow"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"da5db974c4f99810fbc956f81b54bfa1ccc02e4d","_id":"pumlhorse@2.3.1","_shasum":"2d8e48b7fcd9ccc27486d54bb8b37ee227ab575c","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"2d8e48b7fcd9ccc27486d54bb8b37ee227ab575c","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.3.1.tgz","integrity":"sha512-/XvSdp4XpYKuTp7L/H7kILCMbt3+5X68+u+BcZbwAMtoGYZgafwWxpBlVZGzGpqlJDJQDjUCWy8C3O7b2B5m3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICH6m3QogbGgwfr3IpMJ14OCt0vMzngUlmPNk7iQYR16AiEA23c93UFs4599G3e38ERyfxyF2rZG9VpEX7luHDPx+9Q="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/pumlhorse-2.3.1.tgz_1492369661642_0.8871873577591032"}},"2.3.2":{"name":"pumlhorse","version":"2.3.2","description":"Utility for creating readable and reusable scripts","main":"./lib/App.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine","prepublish":"tsc -p ./configs/tsconfig.publish.json"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","workflow"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"c395c975b21c2d43949ba476ea362c3b4aa21003","_id":"pumlhorse@2.3.2","_shasum":"edf1a88e61b7ca7eeb651f5ac67a771f9e1507d7","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"edf1a88e61b7ca7eeb651f5ac67a771f9e1507d7","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.3.2.tgz","integrity":"sha512-GAsXkPoLCYNjLNlQjRp6SNlq3HM2lqERf1z94e7ky5UnHTk6eoyaQHwrA0ZkMoGXO3DhW9XCvpbaRBNjnTf5Cw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHnWRbnnbj3n6/DB0rTAbtULQgpCU1O/tX7ZwYYhRRblAiEAz25kkZh0XZPvMuLrdG2CZsye/dRHyPbq7U437BoXD9w="}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.3.2.tgz_1492564321559_0.6806711899116635"}},"2.3.3":{"name":"pumlhorse","version":"2.3.3","description":"Utility for creating readable and reusable scripts","main":"./lib/App.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine","prepublish":"tsc -p ./configs/tsconfig.publish.json"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","workflow"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"159b466698a550393f3b57e9549c30643184c814","_id":"pumlhorse@2.3.3","_shasum":"037ecc31c28ec205f2cb0a683ee647b80f7beb9e","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"037ecc31c28ec205f2cb0a683ee647b80f7beb9e","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.3.3.tgz","integrity":"sha512-xOkLc3v2alVOH+k5q4nX/5veVy7qBTvFisbKCFx8tmS4mCiUMNFYRAw01SQi+BPE5p/q500hYSVnbhg2wZQnxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDClIUPXn7MU17guU1i8yrlfxec/wwN7rjZOHUkTqkBOQIhAOfsPr/HFO1r77JSqpMZ1IeBwW+PGrd6fS41zKMntA9+"}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pumlhorse-2.3.3.tgz_1492651974296_0.5634565446525812"}},"2.3.4":{"name":"pumlhorse","version":"2.3.4","description":"Utility for creating readable and reusable scripts","main":"./lib/App.js","bin":{"pumlhorse":"bin/cli.js"},"scripts":{"test":"tsc -p ./configs/tsconfig.test.json && jasmine","prepublish":"tsc -p ./configs/tsconfig.publish.json"},"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"keywords":["utility","test","yaml","script","workflow"],"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"license":"MIT","bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","devDependencies":{"@types/uuid":"^2.0.29","es6-promise":"^4.0.5","jasmine":"^2.5.2","proxyquire":"^1.7.4","typescript":"^2.1.4"},"dependencies":{"angular-expressions":"^0.3.0","circular-json":"^0.3.1","colors":"^1.1.2","http-client-factory":"^0.3.1","minimist":"^1.2.0","promise-queue":"^2.2.3","pumlhorse-yamljs":"^0.2.11","recursive-readdir":"^1.3.0","underscore":"^1.8.3","uuid":"^3.0.0"},"gitHead":"41ec128debe1f309873beff3533e4e2df33997c0","_id":"pumlhorse@2.3.4","_shasum":"9b6bd36e63bcd1a52e84fd7ee8e05c768f655bc6","_from":".","_npmVersion":"3.8.5","_nodeVersion":"7.7.1","_npmUser":{"name":"mdickin","email":"matt@mdickin.com"},"dist":{"shasum":"9b6bd36e63bcd1a52e84fd7ee8e05c768f655bc6","tarball":"https://registry.npmjs.org/pumlhorse/-/pumlhorse-2.3.4.tgz","integrity":"sha512-HVYLjd4uqXj1INUINzP7Ml2p8Qos4JNyS/CB/vTxCU/KHEz9tnj4QTVX3xxV9CcXxGbZZ7GHE9Ehwa/Mos+Y3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTTxFOcZL4PRqchRtDDzeGP/vRoB8w2hyR7TqmbFul0gIhAIdU+sEM78Q6lRitNye8EbADtlN0iCe0m0dopErP012c"}]},"maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pumlhorse-2.3.4.tgz_1503625027018_0.056781128980219364"}}},"readme":"\r\n# Pumlhorse\r\n\r\n- PUML *(Promise-driven Utility Modeling Language)*\r\n- Horse *(Equus caballus)*\r\n\r\nPumlhorse is a utility for creating readable and reusable scripts. \r\n\r\nFor a complete reference, visit [pumlhorse.com](http://www.pumlhorse.com)\r\n\r\n- Writing scripts\r\n  - [Basic usage](#spec)\r\n   - [Passing parameters](#parameters)\r\n   - [Variables](#variables)\r\n   - [Inline JavaScript](#inline-javascript)\r\n   - [Conditionals](#conditionals)\r\n   - [Loops](#loops)\r\n   - [Logging](#logging)\r\n  - [Assertions](#assertions)\r\n  - [HTTP requests](#http)\r\n  - [Timers](#timers)\r\n  - [Parallel tasks](#parallel)\r\n  - [Helpers](#helpers)\r\n\r\n<a name=\"spec\"></a>\r\n\r\n# Specification\r\n\r\n```yaml\r\nname: Introduction to Pumlhorse\r\ndescription: This is a basic script that writes some messages\r\nsteps:\r\n  - log: Hello!\r\n  - log: Goodbye!\r\n```\r\n<a name=\"parameters\"></a>\r\n\r\n## Parameters\r\n\r\n```yaml\r\nname: Use parameters\r\ndescription: Pass some parameters to those steps\r\nsteps:\r\n  - sayGreeting:\r\n      text: Hello, and welcome to Pumlhorse!\r\n  - sayGoodbye:\r\n      language: French\r\n      text: Au revoir!\r\n```\r\n<a name=\"variables\"></a>\r\n\r\n## Variables\r\n\r\n```yaml\r\nname: Pass variables\r\ndescription: Set and use variables from your steps\r\nsteps:\r\n  - myName = John Smith\r\n  - sayGreeting:\r\n      text: Hello, my name is $myName\r\n```\r\n\r\n```yaml\r\nname: Assign step results to variables\r\nsteps:\r\n  #getMyName is a function that returns a string\r\n  - myName = getMyName \r\n  - sayGreeting:\r\n      text: Hello, my name is $myName\r\n```\r\n\r\n```yaml\r\nname: Use complex objects in variables\r\nsteps:\r\n  #getMyInfo is a function that returns { name: 'John Smith' }\r\n  - myInfo = getMyInfo\r\n  - sayGreeting:\r\n      text: Hello, my name is $myInfo.name\r\n```\r\n\r\n```yaml\r\nname: Create complex objects as variables\r\nsteps:\r\n  - myInfo = value:\r\n      name: John Smith\r\n      age: 34 \r\n  - sayGreeting:\r\n      text: Hello, my name is $myInfo.name\r\n```\r\n\r\n<a name=\"inlineJavaScript\"></a>\r\n\r\n## Inline Javascript\r\n\r\n```yaml\r\nname: Use JavaScript inline\r\nsteps:\r\n  - myMixedCase = aBcDeFg\r\n  - myLowerCase = $myMixedCase.toLowerCase()\r\n  #myLowerCase is now 'abcdefg'\r\n```\r\n\r\n```yaml\r\nname: Declare JavaScript functions inline\r\nfunctions:\r\n  getMyInfo: return { name: 'John Smith', age: 25 }\r\n  logMyInfo:\r\n    # list parameters first \r\n    - age\r\n    - name\r\n    # list function body last\r\n    - this.log('My name is ' + name + ' and I am ' + age + ' years old')\r\nsteps:\r\n  - myInfo = getMyInfo\r\n  - logMyInfo:\r\n      name: $myInfo.name\r\n      age: $myInfo.age\r\n  # logs \"My name is John Smith and I am 25 years old\"\r\n```\r\n\r\n<a name=\"conditionals\"></a>\r\n\r\n## Conditionals\r\n\r\n```yaml\r\nname: Simple if/then example\r\nfunctions:\r\n  getTodaysDate:\r\n    - return new Date().getDay()\r\nsteps:\r\n  - dayOfWeek = $getTodaysDate()\r\n  - if:\r\n      value: ${ dayOfWeek == 5 }\r\n      is true:\r\n        - log: Congratulations, today is Friday!\r\n      is false:\r\n        - if:\r\n            value: ${ dayOfWeek == 6 || dayOfWeek == 0}\r\n            is true:\r\n              - log: Congratulations, it's the weekend!\r\n            is false:\r\n              - log: Hang in there, you'll make it to the weekend!\r\n```\r\n<a name=\"loops\"></a>\r\n\r\n## Loops\r\n\r\n```yaml\r\nname: Run some things a few times\r\nsteps:\r\n  - loopTimes = 14\r\n  - repeat:\r\n      times: $loopTimes\r\n      steps:\r\n        - log: Starting loop\r\n        # do loop steps\r\n        - log: Ending loop\r\n```\r\n\r\n```yaml\r\nname: Loop through items in a list\r\nfunctions:\r\n  getLoopItems: return [\"a\", \"b\", \"c\"]\r\nsteps:\r\n  - items = getLoopItems\r\n  - for:\r\n      each: item\r\n      in: $items\r\n      steps:\r\n        - log: Working with the letter $item\r\n        - doLoopTasks: $item\r\n```\r\n\r\n```yaml\r\nname: Run a loop with varying data\r\nfunctions:\r\n  doLogin: \r\n    - username\r\n    - password\r\n    - this.log('Login with ' + username + ':' + password)\r\nsteps:\r\n  - scenarios:\r\n      base: # (optional) provides a base set of values for every scenario\r\n        username: jsmith\r\n      cases:\r\n        bad password:\r\n          password: abadpassword\r\n        good password:\r\n          password: aBeTTerPassw0rd!\r\n      steps:\r\n        - doLogin:\r\n            username: $username\r\n            password: $password\r\n          #Performs doLogin for \"bad password\" and \"good password\" scenarios\r\n```\r\n\r\n<a name=\"logging\"></a>\r\n\r\n## Logging\r\n\r\n```yaml\r\nname: Basic logging functions\r\nsteps:\r\n  - log: Here's a simple log message\r\n  - warn: Something might be wrong\r\n  - error: Something is definitely wrong!\r\n```\r\n\r\n```yaml\r\nname: Pass parameters to logging calls\r\nsteps:\r\n  - myFavoriteNumber = 42\r\n  - warn: Every tech thing has to have a $myFavoriteNumber reference\r\n```\r\n\r\n<a name=\"assertions\"></a>\r\n\r\n## Assertions\r\n\r\n```yaml\r\nname: Use assertions\r\nsteps:\r\n  # all of these assertions succeed\r\n  - isTrue: ${5 == 7 - 2}\r\n  - isFalse: ${Math.PI == 3}\r\n  - isNull: $fhqwhgads # Variable doesn't exist\r\n  - isNotNull: 42\r\n  - areEqual: \r\n      expected: men \r\n      actual: ${\"women\".substr(2)}\r\n  - areEqual:\r\n      expected:\r\n        game: horseshoe\r\n      actual:\r\n        game: horseshoe\r\n        another: handgrenades\r\n      partial: true # Only properties in expected value will be checked in actual value\r\n  - areNotEqual:\r\n      expected: free as in beer\r\n      actual: free as in speech\r\n  - isEmpty: ${[]}\r\n  - isNotEmpty: ${[3, 4, 5]}\r\n  - contains: \r\n      array: \r\n        - 4\r\n        - 5\r\n        - 6\r\n      value: 6\r\n  - contains:\r\n      array:\r\n        - game: horseshoe\r\n          another: handgrenades\r\n      value:\r\n        game: horseshoe \r\n      partial: true\r\n```\r\n\r\n<a name=\"http\"></a>\r\n\r\n## HTTP Methods\r\n\r\n```yaml\r\nname: Use HTTP methods\r\nsteps:\r\n  - findUserResult = http.get:\r\n      url: http://www.tempuri.org/api/findUser\r\n      data: \r\n        search: jsmith\r\n        page: 2\r\n  # Issues GET request to http://www.tempuri.org/api/findUser?search=jsmith&page=2\r\n  - log: $findUserResult.json.username\r\n  # Logs 'username' property of the JSON response body (requires the content-type to be application/json or text/json)\r\n  - postResult = http.post:\r\n      url: http://www.tempuri.org/api/createUser\r\n      data: \r\n        firstName: John\r\n        lastName: Smith\r\n      headers:\r\n        Authorization: bearer   eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOjQyLCJ1c2VybmFtZSI6ImVhc3Rlci5lZ2cifQ.U4nejjGFvXSERKtVWrgXXytXqe9oqdg8ws1AyLCp  4o0\r\n  # Issues POST request to http://www.tempuri.org/api/createUser with a JSON request of { \"firstName\": \"John\", \"lastName\": \"Smith\" }\r\n  - http.isOk: $postResult\r\n  # Asserts that the response was a 200\r\n  - log: $postResult.body #body contains the string content in the response\r\n  # put, delete, patch, head, and options are also available \r\n```\r\n\r\n<a name=\"timers\"></a>\r\n\r\n## Timers\r\n\r\n```yaml\r\nname: Wait for an amount of time\r\nsteps: \r\n  - wait:\r\n      milliseconds: 23\r\n      seconds: 45\r\n  - log: Well that was kinda long\r\n  # Waits for 45.023 seconds\r\n  - wait:\r\n      minutes: 60\r\n      hours: 3\r\n  # Waits for four hours...use at your own discretion\r\n  - log: Is anyone even here anymore?\r\n```\r\n\r\n```yaml\r\nname: See how long we waited\r\nfunctions:\r\n  doLongRunningProcess:\r\n    - return this.wait(2000)\r\nsteps:\r\n  - timer1 = startTimer\r\n  - doLongRunningProcess\r\n  - stopTimer: $timer1\r\n  - log: That took $timer1.seconds seconds\r\n```\r\n\r\n<a name=\"parallel\"></a>\r\n\r\n## Parallel tasks\r\n\r\n```yaml\r\nname: Run multiple steps in parallel\r\nsteps:\r\n  - parallel:\r\n      - postUpdateToFacebook: This is my new status!\r\n      - postUpdateToTwitter: This is my new tweet!\r\n      - postUpdateToInstagram: This is a picture of my cat!\r\nfunctions:\r\n  postUpdateToFacebook:\r\n    - status\r\n    - return this.wait(Math.random() * 1000).then(() => this.log('Updated status to ' + status))\r\n  postUpdateToTwitter:\r\n    - tweet\r\n    - return this.wait(Math.random() * 1000).then(() => this.log('Added new tweet:' + tweet))\r\n  postUpdateToInstagram:\r\n    - caption\r\n    - return this.wait(Math.random() * 1000).then(() => this.log('Added new picture with caption:' + caption))\r\n```\r\n\r\n<a name=\"helpers\"></a>\r\n\r\n## Helpers\r\n\r\nSome miscellaneous helpers\r\n\r\n### JSON serialization\r\n\r\n```yaml\r\nname: Convert from string to object\r\nfunctions:\r\n  getObject: return { prop: 43 }\r\nsteps:\r\n  - obj = getObject\r\n  - jsonString = toJson: $obj\r\n  - log: $jsonString #logs \"{prop:43}\"\r\n  - newObj = fromJson: $jsonString \r\n  - log: $newObj.prop #logs \"43\"\r\n```\r\n","maintainers":[{"name":"mdickin","email":"matt@mdickin.com"}],"time":{"modified":"2022-06-25T01:01:12.797Z","created":"2016-02-21T19:15:41.604Z","0.1.0":"2016-02-21T19:15:41.604Z","0.1.1":"2016-02-21T20:08:10.361Z","0.1.2":"2016-02-21T20:35:53.437Z","0.2.0":"2016-03-08T12:58:55.105Z","0.2.1":"2016-03-08T13:21:25.155Z","0.2.2":"2016-03-08T13:22:33.143Z","0.2.3":"2016-03-13T18:59:56.548Z","0.2.4":"2016-03-19T02:22:03.691Z","0.3.0":"2016-03-30T04:24:24.001Z","0.3.1":"2016-03-31T03:01:55.826Z","0.4.0":"2016-04-05T04:22:50.748Z","0.4.2":"2016-04-13T02:35:53.740Z","0.5.0":"2016-04-21T01:34:03.840Z","1.0.0":"2016-04-28T01:49:25.799Z","1.0.1":"2016-05-20T00:51:21.385Z","1.0.2":"2016-06-08T02:52:12.166Z","1.0.3":"2016-06-09T02:04:12.941Z","1.1.0":"2016-06-10T01:22:21.560Z","1.2.0":"2016-11-25T20:56:57.739Z","1.2.1":"2016-11-25T21:30:06.305Z","2.0.0":"2017-01-15T02:28:44.773Z","2.0.0-beta2":"2017-01-15T04:52:23.696Z","2.0.0-beta3":"2017-01-24T03:30:44.469Z","2.0.0-beta4":"2017-02-04T04:00:29.999Z","2.0.1":"2017-02-11T20:05:20.107Z","2.0.2":"2017-02-23T03:16:15.043Z","2.0.3":"2017-02-23T03:31:29.272Z","2.0.4":"2017-03-05T20:53:56.926Z","2.1.0":"2017-03-12T23:37:16.548Z","2.1.1":"2017-03-13T01:51:18.584Z","2.1.2":"2017-03-13T02:35:35.981Z","2.2.0":"2017-03-26T20:47:16.387Z","2.3.0":"2017-04-16T18:17:23.086Z","2.3.1":"2017-04-16T19:07:42.452Z","2.3.2":"2017-04-19T01:12:03.665Z","2.3.3":"2017-04-20T01:32:56.525Z","2.3.4":"2017-08-25T01:37:08.076Z"},"homepage":"https://github.com/pumlhorse/pumlhorse#readme","keywords":["utility","test","yaml","script","workflow"],"repository":{"type":"git","url":"git+https://github.com/pumlhorse/pumlhorse.git"},"author":{"name":"Matt Dickinson","email":"matt@mdickin.com"},"bugs":{"url":"https://github.com/pumlhorse/pumlhorse/issues"},"license":"MIT","readmeFilename":"README.md"}