{"_id":"jiny","_rev":"79-81cedcad266c3d7ebf7d8e49ec3b8363","name":"jiny","description":"Jiny - runs tests/jobs in parallel","dist-tags":{"latest":"0.1.9"},"versions":{"0.0.1":{"name":"jiny","version":"0.0.1","description":"jiny","main":"src/jiny.js","bin":{"paradocker":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{},"_id":"jiny@0.0.1","dist":{"shasum":"04fddb3e86eb185c60641bd35e6295bbf58e67d9","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.1.tgz","integrity":"sha512-vrPBNprIqRFINZVMG6B3uVroZh9mMYFXl8I9fXfi+Jm/phxZljgpOPoaCGM2LqbD3OjzD9heE2TJvHWEzfcyig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5foEfUMjs71VoWlE42aqPSPPk0c2ajJTnvdvjqcE14AIgMUBXdmOhpsZq7WQirQTMBqyuqKWduS7iNiMdM3E+JU0="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.0.2":{"name":"jiny","version":"0.0.2","description":"jiny","main":"src/jiny.js","bin":{"paradocker":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2"},"_id":"jiny@0.0.2","dist":{"shasum":"d742ea777653d93aac49ec0402fcc0d89152a53a","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.2.tgz","integrity":"sha512-7gOTVqe2nivtb/teGM5VvmfeCOGR17Vnk2mH7+8S9RHWWwU9QfJCK1Eifhgq5KQwMk0W0ZE7HeLiTYqKvZCuSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDZ8by/SWm/cz7AXAq0/1jjU6nfumNECMeJazN+/DEQgAiEA0yRjNgVz5ScKOuvLvkFaupTKflIZf+1psD9/vPM3wJ8="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.0.3":{"name":"jiny","version":"0.0.3","description":"jiny","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2"},"_id":"jiny@0.0.3","dist":{"shasum":"d41b8f5192e31a2d64a7c65ea3f34ae2d7b8e6fd","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.3.tgz","integrity":"sha512-KZKBkqL5s0DN0j2eTTDh/eLnsr8BSi8P/zIgA06WJ7D8ntT345sk355IpkEDbqhCfQuSs0J7hyur2dM4u0EAYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDiFyOa9cWI3c9gJyc1wVbLjtFmLRltRfktHNjbFzujQAiB2Ry2RY25eC8ULXlq9OrfXQXxM/WcxEH0FPJ3VPRDoMw=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.0.4":{"name":"jiny","version":"0.0.4","description":"jiny","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2"},"_id":"jiny@0.0.4","dist":{"shasum":"4dc6031afc17fa30db5739c02458767bd7a9fe58","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.4.tgz","integrity":"sha512-aZlz+46bXAI5iWfem19mg6GBDBpq6DQqIC8Lw36w4JV6tz19YXlPchDYXm+qgqxnO3RHkNJHr3zOha9YO8OgvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDF6FFLZF668AWhphpM0Rn2WKl7iKgO1jRtQrra9Rzl5QIhALgnk9b3WvX3lDGmQL+yRFeFN4sz/xMuDrdhBCbXMNRb"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.0.5":{"name":"jiny","version":"0.0.5","description":"jiny","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2"},"_id":"jiny@0.0.5","dist":{"shasum":"2fc437b85907ef7e2d3ac223c1ab1130756ae1e1","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.5.tgz","integrity":"sha512-C7gTjcxeOKyWgR5GjaFGX8byYddZvQB4B1/4eMLsL1i8mdolTEDSSWG3/b0Bt2638fCWFX1eSEMtjp6LF3siLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGKy55ZcOanH5klaLfieHogY4N1qfIhRP85r4ozXDmqJAiEArPoswo2TrQXc+QpP3DEkrpNRZSsEgo0r4SiJD0Ey5EU="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.0.6":{"name":"jiny","version":"0.0.6","description":"jiny","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2"},"_id":"jiny@0.0.6","dist":{"shasum":"ae024f646bb29a44a0fdb5134dbb95c2a6249391","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.6.tgz","integrity":"sha512-yh6NW6/A/DgGh+YsjE2L1DtMPMnNGVn/IIP5hpHKruHQVi14pg9f0j6QDlHz0n5Wp7+6JhoMStq+eLNT36Kz7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuVbCsSK4x5ty+gZD0bxmjI6s1tx7Iw91slVeTIkftZgIgL3TArX7THUN8t4PiSjfKT5QVYTrco8AzLsQtWlg/tXI="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.0.7":{"name":"jiny","version":"0.0.7","description":"jiny","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2"},"_id":"jiny@0.0.7","dist":{"shasum":"41396fda6bae46aa02f9e77a65b8592dd8a0ce8f","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.7.tgz","integrity":"sha512-q04b/WozJKxN1XW+c60P1CHafBbIr63DttkDt35OR1xJ8XuCW6N3jjh3uWFiH3ElfC3f0rj1f3zSaLr72jNrUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHTq+IYBUWrfi4vFZ+qA+X6fmj/kzbQ5J0jKGKPXMM8hAiBy7DQXlrYpNRhHIbp5mo2ulz650iZVmpTvcMcCzksGBQ=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.0.8":{"name":"jiny","version":"0.0.8","description":"jiny","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0"},"_id":"jiny@0.0.8","dist":{"shasum":"7803fd837cb2d6e60f8c3688528894f593304305","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.8.tgz","integrity":"sha512-8vvF6LWpSSNNUqKIcqdpxlYpL6cJ6/HDruoDcZrOug/47Xh6UjRMAs9/BNQJ7gmvd8xf7zmxs8dwg41N6c1Jrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqgGBYuqYdPe6qhdTvn1n++D3tB9fgYUCLnXStqyohNAiEAr459UR8lWA/Vm8Ghx67lsct2WP4TmAcwR1POHDw6PTY="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.0.9":{"name":"jiny","version":"0.0.9","description":"jiny","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0"},"_id":"jiny@0.0.9","dist":{"shasum":"c1d6217f08ce1f4cacf7e4e2450303524428c57d","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.0.9.tgz","integrity":"sha512-2SNl4ccIKVKRwa/q6mpjPBGr07J4aX/Tgt/nM8+fZk9OXP5MhtXXGmqyDysCwYfFaeIQ4cOhJ1gQ2js6E6nFKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLp1SuuWLje3GhmpKd1PJkI01JAD80jMldWhV1ulOrKwIhAIerbreoWDZM/QfwuXLyuCFc+BrDpimi05WlziOpElgS"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.0":{"name":"jiny","version":"0.1.0","description":"jiny","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0"},"_id":"jiny@0.1.0","dist":{"shasum":"093d3093b0d5b1233d357b56aa6d2d07c0a01d3d","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.0.tgz","integrity":"sha512-r0TPGKmBA14gCWHbJ/ImJyAlZvvhKnvgmW/fPT/GRXqZqzSr+WEW3y4fexwqyCJWvuiEWF98LtOC708u/gHh1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsDzNHL0Ie8zk868g/G2XzdFEvrtSAkLumTwLwrPs5BgIged+3t8MFroaM7rHjC6Kb3/Tm1Jmfe7jPbSRlHgq7lF0="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.1":{"name":"jiny","version":"0.1.1","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0"},"_id":"jiny@0.1.1","dist":{"shasum":"a5318b6d54f129ab881466848347486b720b9e13","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.1.tgz","integrity":"sha512-KEoc9dBq44EoZnKWUujflmszyLfqD7lqNHM05bLFW16tyx76/gOMQx5JaV5SIjIEd+uRavCPUV3Wm3J8vAHJ8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGEEykaTf5dcKLjnp2Pe/JX2GLT/Gxg1gBvjvFX+NWvgIhAMrYaqTqY8RXmXR1pCiT1s4yIyEBSjMVvVOhuMmekEyK"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.2":{"name":"jiny","version":"0.1.2","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0"},"_id":"jiny@0.1.2","dist":{"shasum":"0e6a21735459099a3141d6627fba8dc616612b36","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.2.tgz","integrity":"sha512-GkPtFC8Kmiv6rios9eyLJiAgYUXh3FYsTe1XIICQC+d0E6XCQ+FZInY/r14g2oSImpZn0Kh4fiX/vd72AYnfzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBx+HpK9GWY85ycxOiZ33C//OcY2Pv7GhO+tktln9GsPAiBa14a0BzPURqJEmiXPK//0ksYzyPhTOy/qEvkJzVcUUA=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.3":{"name":"jiny","version":"0.1.3","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0"},"_id":"jiny@0.1.3","dist":{"shasum":"708bae9731902446f4356cca199c3f73cf8176e2","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.3.tgz","integrity":"sha512-2KfpTuTI2fllsYQ6sQLbEjMRRXeJIRscwKI8q4zjPYLXcpTxOlKCzYNR/g6iW4mjwYQQHlajll+Ln4KORghLwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuH3IpNdgjfz6fUUaRO/bjsRWWYzFNcBkMJRudVCD7SwIgNIYlrF/7U1NaSss4n6k1SSWWxp9bHCf3e08EmK/Of2c="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.4":{"name":"jiny","version":"0.1.4","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0"},"_id":"jiny@0.1.4","dist":{"shasum":"4c5be8e65e572e6b8b046914b2dc7aa8ef7b13f4","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.4.tgz","integrity":"sha512-dBYteXYquHE/O/6BkRr8zG4Z42QuxWy9cOhZyf4LrtWSBPzIE/MMWMm48Ru4TzTlUkG83tSISAPuLVB7KbVnrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMFtwR9xZqvqRLRO7ArFu8x2TpEroMUQ1U4NfXVx7l+QIgB5ncnbm3mzFl1guSm4dXw2AeAGcoEVogrEyBIzpWYyU="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.5":{"name":"jiny","version":"0.1.5","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0"},"_id":"jiny@0.1.5","dist":{"shasum":"7d52575d396c83a8f227a9d254291ea7687a598d","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.5.tgz","integrity":"sha512-DjlYYv9sKEHruoVNFMHrGi94SYaGFwOJfHB2IMUu7Du+BLJMOIpX4A4AkhdDGI7jRFlxFdprSjjxXnl8ukGJvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDuq3nOTRf5nJRKMeWq7IAftYUj08985eJIfvoVRive2AiANsG06GvE/dTmtb+Ze+reHB4R5pXz8qv4VRu1n1ryGaQ=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.6":{"name":"jiny","version":"0.1.6","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","readdirp":"1.1.0","event-stream":"3.1.7"},"_id":"jiny@0.1.6","dist":{"shasum":"773f0d0948c9d42d4fe2684d7da99b9d6c61e916","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.6.tgz","integrity":"sha512-IyNOqMsCSq1frxlDQluxlE26nU8K3xLQD5yn4v99t/GffGZu2XEJDQKDORW7dF0Dxd9rBbkXIZGfiEJc0cgwpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDfbkqSSQE3oe2edxW3PnUWqyv0nJSbnzbHAoreWrUggIhAKL00JQRuwPgEx7xqlgvEl+d3dLEjGvHPF+0ALoRDeJi"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.7":{"name":"jiny","version":"0.1.7","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"homepage":"https://bitbucket.org/slavahatnuke/jiny","repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","readdirp":"1.1.0","event-stream":"3.1.7"},"_id":"jiny@0.1.7","dist":{"shasum":"6ff14bca5aea76207e7e72e155e6fb06f0b0461f","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.7.tgz","integrity":"sha512-/IymougReocXQ63A4TqUepucQ+Rpp0Bz7dEjBoSiPOUGXJkGk+VDp6xKHnch+PQ3/qV+3Iyqz8vIzaAuAAdlZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC8Gm/P2i6xelho+zguD8oMhag4v9K+P8qpmoQezpzQVAiEAl4WlK4BkLRdPjZByxRdfXFeq4okbiNB0umnk8wNbTAQ="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.8":{"name":"jiny","version":"0.1.8","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"homepage":"https://bitbucket.org/slavahatnuke/jiny","repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","readdirp":"1.1.0","event-stream":"3.1.7"},"_id":"jiny@0.1.8","dist":{"shasum":"881a55c74f7ec17ab150511e29045883f51ab502","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.8.tgz","integrity":"sha512-J4SxmrYgDHBgSN48kssUZ4qKzwigtVeiuGXz83Q5tiggTF8D4XPGCbfFj+iqSIFW/KKy97T6fns4K42ZeNxn8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBkQlkPqex27n551HCQZt5BKfuloJRyiu07ALW0mMpbAIgSWjwuii34qQUrh92luNahp2ubIqTrsvy9xO8SWaXh6Q="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]},"0.1.9":{"name":"jiny","version":"0.1.9","description":"Jiny - runs tests/jobs in parallel","main":"src/jiny.js","bin":{"jiny":"bin/jiny"},"scripts":{"test":"./node_modules/.bin/mocha -R spec --recursive"},"homepage":"https://bitbucket.org/slavahatnuke/jiny","repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","devDependencies":{"mocha":"1.21.4"},"dependencies":{"async":"0.9.0","async-queue-stream":"0.1.3","bufferstream":"0.6.2","commander":"2.3.0","ipv4":"0.0.4","plus.class":"1.0.3","plus.container":"1.0.8","socket.io":"1.1.0","socket.io-client":"1.1.0","socket.io-stream":"0.5.3","underscore":"1.7.0","readdirp":"1.1.0","event-stream":"3.1.7"},"_id":"jiny@0.1.9","dist":{"shasum":"ae30a346c96cc7747577cd81cd140425fe4e488d","tarball":"https://registry.npmjs.org/jiny/-/jiny-0.1.9.tgz","integrity":"sha512-mLX/8VdjI+fwT4SU2fLRBXh/rl6xxOnkKKHwnZJbZy7E1cwPryp3cPISMxp0LZlD5rs76TvXjVSKG+V8TbvJZw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8miH3JL7eH/LjKsF6f/d9OqnbM1BldHtFrq2gmm6HsQIgVTf5KpVTfDgVUUzzMQ2D8+5yZkKm8x5gE3l56UgrkUk="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"},"maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}]}},"readme":"# Jiny - runs tests/jobs in parallel\n\n`jiny` allows to run your tests/jobs/commands in parallel on the different servers.\nMain goal of `jiny` is horizontal scalability for testing.\n\n### It has 4 main features:\n\n* upload project folder to the all servers (slaves) - `jiny upload`\n* prepare project on the all slaves - `jiny run \"./prepare.sh\"`\n* make job queue based on mask and pattern and run in parallel `jiny feed *.js \"mocha -R spec @\"`\n* make job queue based on pipe and run in parallel `find ... | jiny jobs`\n\n\n### Install\n- Require: `tar`\n- `npm install -g jiny`\n\n### Picture\n\n![jiny](https://bytebucket.org/slavahatnuke/jiny/raw/ea714392ff660fecc78b12c280800fc64bab4bc1/doc/jiny.png)\n\n### Help \n```\n> jiny \n\n\n  Usage: jiny [options] [command]\n\n  Commands:\n\n    master\n       Starts master\n\n    slave\n       Starts slave\n\n    upload\n       Upload dir to the slaves\n\n    run [command]\n       Runs command on the all slaves. Prepare project on the all slaves. `jiny run \"./prepare.sh\"`\n\n    feed [mask] [pattern]\n       Find files by mask, build job based on pattern and runs jobs in parallel on different slaves. Replaces `@` -> `[file name]`. Example: `jiny --dir tests feed *.js \"mocha -R spec @\"`\n\n    jobs\n       Runs commands in  in parallel on the different slaves. Uses pipe: `find tests/ | grep .js | awk '{print \"echo \"$1\" && sleep 1\"}' | jiny jobs`\n\n    stop\n       Stops slaves and master\n\n    wait.slaves [quantity]\n       Waits for slaves registered in the master\n\n\n  Options:\n\n    -h, --help     output usage information\n    -V, --version  output the version number\n    --port [port]  master port\n    --host [host]  master host\n    --dir [dir]    work dir\n    --detach       runs detached process: master / slave\n    --live         master option to save alive slaves after exit\n    --skip-upload  slave option to skip upload on this slave, if you want to use slave on the master\n\n```\n\n### Local example\n\n#### Make dirs\n- `mkdir ~/my-project # make project dir`\n- `mkdir ~/my-project-1 # make slave dir 1`\n- `mkdir ~/my-project-2 # make slave dir 2`\n\n#### Start master and slaves (in different terminals)\n- `jiny master --dir ~/my-project/ # start master`\n- `jiny slave --dir ~/my-project-1/ # start slave #1`\n- `jiny slave --dir ~/my-project-2/ # start slave #2`\n\n#### Prepare project (in another terminal)\n```\n> jiny run \"echo prepare-project && pwd && sleep 1\" # run same command on the both slaves in same time\n\nI am client http://10.0.2.15:7500\n#1 10.0.2.15 > echo prepare-project && pwd && sleep 1\nprepare-project\n/home/vagrant/my-project-1\n\n#2 10.0.2.15 > echo prepare-project && pwd && sleep 1\nprepare-project\n/home/vagrant/my-project-2\n\nPASSed 1s\n```\n\n#### Make fake tests\n- `mkdir ~/my-project/tests # make like tests dir in the project`\n- `touch ~/my-project/tests/test1.js # make like test1`\n- `touch ~/my-project/tests/test2.js # make like test2`\n\n#### Upload tests to slaves\n```\n> jiny upload # upload project to slaves\n\nI am client http://10.0.2.15:7500\n#1 10.0.2.15 uploaded dir: /home/vagrant/my-project-1/ time: 0s\n#2 10.0.2.15 uploaded dir: /home/vagrant/my-project-2/ time: 0s\ndone 0s\n\n#### Check uploaded data\n> jiny run \"pwd && ls tests\" # check that tests have been uploaded\n\nI am client http://10.0.2.15:7500\n#1 10.0.2.15 > pwd && ls tests\n/home/vagrant/my-project-1\ntest1.js\ntest2.js\n\n#2 10.0.2.15 > pwd && ls tests\n/home/vagrant/my-project-2\ntest1.js\ntest2.js\n\nPASSed 0s\n```\n\n#### Find files by mask, build job based on pattern and runs jobs in parallel\n- it will run commands one by one on the free slaves\n- slave #1 executes test1.js, slave #2 executest test2.js in same time.\n- in this example I use mocha to run these tests\n- real examples looks like:\n    - `jiny feed --dir features *.feature \"cucumber.js features/@\"`\n    - `jiny feed --dir src *Test.php \"phpunit -c app/ src/@\"`\n\n```\n\n> jiny --dir ~/my-project/tests feed *.js \"mocha -R spec tests/@\"\n\nI am client http://10.0.2.15:7500\n#1 10.0.2.15 > mocha -R spec tests/test1.js\n\n\n  0 passing (5ms)\n\n\n#2 10.0.2.15 > mocha -R spec tests/test2.js\n\n\n  0 passing (5ms)\n\n\nPASSed 0s\n\n```\n\n### Stop all: slaves and master\n```\n> jiny stop # stops all, slaves and master\n```\n\n\n\n### Notes\n\n#### Start master and slaves (in same terminal)\n- if you want to work in one terminal use `--detach` option.\n    - `jiny master --dir ~/my-project/ --detach # start master`\n    - `jiny slave --dir ~/my-project-1/ --detach # start slave #1`\n    - `jiny slave --dir ~/my-project-2/ --detach # start slave #2`\n\n \n#### Find files by `find` and `grep` and pipe it to jiny jobs\n- if you want to make job queue by pipe you can use this example\n    \n```\n> find ~/my-project/tests | grep .js | awk '{print \"echo \"$1\" && sleep 1\"}' | jiny jobs\n\nI am client http://10.0.2.15:7500\n\n#1 192.168.1.131 > echo /home/vagrant/my-project/tests/test1.js && sleep 1\n/home/vagrant/my-project/tests/test1.js\n\n#2 192.168.1.131 > echo /home/vagrant/my-project/tests/test2.js && sleep 1\n/home/vagrant/my-project/tests/test2.js\n\nPASSed 1s\n\n```\n\n\nRun your tests in parallel, be scalable horizontal! Enjoy and be happy!\n\n","maintainers":[{"name":"slava.hatnuke","email":"slava.hatnuke@gmail.com"}],"time":{"modified":"2022-06-19T04:27:54.739Z","created":"2014-10-09T00:16:11.843Z","0.0.1":"2014-10-09T00:16:13.534Z","0.0.2":"2014-10-10T12:26:33.236Z","0.0.3":"2014-10-10T12:37:12.311Z","0.0.4":"2014-10-10T12:41:44.567Z","0.0.5":"2014-10-10T13:29:06.660Z","0.0.6":"2014-10-10T13:33:38.195Z","0.0.7":"2014-10-10T13:35:57.884Z","0.0.8":"2014-10-14T12:58:42.248Z","0.0.9":"2014-10-14T16:53:19.411Z","0.1.0":"2014-10-14T19:15:03.599Z","0.1.1":"2014-10-14T19:19:33.441Z","0.1.2":"2014-10-15T11:36:42.306Z","0.1.3":"2014-10-15T12:19:21.715Z","0.1.4":"2014-10-15T13:09:54.354Z","0.1.5":"2014-10-17T09:08:47.052Z","0.1.6":"2014-10-28T17:48:02.332Z","0.1.7":"2014-10-28T17:53:44.603Z","0.1.8":"2014-10-28T18:30:15.425Z","0.1.9":"2014-10-29T13:23:31.765Z"},"readmeFilename":"README.md","keywords":["jiny","test","testing","parallel","job","queue","master","slave","server"],"repository":{"type":"git","url":"git@bitbucket.org:slavahatnuke/jiny.git"},"author":{"name":"slava hatnuke","email":"slava.hatnuke@gmail.com"},"license":"ISC","homepage":"https://bitbucket.org/slavahatnuke/jiny"}