{"_id":"service-hub","_rev":"30-aa2e8cd564510bffa286b9d0048fa474","name":"service-hub","description":"A semantically versioned provider/consumer system for global application services.","dist-tags":{"latest":"0.7.4"},"versions":{"0.1.0":{"name":"service-hub","version":"0.1.0","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^0.8.1","semver":"^4.1.0"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"bc1658931a2c23575c6364817f7a9a416df4509e","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.1.0","_shasum":"f2d17566019fa68de227aa3f13c753eb6f4f8a0a","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"nathansobo","email":"nathan@github.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"}],"dist":{"shasum":"f2d17566019fa68de227aa3f13c753eb6f4f8a0a","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.1.0.tgz","integrity":"sha512-m2TGZSrPcjGT3Vga+jcYuwla/8Qqnj8Imgu75SEJl7IGfjE3+agcif3ocV6hTQbpE2drqraJ5W7xAnEvwLKZOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGJFqU9TBGpPfeunDCKw3JV/ua2L+CbaGDQoU8uOd9EQIhAKy8DyYlMbWV0Z05EUyivlWgTZXi1tAvafD5mjE38OlM"}]}},"0.2.0":{"name":"service-hub","version":"0.2.0","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^0.8.1","semver":"^4.1.0"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"851dddb1fc87ee5cac77e96d240bee4d1ce66145","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.2.0","_shasum":"34dd3de27979bd863a18fcbd32f17bf21e85ed73","_from":".","_npmVersion":"2.1.8","_nodeVersion":"0.10.33","_npmUser":{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"}],"dist":{"shasum":"34dd3de27979bd863a18fcbd32f17bf21e85ed73","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.2.0.tgz","integrity":"sha512-NrQbgSruyDlZmzLGA7Q1B2rNYkD/zpLIudQTyrPfX5tVFnhK+4lSTdIXFxWYEKq+sZKRjzo/iMMvsAGI8Q0LVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8uM5QwZddAeiGIQsv270JaLjUfjM6eu6ZNBZ8PX01kAiBSG4dhkyC15ikCk8R16e7pgqvtqk2qvMgHvOL3wd+Jig=="}]}},"0.3.0":{"name":"service-hub","version":"0.3.0","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.1.0"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"5a521aaec70ffbf82deb770cace65c800de1addb","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.3.0","_shasum":"4f13d7c78817866d7bbc3dc38a0872828ec4d694","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"benogle","email":"ogle.ben@gmail.com"}],"dist":{"shasum":"4f13d7c78817866d7bbc3dc38a0872828ec4d694","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.3.0.tgz","integrity":"sha512-gJNHcFLA/sCmbGz4fomk33TpGiG+f8Mvp76ZfphsQ16j5SNAFioXIJ/zNbd4daZboLdAtaRvU6rdyhr2LfxwOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVyGvLeAxEjfLUaCNDbBnjwyKIIrCEB4MwKcF1pk/HggIhAIBgYQcB1JCIQwQug/IPDVrIsyYqq2ncof52+NlDegoi"}]}},"0.4.0":{"name":"service-hub","version":"0.4.0","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.2"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"fde06ed51f52b7a585c0e15dd702fa677efe99e9","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.4.0","_shasum":"8fa1281244972470badb27f4bd27a1d16bcd6913","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"benogle","email":"ogle.ben@gmail.com"}],"dist":{"shasum":"8fa1281244972470badb27f4bd27a1d16bcd6913","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.4.0.tgz","integrity":"sha512-CwjH31JMrE9W6na9SMo45nQqCi7V4p2YXCHRoMzRZJpoDhQ6WP6IUXwsZee/uLlRDsmv093d2jY8tm8WeXGeQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8dfeXyzl3blWJweXlb8HwWKuU5ADqk5EpVQ7jVIJoxAiBha9nRraHc9aQiMSOz5JGs+xRHiWPxTkEx9EIj8FZwdg=="}]}},"0.5.0":{"name":"service-hub","version":"0.5.0","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.2"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"e7339c6492ad18c7b6831cdc2fb5d101f2171711","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.5.0","_shasum":"a8eff14ce9d493b801afdb040dbb9f1732ca23dc","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"benogle","email":"ogle.ben@gmail.com"}],"dist":{"shasum":"a8eff14ce9d493b801afdb040dbb9f1732ca23dc","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.5.0.tgz","integrity":"sha512-TEgyWOiZ5m4UVeuCmYDcWpYgQRLaG5lxe2Ttq4Ewa5XyQAbsZM9RWf3tbQ7hW9BBD1UMcaUqerncGU4z37BWXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDgD2d2IOJXl1MNwK08J1nPvCCrBo7+b2juMBTocpFjVAiEA6bDqH3aBWyZ02yTyMA+AXUjKwK+wz2WH60h+YyGi97I="}]}},"0.6.0":{"name":"service-hub","version":"0.6.0","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.2"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"998e5223885b576a85e044c9548aa0cd87c6f4b5","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.6.0","_shasum":"80b1abe537059d9ba1f4e9e9f7edc03dad749652","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"benogle","email":"ogle.ben@gmail.com"}],"dist":{"shasum":"80b1abe537059d9ba1f4e9e9f7edc03dad749652","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.6.0.tgz","integrity":"sha512-3oR1YyajWfmnpJhi8rJ046HZ1KuMkeeP98Odx1G+9wbP5/Qnyw89uT9DkAqiquYYR8JImX8hu9UgnO9ba5lDXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZvGAbrb+Ix8bKKcwbNFuM8nqqQg+ZGN1PLhyDxR9+xAiEAnuUYMmgaCyhgBA4VPDdpXHSF7LG39Ey4SoxntiGrryM="}]}},"0.6.1":{"name":"service-hub","version":"0.6.1","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.2"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"ec3b03da06258a1f3a8fb3e780e3c043d1339ecb","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.6.1","_shasum":"f7dda29e490f208e5d90bbddfa5623860d49252d","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"benogle","email":"ogle.ben@gmail.com"}],"dist":{"shasum":"f7dda29e490f208e5d90bbddfa5623860d49252d","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.6.1.tgz","integrity":"sha512-FQZNRWbue+eImIlfEE+2wwhBminXHwZ//n05hEGWuUtmPLIdbsS3W08sN5cclV25zlDLRbMjsdKOeAslJpcnYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHuMw0GHv7RD05qQisjIoHO0Kw1cQ+j6kOXOIjH864X5AiEA3J1pdJrZ7B8DNYszqhjKVnzKd+nSLW6nRpOMeIEiMtw="}]}},"0.6.2":{"name":"service-hub","version":"0.6.2","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.2"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"a82cd44a43c454d22382cbfcb069970d00c703a1","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.6.2","_shasum":"765f5c6bfb07d36b5347de3f2c4dcf3c221ba3f0","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"benogle","email":"ogle.ben@gmail.com"}],"dist":{"shasum":"765f5c6bfb07d36b5347de3f2c4dcf3c221ba3f0","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.6.2.tgz","integrity":"sha512-vnSQX6qSg1rlO9jDlpAuq/Jg1AzrILud3ESkcLaPtesg7kqKooCqPHrjamdV/Y7G3Q2qOJ8a1w+N32A402hXag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSRzY3KJjcZ7Y4WoMgsWCJgR9Y/9Cf73iK2NqA4WiX+gIhANSO+e2Yz2gIcnDayROTaLhxUEsFdoOQBENE3l6zWbYR"}]}},"0.7.0":{"name":"service-hub","version":"0.7.0","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.2"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"c85ffcc2e4807db6756a15d023abc843b841122c","homepage":"https://github.com/atom/service-hub","_id":"service-hub@0.7.0","_shasum":"584cebadf7e2609fa29c34b4b3464ab4d053c226","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},"maintainers":[{"name":"nathansobo","email":"nathan@github.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"benogle","email":"ogle.ben@gmail.com"}],"dist":{"shasum":"584cebadf7e2609fa29c34b4b3464ab4d053c226","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.7.0.tgz","integrity":"sha512-RIeff0bQPMhmRjeyWlccxGSg2xUAQmk/DMAgE8bkq0I71yKZpUxHHSd5cA69ihYCAYWCXsTFRQs5M4rTFFwkMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSMgA3dcMdLHN7ezX+21bfDCpJ4KjIAWue2QzamwOokAiAObttfpS4MXGurNTLC1s8GcKN9oqfTk/jG5RKcO3cAqQ=="}]}},"0.7.1-0":{"name":"service-hub","version":"0.7.1-0","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.2"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"61c65f2e11b22428041715112c147c4bb3e79347","homepage":"https://github.com/atom/service-hub#readme","_id":"service-hub@0.7.1-0","_shasum":"2ec44b5729cffb9368d980a394901bd21b5af936","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.12.0","_npmUser":{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},"dist":{"shasum":"2ec44b5729cffb9368d980a394901bd21b5af936","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.7.1-0.tgz","integrity":"sha512-tTjCwOEX/fs4J6XrQBJe58fHAociWe9ZYOyiPb9Ah9VwSYQU6OTya320Mgp7T81C0ET7THPaxgGXERGdIDst6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDn1RR1Vy9zxcGu1c1hMTz/CtjXnRpxLUwutTTqBFhCQwIhAKcR1iOdn8p9TraE1ToplqLrB5+L28ZGHxBR3sa7dYSb"}]},"maintainers":[{"name":"atom","email":"nathan@github.com"},{"name":"benogle","email":"ogle.ben@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"nathansobo","email":"nathan@github.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/service-hub-0.7.1-0.tgz_1473886798263_0.09186926670372486"}},"0.7.2":{"name":"service-hub","version":"0.7.2","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^4.2"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"356b4413bc6a4008f7335870ad5c1fcc2b5ae8bf","homepage":"https://github.com/atom/service-hub#readme","_id":"service-hub@0.7.2","_shasum":"1a664e16ccf8f191cf30672b1f34cbfc197d0ceb","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.12.0","_npmUser":{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},"dist":{"shasum":"1a664e16ccf8f191cf30672b1f34cbfc197d0ceb","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.7.2.tgz","integrity":"sha512-bb2TNpH9aFqkRu9KoUQ9wGu3Kfe9vH6aFzJVpHzebfnK/EKvSFcodc8gkiF6W2ybPPUiDQ9mxSRxyTQe9HaFsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAFnVCH0i+vZdMf1UyebI9n66Sj0y+hdfMMEkCynqN9SAiAGyrzLAi8eKihtYny60yO+MmJaVGApMOHkdPaO9NOTIQ=="}]},"maintainers":[{"name":"atom","email":"nathan@github.com"},{"name":"benogle","email":"ogle.ben@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"nathansobo","email":"nathan@github.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/service-hub-0.7.2.tgz_1474575945330_0.08287942805327475"}},"0.7.3":{"name":"service-hub","version":"0.7.3","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^5.3.0"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"2e24b9f2a28d443d98b7dcc22731d7060a14b215","homepage":"https://github.com/atom/service-hub#readme","_id":"service-hub@0.7.3","_shasum":"65955a026a773c25b07b092f385e5f7b1f4df3a3","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"as-cii","email":"as-cii@github.com"},"dist":{"shasum":"65955a026a773c25b07b092f385e5f7b1f4df3a3","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.7.3.tgz","integrity":"sha512-8aDQy6jhR84AKFLY8Cli85BJw/SrXh4o0tyi+6bIneDhKSlptZ/iTB4w3wfFKkEov+Pua2KyhzLmaZGRu4eKag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8GrfIcsFVpecRJYhhDMK6xF6Rk88bQ1nAr0kleFORrQIgGGJDeYeaq+CTTnrV+QTbbR6yBupTA5Z0ftnilw8UGhk="}]},"maintainers":[{"name":"as-cii","email":"as-cii@github.com"},{"name":"atom","email":"atom@github.com"},{"name":"benogle","email":"ogle.ben@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"nathansobo","email":"nathan@github.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/service-hub-0.7.3.tgz_1489171214298_0.4617870235815644"}},"0.7.4":{"name":"service-hub","version":"0.7.4","description":"A semantically versioned provider/consumer system for global application services.","main":"./lib/service-hub","scripts":{"prepublish":"grunt clean lint coffee","test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/service-hub/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^1.0.2","semver":"^5.3.0"},"devDependencies":{"coffee-script":"^1.7.0","jasmine-focused":"^1.0.4","grunt-contrib-coffee":"^0.9.0","grunt-cli":"^0.1.8","grunt":"^0.4.1","grunt-shell":"^0.2.2","grunt-coffeelint":"^0.0.6","rimraf":"^2.2.2","coffee-cache":"^0.2.0","temp":"^0.6.0"},"gitHead":"bc3d3785e2de2865a43f31a6b61bca397bdf1070","homepage":"https://github.com/atom/service-hub#readme","_id":"service-hub@0.7.4","_shasum":"b6da1d1e7e9291ca56d4f3cb3d5c1fce3285a162","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.10.3","_npmUser":{"name":"iolsen","email":"ian.olsen@gmail.com"},"dist":{"shasum":"b6da1d1e7e9291ca56d4f3cb3d5c1fce3285a162","tarball":"https://registry.npmjs.org/service-hub/-/service-hub-0.7.4.tgz","integrity":"sha512-KEElYXKNsSbOOVR7BcjL7SEyQHtWuozhI6RxMSsaZyOR8q5Itao/6ig9urL6H7vDCgqjv1MNsVuvMiynHDJtTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHwjp0exiznkONp4DmGHjITmDhIiFEh1sff2P/oztdFiAiBDJzMO3zn4ceKn58BxRh1YxRRUVGPl+E5nyH2+en5Ahw=="}]},"maintainers":[{"name":"as-cii","email":"as-cii@github.com"},{"name":"atom-team","email":"atom@github.com"},{"name":"benogle","email":"ogle.ben@gmail.com"},{"name":"iolsen","email":"ian.olsen@gmail.com"},{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},{"name":"maxbrunsfeld","email":"maxbrunsfeld@gmail.com"},{"name":"nathansobo","email":"nathan@github.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/service-hub-0.7.4.tgz_1497370864849_0.8199653895571828"}}},"readme":"# service-hub [![Build Status](https://travis-ci.org/atom/service-hub.svg?branch=master)](https://travis-ci.org/atom/service-hub)\n\nA semantically versioned provider/consumer system for global application services.\n\nThe `order-pizza` library wants to provide a global service for use by other\nmodules in the application. It calls provide on a global `ServiceHub` instance\nwith the name of the service and the current semantic version of the API:\n\n```coffee\n# Provider\n\nglobal.services.provide \"order-pizza\", \"1.0.0\",\n  placeOrder: (size, topping) -> # ...\n```\n\nThen two other libraries *consume* this service, ensuring they are compatible\nwith its API by specifying a version range:\n\n```coffee\n# Consumer 1\n\nworkingLate: ->\n  global.services.consume \"order-pizza\", \"^1.0.0\", (orderPizza) ->\n    orderPizza.placeOrder(\"medium\", \"four cheese\")\n\n# Consumer 2\n\nburntDinner: ->\n  global.services.consume \"order-pizza\", \"^1.0.0\", (orderPizza) ->\n    orderPizza.placeOrder(\"large\", \"pepperoni\")\n```\n\nNow the author of the `order-pizza` makes a breaking change to the API. They\nstart providing another instance of the service associated with the next major\nversion number, converting the old service to a shim for compatibility:\n\n```coffee\n# Provider\n\nplaceOrder = ({size, toppings}) -> # ...\n\n# Providing the new API\nglobal.services.provide \"order-pizza\", \"2.0.0\", {placeOrder}\n\n# Shimming the old API\nglobal.services.provide \"order-pizza\", \"1.0.0\",\n  placeOrder: (size, topping) ->\n    placeOrder({size, toppings: [topping]})\n```\n\nIf at some point the API changed so drastically that it wasn't possible to shim\nprevious versions, at least the outdated consumers wouldn't use the new API\nincorrectly. They would just fail to discover the service.\n","maintainers":[{"email":"ian.olsen@gmail.com","name":"iolsen"},{"email":"atom@github.com","name":"atom-team"},{"email":"as-cii@github.com","name":"as-cii"},{"email":"nathan@github.com","name":"nathansobo"},{"email":"maxbrunsfeld@gmail.com","name":"maxbrunsfeld"},{"email":"kevinsawicki@gmail.com","name":"kevinsawicki"},{"email":"ogle.ben@gmail.com","name":"benogle"}],"time":{"modified":"2022-06-26T18:12:22.141Z","created":"2014-12-05T16:43:39.383Z","0.1.0":"2014-12-05T16:43:39.383Z","0.2.0":"2015-01-16T18:48:23.853Z","0.3.0":"2015-02-11T01:03:46.707Z","0.4.0":"2015-02-11T01:25:02.673Z","0.5.0":"2015-03-13T19:27:29.312Z","0.6.0":"2015-07-22T19:04:35.463Z","0.6.1":"2015-07-22T23:22:01.705Z","0.6.2":"2015-07-23T18:29:42.582Z","0.7.0":"2015-10-08T22:41:56.050Z","0.7.1":"2015-10-08T23:09:47.381Z","0.7.1-0":"2016-09-14T20:59:58.497Z","0.7.2":"2016-09-22T20:25:45.555Z","0.7.3":"2017-03-10T18:40:16.476Z","0.7.4":"2017-06-13T16:21:04.933Z"},"homepage":"https://github.com/atom/service-hub#readme","repository":{"type":"git","url":"git+https://github.com/atom/service-hub.git"},"bugs":{"url":"https://github.com/atom/service-hub/issues"},"readmeFilename":"README.md"}