{"_id":"inhabit-module-base","_rev":"54-d045adb4f5a434ab53a5dbee345291e3","name":"inhabit-module-base","description":"A Base Module class for InHabit.","dist-tags":{"latest":"1.7.0-alpha.2","alpha":"1.5.0-alpha.1","prerelease":"1.7.0-alpha.1"},"versions":{"1.0.1":{"name":"inhabit-module-base","version":"1.0.1","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-preset-es2015":"^6.9.0"},"gitHead":"34ada3ac033db0c7c03cb10cd573cd0014869981","_id":"inhabit-module-base@1.0.1","_shasum":"d7df8457c721fa83516055d5458aecc892ee6d43","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"d7df8457c721fa83516055d5458aecc892ee6d43","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.0.1.tgz","integrity":"sha512-KLpHo2DBjNFmj/2P4Vyu49BvK5HL0jVafTPclspSsVsEUL0Wglo1SPXkqnM6xKLCQt106GoYlP7BJkcGV9EUmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJ1U3S6f1AmMlV6eNUcpkbJVHoZKEypKXjZL5HYYKYGAIhAJd+uOTk4Diza5agPufNLAmpLJylWlpJmyw5yTS02sh0"}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.0.1.tgz_1469610945422_0.8152555455453694"},"directories":{}},"1.0.2":{"name":"inhabit-module-base","version":"1.0.2","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-preset-es2015":"^6.9.0"},"gitHead":"cf1b218d3cdcb3c9b87f29bb644c538664868815","_id":"inhabit-module-base@1.0.2","_shasum":"4eed1efd6365fbd53deecd5a0450ecf50ea011ed","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"4eed1efd6365fbd53deecd5a0450ecf50ea011ed","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.0.2.tgz","integrity":"sha512-fnaf/Z9A+yI8V9dVXwIENw4zqxDm6aWS5DMU0/dW4intQE/qS8vHmVo9jTbEhWuNWWuLijDUfeEvX4tTRVeiqw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDCXEbbNfm2CQygDSjhXEnGYwBpPrKJA0HHQ1OD/rBuwAiB2pqi0lPT8qrH561KU1/Vd6NN/UKNQVU3M54XCWywqNA=="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.0.2.tgz_1469611173328_0.37465247488580644"},"directories":{}},"1.0.3":{"name":"inhabit-module-base","version":"1.0.3","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0"},"gitHead":"987896d6aed4f0d57702c09ddfd57e37c14e836f","_id":"inhabit-module-base@1.0.3","_shasum":"82c75e05e974a01631ecba2890069051f4f4d704","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"82c75e05e974a01631ecba2890069051f4f4d704","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.0.3.tgz","integrity":"sha512-BNXwSlzHoseDdhF/ui3FsnvcaHzuS/mJ4vlnRYmmrF7nSEmAnEa59O8oiBCbEMA6ZI8U0u8LsIkuvTcF4EUqxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMTIR1nrRLhD3PSXvj6fqFofJbQqs2YD/yhg3TWXcxTwIhAJoog9+sfDek7J0iiXzPOAL1KgAiP1ccQL7LNkPUq66S"}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.0.3.tgz_1469612836344_0.6030660455580801"},"directories":{}},"1.1.0":{"name":"inhabit-module-base","version":"1.1.0","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0"},"gitHead":"d33c8a0fd17a08707ce52187640de64a4ccc4bb3","_id":"inhabit-module-base@1.1.0","_shasum":"757f8e22b6e08a0141e676774a185554fcf89c34","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"757f8e22b6e08a0141e676774a185554fcf89c34","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.1.0.tgz","integrity":"sha512-uFxF5rvBNtf5stSEGHtUjwPQKkfxSHKsPqwmIhZ+OWpifftyuCKDEt3ULWTcB1c1QWiD2MIFuAsoo0/ksUlUNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+jRAOEgnb8YvYk9YaGpkCLsSGIKxbimaOgNMfMBN7pAIhAOH21vMOfYDAH2KobhThh12TxO7a742SVLGnau/Zer+g"}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.1.0.tgz_1469615506978_0.6188392217736691"},"directories":{}},"1.1.1":{"name":"inhabit-module-base","version":"1.1.1","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0"},"gitHead":"6f49d772c352da3233c5d3e53982917bd591dac0","_id":"inhabit-module-base@1.1.1","_shasum":"f680375d6ca1a7281a34361faf35a6294138c3ea","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"f680375d6ca1a7281a34361faf35a6294138c3ea","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.1.1.tgz","integrity":"sha512-y44lLnNzt6XfiyvxbSOSKaycNs0Ib1Or4G9bCMnXZJkmZna9ivJgwsTIyArXGhjO0rWBPUyfmyHx7neZ51iBAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB417M/cNLKwpVulQ9ausaiK2RTyIgvsM4udonUdfl4IAiEAoK7IGJoDzO7IyXXnIqPeCa5s4W31MGblIGIr+5jAWFs="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.1.1.tgz_1469616252573_0.15371162467636168"},"directories":{}},"1.1.2":{"name":"inhabit-module-base","version":"1.1.2","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0"},"gitHead":"f62dfd66326144eede2d7afc82a96d262f138e4b","_id":"inhabit-module-base@1.1.2","_shasum":"904c32081dbba043af9c5e7ebc31ca76c51851f6","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"904c32081dbba043af9c5e7ebc31ca76c51851f6","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.1.2.tgz","integrity":"sha512-KuUN/DRwusZyTGnPP69/iKwl7zwW2LF4uXM3UNAIyTNTRKB/sr3o12Hl6ZsVW0jVv2OnmR49HUkQrs+QesLJow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICbvWdzJFoLMXTfg42aGAl9YYJlZXM065kd7KE0lKNQxAiEAofQm73zEk2Fm3oPHRbJHneOno76PmOiiRM7CSdY0iw0="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.1.2.tgz_1469624577215_0.08735320391133428"},"directories":{}},"1.1.3":{"name":"inhabit-module-base","version":"1.1.3","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0"},"gitHead":"4572adcf3eb47581eecb6f301c2c2332bf35a0ce","_id":"inhabit-module-base@1.1.3","_shasum":"fa14e32ecb9fee34664a2962e118c28942e09a3c","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"fa14e32ecb9fee34664a2962e118c28942e09a3c","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.1.3.tgz","integrity":"sha512-/np73FfUCXtlxlgE6mE25mXhozFlWcv3AJEVUSdTBFwxoAzutqqSk5ebh4bGytLw+7gyaEelTRoip6+bYpR7NQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFGZyE0/h/6/FRJPHzL8KIb840gtAWeGB6OgRDgOUnpfAiAivZp2bgr9FMhf7d+BoM3qg11AVh/BVY9KdUfxqXNFjQ=="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.1.3.tgz_1469626528443_0.2836690950207412"},"directories":{}},"1.1.4":{"name":"inhabit-module-base","version":"1.1.4","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0"},"gitHead":"f20302d7606f57adf7e6a3b98877ce2aca1bfd5c","_id":"inhabit-module-base@1.1.4","_shasum":"670056ddbd8d9d314dc8a9e720b61a731ae40c06","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"670056ddbd8d9d314dc8a9e720b61a731ae40c06","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.1.4.tgz","integrity":"sha512-esFxtiaBJQ+U9NEW9CI8UbeSHDauiOq3P4xBmoxbKpYxp/GstJ0q8iyUy0dfobFpzlBjccQFdnYCf7zOGOrMtg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAeefa2oSPyQhEfu85ken8jRNDf12yAsTEmgv+sOp7yLAiEA5IltlnuLVVhxPuazaWfvxwDb/ZPaIeR2kmeryFYdrmI="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.1.4.tgz_1469627938196_0.6339587301481515"},"directories":{}},"1.2.0":{"name":"inhabit-module-base","version":"1.2.0","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"faad787d0c47556558ed961d720f1c2d993b8612","_id":"inhabit-module-base@1.2.0","_shasum":"dac18d228c3962e74219f96d6166aed08b2f36df","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"dac18d228c3962e74219f96d6166aed08b2f36df","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.2.0.tgz","integrity":"sha512-77ZUudNIc3ab2NDy3phNBwS3b1J9uz9q9sX80lOwKVvCdR1YG2ONmtZKEfVkPKncTGFVjQJkUkkpMCApXNQcOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIATg+gxO4MQ2YBR/qiHWkFbRKd28VLNWf9msYe7ZDoWQAiEAiemZAGe0MTi/JOJr3yTanF2M7y2fA3PP24WuDn6qQRw="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.2.0.tgz_1469714615184_0.5308653665706515"},"directories":{}},"1.2.1":{"name":"inhabit-module-base","version":"1.2.1","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"node tasks/test.js","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"6b2d8062f1939057bec6d83d8e8900f9ac620b00","_id":"inhabit-module-base@1.2.1","_shasum":"e96d51e60ac3426c1689ada635113e48e94d7f45","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"e96d51e60ac3426c1689ada635113e48e94d7f45","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.2.1.tgz","integrity":"sha512-nH7hZ4T96UM/m2UE/Mg1APXIAkNaAxVIP7p/RXyeaJADViHxRcBdiALZvdThZYQX04nmbTLjD0viQkQOpPfBEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0lyH5EaBvlQpChwyit/xIjR8wn/A0OdDVPAa2iRK0jAIgKsl1jL045BiQ2T+0nWI7ntv9FVZSecJdFhB45O3xZiQ="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.2.1.tgz_1469716336672_0.9775805401150137"},"directories":{}},"1.2.2":{"name":"inhabit-module-base","version":"1.2.2","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"4138997d1680a8cb2651119d3d0415d562a478f0","_id":"inhabit-module-base@1.2.2","_shasum":"deffeafa5e0d376f07177fe5fea9648eea9bc032","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"deffeafa5e0d376f07177fe5fea9648eea9bc032","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.2.2.tgz","integrity":"sha512-VedS+R0QSdubcD6ev10qSNBbLRS7hKeUN18sygc1x1OTy55AFOIpZbpEz7oKUUVUCcq/H3AflWMtuLzYBxcaiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGBY7xiy8m2FBKKgwPrtUzwf8S0C8sTE7GiqWTO494ofAiEA0wlRJN6McxRQIaqSp9EgBWyDxzPiNivBlocrUNMx6N4="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.2.2.tgz_1469719412889_0.952280513709411"},"directories":{}},"1.2.3":{"name":"inhabit-module-base","version":"1.2.3","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"a37f521e60e75e6a97394e65957680443a00b610","_id":"inhabit-module-base@1.2.3","_shasum":"de1b2e9f67710c5855c5d47bdf6701aaeb25dc00","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"de1b2e9f67710c5855c5d47bdf6701aaeb25dc00","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.2.3.tgz","integrity":"sha512-QKsLGFeCBdXbJnUrgq03bYC+5FLrhJ5yzvjXKBZKSWP95Igu722CscAGtFYuT1PVss3xa3ZhwBcQ4pm0J+DVAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGkK6jUEHS8u/6jYxTZuPFS07D2w4MGF/hPkrS9qy5p9AiEAoDDjk+GbKLAncsjAaB5EV1xWVNL3z0DngAkvzk9gcc0="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.2.3.tgz_1469785974939_0.5671511390246451"},"directories":{}},"1.3.0":{"name":"inhabit-module-base","version":"1.3.0","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"2b6f3547bbb61daebf4264454b2b4cc29620e0c9","_id":"inhabit-module-base@1.3.0","_shasum":"1873a1cfc099ac36765ac942f89904f6b611bf15","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"1873a1cfc099ac36765ac942f89904f6b611bf15","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.0.tgz","integrity":"sha512-lgwvc0dNabfE3TvwM44DwZ7ysHBzBs0QC3J3DvoFQhNAzk0FGUeyjgdY1jiym7dMe8e2tWpNhoACz/yGEzsNaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQipX1zEvh95fMtU4a+aGkYiB7+zomNQ/PyFIGCdjH/AiEAs4KGNfGMvGGDrQC1wRgEE9me+mGE3ryxRwV875NPO58="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.0.tgz_1470144398384_0.21445398195646703"},"directories":{}},"1.3.2":{"name":"inhabit-module-base","version":"1.3.2","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"762945fda497fe5b6f5564e3641c0cfccc6ef821","_id":"inhabit-module-base@1.3.2","_shasum":"3a7f0a946a5d5854e69d8fb76d4b78abce254449","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"3a7f0a946a5d5854e69d8fb76d4b78abce254449","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.2.tgz","integrity":"sha512-xCKxn4m437TMTIsuUhkEZ9jm8b8RebrwG7kzm4OMC56X047qJ/kB8hLTcQprqNBkPZDsey5qG+x1builLqjUww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFHrWb4HJ51QFC0VgArxDU6u4iP5Nu+gypF7bgqZZgDAAiAVC4OA+4fOA5aV1TqzZc/SBsthLG3AzCtz+AN542MIIw=="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.2.tgz_1473687503192_0.8159808188211173"},"directories":{}},"1.3.3":{"name":"inhabit-module-base","version":"1.3.3","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"04f96c958a2eb01842844a9ccc607f4ec126727e","_id":"inhabit-module-base@1.3.3","_shasum":"0782f197451b69830ee76283fc9975a6139684ba","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"0782f197451b69830ee76283fc9975a6139684ba","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.3.tgz","integrity":"sha512-xRY0OvkiX/+VsgcvfqRwDHPwYFwV8jCBC6tsoBt2u+vNLFSRBdRoMRTSpohAp08pyeRc66lU1ZiJjcUgJVut3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ8wTBW4ciNj5GPzTsvULhgPy2jNrF6jpgGa/rd3OT8wIhAN5V0I3VhLSJECREZFIALF+FnevBdFWYpvRd/SkKL+sR"}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.3.tgz_1473688180195_0.4854609598405659"},"directories":{}},"1.3.4":{"name":"inhabit-module-base","version":"1.3.4","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"2254afd66ff7c30fab650c04f68c1ebf2371c823","_id":"inhabit-module-base@1.3.4","_shasum":"734b36c9aa814183945ebd99428e1842bbe30231","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"734b36c9aa814183945ebd99428e1842bbe30231","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.4.tgz","integrity":"sha512-fIhCu34HQOiJ9iTDiNMF5z0CjNTNh5vZGA1ZznK0bIXalwSessdKnK9+N0nD8PpJlrMHXENOv4M1KD4XFJOzwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHDqble40d5ZlEwKRZKqjpXfLF09qc5F6+hwCsM0mIGOAiAGXlSBGZhL1tpqW9w3wRtX59Hygs8qtUjvyTabuoUyAw=="}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.4.tgz_1477060796620_0.33963601128198206"},"directories":{}},"1.3.5":{"name":"inhabit-module-base","version":"1.3.5","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"36f1ac740449c2c0781e62eefda10b28794b53cf","_id":"inhabit-module-base@1.3.5","_shasum":"08a3f73e21b5e6fc867ca30fa0d3b85ed30fb10b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"08a3f73e21b5e6fc867ca30fa0d3b85ed30fb10b","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.5.tgz","integrity":"sha512-SiKo950PLwbq0GhCn+3fyPx0oGJBm/gZ7VU+0uZPzK4wmfJkqoOGvHwHHholkZPNIQdqRKXM3SOIju8J3KVA3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa8P0XvmQ5QobgFeiYxWQDl+fOAcAOeY9Qsy9bUXgPkAIhAOV5Y+xn9Huw47959LdqL2LyPZzJGGfo4eWrUl3DASLO"}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.5.tgz_1477320633272_0.48215765436179936"},"directories":{}},"1.3.6":{"name":"inhabit-module-base","version":"1.3.6","description":"A Base Module class for InHabit.","main":"build/InhabitModuleBase.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"7f2566fb6e19414fa676daa65ff61d5157476d22","_id":"inhabit-module-base@1.3.6","_shasum":"3d3a130d4d8ec57ef097f9ee3a03b525634310fc","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"3d3a130d4d8ec57ef097f9ee3a03b525634310fc","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.6.tgz","integrity":"sha512-CwYnkHrpq5fz3NndtyQfn+t7lyCq62TIdNvG8tT0m+od/26KwyUhgIN1DSxrwj4Vfu1vW48bmYfX7zFDeznnkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDzYUkcfv9GdyWcfXoUE2NOc89u/fNsxRufFKkYtGyYKAiEAsoVM5/7SarZydoNOLagJEbqVLgYLJ3lTkLCCHncicO8="}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.6.tgz_1477320922306_0.9429784002713859"},"directories":{}},"1.3.7":{"name":"inhabit-module-base","version":"1.3.7","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"b111c563e315713fe32661d849a66e647e4da42a","_id":"inhabit-module-base@1.3.7","_shasum":"da36d5783388a59eef16b10dea1fa33e8ceb4532","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"da36d5783388a59eef16b10dea1fa33e8ceb4532","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.7.tgz","integrity":"sha512-MTUm72FRVzZwL6uNDl7A5wn11/Got+2gPBG2tg8uBVcAlT5MWLpg7R77udDAJOoStfFwvIZ2LTUYkoPTYbd66A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9UrM1fMRjj3ABC9sHwFj025yxyMxAaPW5ivpkEaXPAAiEA7VahEARI72WhWv3kM1QBHaAXn8WFMsMSqbqkspIG4wA="}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.7.tgz_1477321528467_0.4503013729117811"},"directories":{}},"1.3.8":{"name":"inhabit-module-base","version":"1.3.8","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"b6c427385a43dbcf19ebec0c061fff375677379d","_id":"inhabit-module-base@1.3.8","_shasum":"89d1c5a214801550379e402831e70ee06c50405d","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"89d1c5a214801550379e402831e70ee06c50405d","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.8.tgz","integrity":"sha512-z4AxN+GKAie5cdriJqDJqFuLbL1dvS/xeZ3upo3v/nYwVkiTtCW0YPRfgT+nHcHKLqatFGK+Usjc+naMPp/ZRQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8DhGr+2NGD5jatsCHpNhqbrgOmn8rJw0fEE2HTfMezAIgQMMi3lc12BIgFpb4T19S2ACjzNwdN++ThRQaG0PUS3A="}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.8.tgz_1477326290526_0.8424797498155385"},"directories":{}},"1.3.9":{"name":"inhabit-module-base","version":"1.3.9","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"fa0f06b4a84bfbf691fad1a328e9781354a40d29","_id":"inhabit-module-base@1.3.9","_shasum":"5b36946e88cd3c58dd56647b5cc2a530771b2850","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"5b36946e88cd3c58dd56647b5cc2a530771b2850","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.9.tgz","integrity":"sha512-nte0q6TWzHdC8r+0ogGy5UCrtuO/yoMj5KLu9DgBTXHasd/g0XEjT35shEf2gUm+vrGtzkM9FsRcdKrjkIK09g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHQp1mKwJme+PgQbq25jUAJjLvmYoCARbjRn2sPIB0uaAiEA9y3hA26QbZRbPgetOG0WnPuz+A9LRgjFeW5Z7CZBqL0="}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.9.tgz_1477328254767_0.23777536093257368"},"directories":{}},"1.3.10":{"name":"inhabit-module-base","version":"1.3.10","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"551c971ed5f182742d4cd69d3288e304e08c22a1","_id":"inhabit-module-base@1.3.10","_shasum":"bff58a71c2c824e064fd31fe97173477495dfcd9","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"bff58a71c2c824e064fd31fe97173477495dfcd9","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.10.tgz","integrity":"sha512-0AI2wiN9TZWlHwBxJqL0w0PjnJ1i1X6LbX12Pqz0uo92L7XqT1Te6fi7dGuYmLMNOaWrxDLR5tH+sYvgMP232w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEJLGjXS4sdHr+yR8hyH8HR38SOnkWdQDzyxW+Y1RceFAiEA1zQpKnQxMGS8T0oJl6fsMpXacIyKa6Ru7R1uEEelUzA="}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.10.tgz_1477329033957_0.6115400185808539"},"directories":{}},"1.3.11":{"name":"inhabit-module-base","version":"1.3.11","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"29e55e313ab9cb9e5f62d68af7108e83d2fdd5f2","_id":"inhabit-module-base@1.3.11","_shasum":"edce22f81d299fccc650717d7541ab9ddd178950","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"edce22f81d299fccc650717d7541ab9ddd178950","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.11.tgz","integrity":"sha512-IlXWpi6JoV4Mf0HV4XhyCbiQk9Gk9hxgKmp/jiDVAMX7kij2XaweqvT+EeEmKXndbuSuGddEVViNxZ+yYKmgsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYTGTtbPGsvIMS3Qogpoqc2d7LQ12iRJg7mbsoX7tgmAiEAhSXEVXhHTUrLJ8zwB2HxFcSAofd/prlYGff7PoYtKCA="}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.11.tgz_1477329225533_0.8326869930606335"},"directories":{}},"1.3.12":{"name":"inhabit-module-base","version":"1.3.12","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"0b66229b792f602b876f4417b1b64584215cbb6e","_id":"inhabit-module-base@1.3.12","_shasum":"943fca36cbadd03d62ee789c65f2c8ad7326c4e2","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"943fca36cbadd03d62ee789c65f2c8ad7326c4e2","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.12.tgz","integrity":"sha512-BEUR9uOgv0OypiMhEucdklNN3CEnc//uLlZBeM2seJi9ypzECwdSMoK7JUZJX8ylcc94EsMJXCzLjXiZ2jM2XA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjOyX5udO5En+lMs6HZLh4erwGhuhBNGzdha0LkRmEfAIgHVMqH23b7NVL37YuDkkWU8T4DM5hiu3goxy56bQInk0="}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.12.tgz_1477329265853_0.7693364273291081"},"directories":{}},"1.3.13":{"name":"inhabit-module-base","version":"1.3.13","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/rand0me/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"rand0me"},"license":"ISC","bugs":{"url":"https://github.com/rand0me/node-inhabit-module-base/issues"},"homepage":"https://github.com/rand0me/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"a8ee298b071d7d6ef44e161d10432e65b8e87f07","_id":"inhabit-module-base@1.3.13","_shasum":"95e25356689b3a5377d7e6f9a940abaa5dfeaea4","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"95e25356689b3a5377d7e6f9a940abaa5dfeaea4","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.13.tgz","integrity":"sha512-N1JAVBqsZZTtFi7RbcdA6l9Pa6dCYCl2uBwYBARjYg+CyYnI33M6Y++d2I2ze6WlBBxJKEqUck+JT4Cu4tU1ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDttThENnDFc71bp3gFqGY4SEOZbCcbJfS0R0vDIQhCEAIhALR/KksvetuPS6xtnh8KR9pMejddlRI8tETLHi5Q7w2M"}]},"maintainers":[{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.13.tgz_1477337727597_0.372238427400589"},"directories":{}},"1.3.14":{"name":"inhabit-module-base","version":"1.3.14","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"d395c426ffdd9039c0603a1b793b3e1cb1ad5e56","_id":"inhabit-module-base@1.3.14","_shasum":"84de3a76645b1c857cf509cdb446328ed7ab0790","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.0","_npmUser":{"name":"georgiyn","email":"turbodeveloper@gmail.com"},"dist":{"shasum":"84de3a76645b1c857cf509cdb446328ed7ab0790","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.14.tgz","integrity":"sha512-Ys9l2P5lU0c4YSCWxJOUlxwUH01o3aa5nPkJzp9gBsx61F9H/oGdDCinDyjplhloLTT94W0/R15SDPgz1o+7/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSKHd/zwBConFOExuaBiHt/gIal9ZXFwUi5LZ+vMZFIgIgIdikREO/6p6F8mkeBt1XnoiBtYI/r71iS2LL7lYWsVc="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.14.tgz_1478796193293_0.615633187815547"},"directories":{}},"1.3.15":{"name":"inhabit-module-base","version":"1.3.15","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"229129cf19055341e956373184f820397ca57eec","_id":"inhabit-module-base@1.3.15","_shasum":"3f1105705a107c4d6915cdc73fc9bdd122bdb025","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.0","_npmUser":{"name":"georgiyn","email":"turbodeveloper@gmail.com"},"dist":{"shasum":"3f1105705a107c4d6915cdc73fc9bdd122bdb025","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.15.tgz","integrity":"sha512-fIEQYL5M5HPsfg5Lf5IhN4zBwapbVh22tCZvyrU0NYaJw8tynkmf3pAIc8qU7w4QH+b9XH4KGy4FVUy9Z3wOqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQMgkRNjc485Xl15Xd/sMmSIktK4vhTSQUA41zKRN36AIhAOK8wXOzBl/Tvjtg521v+0oC6wz+Df/mzAdDGplYA/RA"}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.15.tgz_1478856963997_0.7015573855023831"},"directories":{}},"1.3.16":{"name":"inhabit-module-base","version":"1.3.16","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"33cc0cc8ebfd0599bc451aa1c902019b20f6063e","_id":"inhabit-module-base@1.3.16","_shasum":"78294676ea8ea0c0dc5e19a23052856109a30f8e","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"78294676ea8ea0c0dc5e19a23052856109a30f8e","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.3.16.tgz","integrity":"sha512-DxOIQKAnZ+TC7sVaZPtSz/sihB6vcTIJokjSAKewGPv84lTrUs2Py/ST2n3MyiZbdo6pZR0vvjGgYRqsj2emfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgX+lhGJQX2RX7eiasdF9bU1189B7IjVMTimKJ796rtwIgHDUGk3PgoJeHov7QvmzPGoo3+lSVjF5VdzBUZQsis7E="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.3.16.tgz_1480946743790_0.8657489803154022"},"directories":{}},"1.4.0":{"name":"inhabit-module-base","version":"1.4.0","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"5b23cfede6dff2933a52359281f104430897302a","_id":"inhabit-module-base@1.4.0","_shasum":"85f2e3823691f9ea4a9b9c93db56b0db276e01c6","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"shasum":"85f2e3823691f9ea4a9b9c93db56b0db276e01c6","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.4.0.tgz","integrity":"sha512-LcNQmnoUWbAsdZ5xTqfK4HJAkCiPd0nHxIBdU6wWbokC4InIZjqIPsf2j1MBBkmaI/0sKA5UTtlA6KyKfDnsag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzWWUe+X7pJSHCj3VPzaUWdugMS9R993BtL+w1gFPftAiBSWnReb2bgr0Xa+8luvIziRzrAtt4MvqggkIL5h8/T5g=="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.4.0.tgz_1481712736123_0.32586244074627757"},"directories":{}},"1.4.1":{"name":"inhabit-module-base","version":"1.4.1","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"f24624e58d5e45516f33c47c2785598f913f7920","_id":"inhabit-module-base@1.4.1","_shasum":"9498a713ef1d26792c821c574be07650ca02cab9","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"9498a713ef1d26792c821c574be07650ca02cab9","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.4.1.tgz","integrity":"sha512-1fFsagHluDPvfdeLVzQ+LCYW+9iIwNAdoxCHcUO937Zwm7/YUy1TRMW2c1CeAqMZiQp2iMXVYutX4X1IV+yFpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJeyI38C4gEjRZXWwDndylueXdJche0QPP33fKCPZskQIgB0nYKGKDSpbqaj56kndeSUTYjlJXlSnHweo4C6ZNBiM="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.4.1.tgz_1482166734525_0.08601364959031343"},"directories":{}},"1.4.3":{"name":"inhabit-module-base","version":"1.4.3","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"gitHead":"c69c7697689187fcbaac18685a3586cbcd1a16e6","_id":"inhabit-module-base@1.4.3","_shasum":"f29c2b571ea5c893e58604774fb7d83bc4cb7958","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"f29c2b571ea5c893e58604774fb7d83bc4cb7958","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.4.3.tgz","integrity":"sha512-kQJGrSTsToQt4yCej+QCwjNvtBoJG0aK41NqDRLsnbd3jbcR4Kqe2ko1I5WrL71iAY9bfVFSEwvgGRU1W+pCYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkkNf+NqFmWnN1g6F74Z0rQVN/iNLIg1wXQI+CHx59VwIgEQBE7bFZIioLlqdDdYlR//lf4uiITVviXPKt5CX6/KA="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.4.3.tgz_1485271617450_0.027450279565528035"},"directories":{}},"1.4.5":{"name":"inhabit-module-base","version":"1.4.5","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"commit":"git-cz","release":"standard-version","test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"gitHead":"3196b0c794758ee2964764fc6e5290345961d759","_id":"inhabit-module-base@1.4.5","_shasum":"4acdb9e5eddfb912288c1bfb39434f8226e00f2d","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.1","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"4acdb9e5eddfb912288c1bfb39434f8226e00f2d","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.4.5.tgz","integrity":"sha512-5Lo6gnl/1smpR4MwTY49NU0mpJMXdFye/e+SJYEMjmVm+aKI596Q9BxlWyDhVt+kNQM4PtvFjVcNdsWp7fGIKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGA9aMCrVym2FxB6+YlhyiP112kzgJQ5L/CLUT3s8rZMAiAXvmZogJ1uJKQBtiqhUyHmW+fdcdldjzPVfCvBbgXmCw=="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.4.5.tgz_1488230777678_0.5189223575871438"},"directories":{}},"1.4.6":{"name":"inhabit-module-base","version":"1.4.6","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"commit":"git-cz","release":"standard-version","test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"gitHead":"0be4541a6df33bda0f6f15a1c8bae1f126e8dd03","_id":"inhabit-module-base@1.4.6","_shasum":"29b62c654cefc58ca1e8b13afd133eb28e3d7f69","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.1","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"29b62c654cefc58ca1e8b13afd133eb28e3d7f69","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.4.6.tgz","integrity":"sha512-wx2mLPS54Iexx1ayfh74GMk+OLoUM4Muw5tX31/Rh5cAsifGFwwWlxJYRo9+oLehoKQZnkSHF9/oS2eNzXc5bQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAMPiRJcHZQ+ewbikuSjAj9IHKzNeaGDQOfj+JxPWNJlAiBNEAMxnIxCU596Eym40p0iwgrcUc2eX3qJ7xE1yFm2DA=="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.4.6.tgz_1488232261792_0.23560113552957773"},"directories":{}},"1.4.7":{"name":"inhabit-module-base","version":"1.4.7","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"commit":"git-cz","release":"standard-version","test":"tape tests/*.spec.js | tap-spec","build":"node tasks/build.js","debug":"DEBUG=true node tasks/build.js","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"babel-core":"^6.11.4","babel-plugin-syntax-async-functions":"^6.8.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-preset-es2015":"^6.9.0","commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"gitHead":"e39e9958d6c20fa4698a8c4c3ffb235f8c2a16f3","_id":"inhabit-module-base@1.4.7","_shasum":"f3c21ccc97a571b01a1d784032c2351476ec50e8","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.1","_npmUser":{"name":"wishmasterts","email":"wishmasterts@gmail.com"},"dist":{"shasum":"f3c21ccc97a571b01a1d784032c2351476ec50e8","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.4.7.tgz","integrity":"sha512-KnX2DKh5AAxPSMnDQCX0J63znzrlq91JI5QMSz662NM05v9ITAJau1P+4OGhVrbYKRmE8kCHD6fscIdO60H4Xg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGazUeqzeIquX8/mo7Rtookv9JWk5e6bh3tXclRvgcBSAiAZrO+PVbQvxqa9w6igXXmP7zv9merrOQz5hEYV0IO/Kg=="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/inhabit-module-base-1.4.7.tgz_1488232412320_0.6354736620560288"},"directories":{}},"1.5.0-alpha.0":{"name":"inhabit-module-base","version":"1.5.0-alpha.0","description":"A Base Module class for InHabit.","main":"build/index.js","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"gitHead":"c6e77d0d7faa851e208ed05d81fc6bf5689936d4","_id":"inhabit-module-base@1.5.0-alpha.0","_shasum":"72cc28b544357d6644c5608f74dcff1c85855268","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"jujyfruits","email":"beavermark93@gmail.com"},"dist":{"shasum":"72cc28b544357d6644c5608f74dcff1c85855268","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.5.0-alpha.0.tgz","integrity":"sha512-vWWvAkPLITHxK5ytlL9S8NOCyzHjDmT2kCfuaX+nCdZib59BqPidVcnSc57hzFtWE/GV4aYEFs+sePgH6qeiwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFY5nLVxsF0bhEZh+53S2bHLZRdyivLnIbN7Nou0JlWGAiA5AkrXH8ri6VnD3xvOu69dQaykeWM2RQcuQYx65rOKgw=="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"jujyfruits","email":"beavermark93@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base-1.5.0-alpha.0.tgz_1495535969256_0.4208106866572052"},"directories":{}},"1.5.0-alpha.1":{"name":"inhabit-module-base","version":"1.5.0-alpha.1","description":"A Base Module class for InHabit.","main":"build/index.js","types":"build/index.d.ts","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc","prepublish":"npm run build"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"gitHead":"e0a71a489c055a76834415c2c62d0ac5ebe4141e","_id":"inhabit-module-base@1.5.0-alpha.1","_shasum":"1cdb6bea56a307a7976c44c1030410f187d45cba","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"jujyfruits","email":"beavermark93@gmail.com"},"dist":{"shasum":"1cdb6bea56a307a7976c44c1030410f187d45cba","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.5.0-alpha.1.tgz","integrity":"sha512-N3WH5oa5apZ8IiFs/zcx2gk26bcjyfDgcj8yfLfVjGzkge6x9L2ZPF8CjgGc4ubkg8kj9zy0A3xngHAbasf2Ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeL75s5WVU+lvgbogEs0UaNFWJZFjNi3SwxwMRq97z7QIgBKqPOgq8G+KDQz+p9uMcjEyujMUzO+/z4kL4e8R/thA="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"jujyfruits","email":"beavermark93@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base-1.5.0-alpha.1.tgz_1495536769831_0.4769203192554414"},"directories":{}},"1.5.0-alpha.2":{"name":"inhabit-module-base","version":"1.5.0-alpha.2","description":"A Base Module class for InHabit.","main":"build/index.js","types":"build/index.d.ts","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"extend":"^3.0.1"},"_id":"inhabit-module-base@1.5.0-alpha.2","_shasum":"63c9a48b8aa38ce9e6d695d2466057dda95c8a13","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"jujyfruits","email":"beavermark93@gmail.com"},"dist":{"shasum":"63c9a48b8aa38ce9e6d695d2466057dda95c8a13","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.5.0-alpha.2.tgz","integrity":"sha512-x4rajANwASzosP7Q2z3o1AyWCIC4cT+/gvydP3L438CYAReuRMGYlBJuQFRSwg2BTEERWJbkkCsTMc26ur0sQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtqBAoEsyVr5cwpxHDgov9Y2sJPZ59psIKhwd6FuOkuQIhANPq8g1KuvpjfnrmF5pXAwEnFqb10s/P5fCakr2sg9Wy"}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"jujyfruits","email":"beavermark93@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base-1.5.0-alpha.2.tgz_1500309840687_0.7608892659191042"},"directories":{}},"1.5.0-alpha.3":{"name":"inhabit-module-base","version":"1.5.0-alpha.3","description":"A Base Module class for InHabit.","main":"index.js","types":"index.d.ts","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"extend":"^3.0.1"},"_id":"inhabit-module-base@1.5.0-alpha.3","_shasum":"bf4a417d2e0286dad3d8d3ee655b1d9a958fc0d6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"jujyfruits","email":"beavermark93@gmail.com"},"dist":{"shasum":"bf4a417d2e0286dad3d8d3ee655b1d9a958fc0d6","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.5.0-alpha.3.tgz","integrity":"sha512-JU96fWMfcxYAbRA8B+tHDhNxR4PXfbx+bLKkXn68xABJLDeopG7l9Uy94D+VHbX+SbSguBICIjCfaF6YtEsHrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFwsbfdCi3yVeEFBdg5AOO/cpi9VS4AXbY4mnIVriiomAiEA0kSkvR9IWG5AjEH9yLZj/vCAVsYv8kNlOAbCE7XBd8c="}]},"maintainers":[{"name":"georgiyn","email":"turbodeveloper@gmail.com"},{"name":"jujyfruits","email":"beavermark93@gmail.com"},{"name":"wishmasterts","email":"wishmasterts@gmail.com"},{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base-1.5.0-alpha.3.tgz_1500310425507_0.9327041271608323"},"directories":{}},"1.5.1":{"name":"inhabit-module-base","version":"1.5.1","description":"A Base Module class for InHabit.","main":"index.js","types":"index.d.ts","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"extend":"^3.0.1"},"_id":"inhabit-module-base@1.5.1","_npmVersion":"5.3.0","_nodeVersion":"8.0.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"integrity":"sha512-gtPI5LAVAPUgpAGYGdH83BRCvnmydA2+5ZA8iiSCtwbZYtj4kCcfWVn8FKzduCnrfoFW/z7H0Vn5QfYc5uHB/A==","shasum":"9beb33f3dce90e21b36f6b38a680b01b2c48c6b4","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.5.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/2leo6keSaOYbtNfiPYJrMJnXizl/45Axb4ToiAXcHgIhAPtb20WsJgobFuxYk6LMAFCJOTP8LgA0bWjh212qes8b"}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base-1.5.1.tgz_1503331358062_0.47570059122517705"},"directories":{}},"1.6.0":{"name":"inhabit-module-base","version":"1.6.0","description":"A Base Module class for InHabit.","main":"index.js","types":"index.d.ts","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"extend":"^3.0.1"},"_id":"inhabit-module-base@1.6.0","_npmVersion":"5.3.0","_nodeVersion":"8.0.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"integrity":"sha512-OfwqYs+nvtNN153ZnnF3VT43AmyCIJfYtRAYoL0b4VFSWtFGvQ2Q/Og7v9leNAlXjIUr8dKKlmM17icJrPwNFg==","shasum":"3f71828e9471b788977b02bb178d9b393ad838f7","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.6.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGLU7tQbF5ZT6oX9EVlxvy5BdzbFVGnonvgcRfuZ0LYpAiEApYDHe4HHy9DSsk7Rli6IQcDhHrYtJGzrjlHVtawynjw="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base-1.6.0.tgz_1504196243446_0.45732127386145294"},"directories":{}},"2.0.0":{"name":"inhabit-module-base","version":"2.0.0","description":"A Base Module class for InHabit.","types":"dist/index.d.ts","main":"dist/index.js","umd:main":"dist/index.umd.js","module":"dist/index.mjs","source":"src/index.ts","scripts":{"commit":"git-cz","prebuild":"npm run lint","build":"microbundle","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","lint":"tslint --fix src/**/*.ts"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"@types/xtend":"^4.0.2","azure-storage":"^2.10.2","commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","microbundle":"^0.8.3","pify":"^4.0.1","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","tslint":"^5.11.0","tslint-clean-code":"^0.2.9","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"xtend":"^4.0.1"},"gitHead":"93663f77cd4619dc72dfcfbec25fc4382f9aa094","_id":"inhabit-module-base@2.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.3.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"integrity":"sha512-XgWilrHoKg2byd56vB3xDiZ6LlyyfcbPQRmiUeCibVHGKIZaYy8f+GxzI6dg50jDsb3lClFqdi2AAGx7GIZTZQ==","shasum":"39b37b27c52a65137358e47e1a54f087fc732188","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-2.0.0.tgz","fileCount":25,"unpackedSize":168841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcE8TNCRA9TVsSAnZWagAATtQP/3JC5WrUtQBTFG/Bp+5o\nIBQYrvhCXmEYiaUqN776SLFE8jOk9pWIP+SJKf9mH16jWFGFwm7taXoOe4fG\nnxHwZy86NsaGU/u87brpwecpdOU79aujJYUVoVZ8LfouSW5a0XJ/CBSSOpP2\n37YDYasoaHZf4NsHSCZZ7NWDu6LSt06XkTO2y/L5fIY240UoiiaXO8KM2tvz\nU9tBiMJ7jTEIdzX8n+36DFd4YHaj4ZXM9MhpyMQFl+L9Qfw0Kat8O8wtczWa\nfzHJjqYzZzgBwhI3pXbTW2rjH41KzDP/PZrFGa8R/X4pWlnT8NQVYemSTEKC\n+F/jTgxpz/MOV8Rq0rCXvHrQmxnO3sJ2jGzWgSzOSXLRPpwDt9efnMfmYV8I\ntEaJPdi2Fn1MQgjI0JZA6vel3tFEyIVHbkutHGcvMGhCD2qq8HNFes+HQKDx\n21geW1Q7cR3ZHtVJtPxnHw5SeuN9a9FHgL8N4MuDU5RU0X28S70gAlBnynlj\ndSwT/TVT6W1Pt4v8RtcB+JS4F306Kn0wOMAT5PObuy7W6t1lnOKoBZ1XMKlw\nKZyKzj9h6IjLQ9Uub21WyoQdQKCk45PQIWZXa5bnONeN+XV15bmnu+nC/Bez\nh2YgR7Pi+Sb5QbFsoitFkGArfBF8/6bL293cnmzbefnA5iBazZ6YSzVr16Dk\nWX9q\r\n=rvM0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnu6Hb+TgpWz/v2fsm4GxroChREg9MLS7Daoh2OJhv9QIhALjCHNNhOETDsc5NRd6gnVY00y8u5lyzP5wl74erq+Se"}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base_2.0.0_1544799436507_0.2730679907767548"},"_hasShrinkwrap":false},"2.0.1":{"name":"inhabit-module-base","version":"2.0.1","description":"A Base Module class for InHabit.","types":"dist/index.d.ts","main":"dist/index.js","umd:main":"dist/index.umd.js","module":"dist/index.mjs","source":"src/index.ts","scripts":{"commit":"git-cz","prebuild":"npm run lint","build":"microbundle","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","lint":"tslint --fix src/**/*.ts"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"@types/xtend":"^4.0.2","azure-storage":"^2.10.2","commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","microbundle":"^0.8.3","pify":"^4.0.1","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","tslint":"^5.11.0","tslint-clean-code":"^0.2.9","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"xtend":"^4.0.1"},"gitHead":"26a1cc1c371164c661a5417bea7d568992185378","_id":"inhabit-module-base@2.0.1","_npmVersion":"6.5.0","_nodeVersion":"11.3.0","_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"dist":{"integrity":"sha512-07HIWqBsjhKYyMxOXNLE8N/G/pHnwr4XVHXUjzHlvi7FY7pKoMiX8TxhN4UBQVHEoDf5oYKp5HrlPjNGiZcblA==","shasum":"25e4ed497030f57ceef1cbfeaa2b4e8ce4d6d139","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-2.0.1.tgz","fileCount":25,"unpackedSize":169553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcE857CRA9TVsSAnZWagAAXNAP/isYXilPOXARPXAeXcrV\nMVrklimO7Li3e/1EEHjt7b4zK3w2mHtsOfA2z3hzo3m0tZFsl1TMM9yugmQB\nonMSJevNssgLxViLMPa3TUxsYwRBrIbQdHsgstL+nDQEii4lLuV9pV7CcmF0\ncOIQKfacLx3zS/ySwHGdb4h0XuMn2EGt4X1O6Tshmzh8VLOd0VdiB7AjE9z1\n2wd4+fjmm/y1E3JzYrso/Labzkkk+cl+UNCt7LQudZ6iCIilE36OaSFQakTf\nekH0IZCMNfIavo/9AB6wUgtA9JLgHshUs9e0CH1QfU1IttrM6dmQ2KNyoZGf\nGN7J1tmsVzbA2pNmaMfq/LpODYy6Xfc0c4rBXdJlMDKbSbA+riL9MmUP7rGG\n/n57RSX48JFhW6AbdXsnJQJ2zb68V5Bf7DS3RTMOqUwME+epByDxH0U7KE9f\nSaph4Dscq5qyKLCxC/wxejs5xmLuM2ehrd9npOVmQn2U6T+4uZ/mCnWXQ/Z4\nAPB9pKh/kqSoPAaALfUm3EtwAOU6063yENzk39MAW8JC0zPY6WGhyI1vwpxm\n7g8u2QKno17x6Oq8E/iqSrIKOQOAObQEuNEgIJaZVPvbxsmvKNmfwUu6VeO9\nDkB37msPAq1s5pbs4h8oKs8jgelWBZ5/Z5gJzzinKjC7xhoT4e4YQat+W/lI\nPKa2\r\n=Zeiw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDb6kryJOFrCiOTp5/RC+lno0IyzVny4kpQobsb25mvlQIgFF7liXN3PEaTLbSMDjp0N8hXosRoOrklJQ7rrubv70c="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base_2.0.1_1544801915096_0.444236633571792"},"_hasShrinkwrap":false},"2.0.2-alpha.0":{"name":"inhabit-module-base","version":"2.0.2-alpha.0","description":"A Base Module class for InHabit.","types":"dist/index.d.ts","main":"dist/index.js","umd:main":"dist/index.umd.js","module":"dist/index.mjs","source":"src/index.ts","scripts":{"commit":"git-cz","prebuild":"npm run lint","build":"microbundle","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","lint":"tslint --fix src/**/*.ts"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"@types/xtend":"^4.0.2","azure-storage":"^2.10.2","commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","microbundle":"^0.8.3","pify":"^4.0.1","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","tslint":"^5.11.0","tslint-clean-code":"^0.2.9","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"xtend":"^4.0.1"},"gitHead":"08209906ca36b0045a4e4c7bc8125528a6f2d7a4","_id":"inhabit-module-base@2.0.2-alpha.0","_nodeVersion":"11.6.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-WNQwdJJIuJ/7YxnSwTizxvQ1y0sKitDk0uvSppurGNOzVaIt+u4kT6snkosU42oGi0/ed0t6QgIM51ph8PuPdg==","shasum":"be9c6e0fdaad21cd73ae92d008a7384da55631fb","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-2.0.2-alpha.0.tgz","fileCount":24,"unpackedSize":113030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchobFCRA9TVsSAnZWagAAf70P/3A+E6dWmIMuzmMdUE4q\n/JGfwSM+8yrdjJCkNkZrdMm8wqbWXYZUgpRlJUeQpDiHEug+SqdF4bzA/LyF\nDMBVq1oKqgDuYEjycYzq6URpLUd7gmANi8KPeYJEyfZg89pJ7YKx9OEQOIrh\n9wFT0OQvUpNfS2d/tmcOz8KIrb7oaWBJOWbwX4QHny+R1VJ/AIo18id/v/mB\ngMx2AqDZd/IK/7c6LjjiDWMDyOEVFHluAo5GEbZR+MOFi7KXjGMmcbiDNxjN\n/41BIDEwKYnEZhLqWbFPc3i5BHV9vqhAwzADvDT6utmtvWxtGLnf+4MrCSqI\nK87hhokBbb3fFvW1lihll09aKqKI5Tj6r6tqO1+B3o9Td1WqVh2J10Ng8z5E\nQoWhJBabOsICpjv/ssy8vxDEcx2+bkpzYxtAg/GTXvoiceO3S4Ulua4q/0QI\ntzW2t62l/6HqFuON9yIHSx8WChVmwSko5BtqF1cR47Q/YV6lfwQTr2XDg52X\n+kf3oiEs9SIKjCo21ooD3yTvzKhZxjptQNUp22eBJkvoR37WNk7cf/hQBhFs\nGmfqPo9C68rG736h18WQbKq069CaiqK83Rw3VRoRBhXeWlS09hVAoXcODlC3\nx6prjtE6sVuuTSCoY/RZxUjbeGHymL2rGIDHB4h2Wuz9bbQcdm5DsjO2bg3i\n32nh\r\n=LXEy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHNuioQMd4eTw8CoyoCD43wRZyFg/Uo31379jjrz0vi3AiBU2SWq9layxWD7AxmLFZ9PCvb8hAMYtrOyzSeMLY/pew=="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base_2.0.2-alpha.0_1552320197258_0.8655831021350617"},"_hasShrinkwrap":false},"1.7.0-alpha.0":{"name":"inhabit-module-base","version":"1.7.0-alpha.0","description":"A Base Module class for InHabit.","main":"index.js","types":"index.d.ts","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"extend":"^3.0.1"},"readme":"# inhabit-module-base [![npm version](https://badge.fury.io/js/inhabit-module-base.svg)](https://badge.fury.io/js/inhabit-module-base) [![Inline docs](http://inch-ci.org/github/ArkadiumInc/node-inhabit-module-base.svg?branch=master)](http://inch-ci.org/github/ArkadiumInc/node-inhabit-module-base) [![Code Climate](https://codeclimate.com/github/ArkadiumInc/node-inhabit-module-base/badges/gpa.svg)](https://codeclimate.com/github/ArkadiumInc/node-inhabit-module-base)\n\nA base module for building an InHabit Module.\n\n### TOC\n* [Installation](#install)\n* [Usage](#usage)\n* [Semantic service](#semanticservice) \n    - [Taxonomy](#taxonomy)\n    - [Entities](#enttities)    \n    - [Keywords](#keywords)\n* [AB tests](#abtests)\n* [Logger](#logger)\n* [Events](#events)\n    - [Ready](#ready)\n    - [Error](#error)\n    - [InteractionStart](#interactionstart)\n    - [CycleStart](#cyclestart)\n    - [CycleEnd](#cycleend)\n    - [Custom](#custom)\n* [Modal popup](#modalpopup)\n* [Resources root](#resourcesRoot)\n\n## Installation<a name=\"install\"></a>\n```sh\nnpm install --save-dev inhabit-module-base\n```\n\n\n## Usage <a name=\"usage\"></a>\n```javascript\nvar InhabitModuleBase = require('inhabit-module-base');\n\nfunction MyModule(configuration, dependencies) {\n    InhabitModuleBase.call(this, configuration, dependencies);\n    \n    ...\n}\n\nMyModule.prototype = Object.create(InhabitModuleBase.prototype);\nMyModule.prototype.constructor = MyModule;\n...\n\nInhabitModuleBase.publish(MyModule);\n```\n\nYou have access to next features of Inhabit through base class:\n\n### Semantic service <a name=\"semanticservice\"></a>\nThis service allows you to grab contextual information about your page for later use.\n````javascript\n    dependencies.textClassificationService; \n    //information about url that was classified can be achieved from this property\n    dependencies.textClassificationService.currentUrl\n````\n#### Taxonomy<a name=\"taxonomy\"></a>\n**getTaxonomy** method returns promise that results into the array of taxonomy information about this page.\n````javascript\n    dependencies.textClassificationService.getTaxonomy().then(function(taxonomy){\n        \n    })\n    \n````\nwhere \"taxonomy\" is array:\n````javascript\n[\n    {\n        \"values\": [\n            \"sports\",\n            \"football\"\n        ],\n        \"score\": 0.990101\n    },\n    {\n        \"values\":[\n            \"business and industrial\",\n            \"logistics\",\n            \"freight train\"\n        ],\n        \"score\":0.36197\n    }\n    ...\n]\n````\nvales in this case are dependent from each other, you should read them like this sports->football; business and industrial->logistics->freight train\nFor full list of available taxonomy please look this document [Taxonomy reference](docs/taxonomy.csv)\n\n#### Entities<a name=\"entities\"></a>\n**getEntities** - method returns promise that results into array of entities relevant to this page.\n````javascript\n    dependencies.textClassificationService.getEntities().then(function(entities){\n        \n    })\n````\nwhere \"entities\" is array:\n````javascript\n    {\n        \"values\": [\n            \"Matt Jones\"\n        ],\n        \"score\": 0.82653,\n        \"type\": \"Person\"\n    },\n    {\n        \"values\": [\n            \"Coach Jay Gruden\"\n        ],\n        \"score\": 0.668899,\n        \"type\": \"Person\",\n        \"misc\": {\n            \"subType\": [\n                \"FootballPlayer\",\n                \"SportsOfficial\"\n            ],\n            \"name\": \"Jay Gruden\"\n        }\n    }\n````\nList of available [types](docs/entity-types.csv) and [sub types](docs/sub-types.csv)\n\n#### Keywords<a name=\"keywords\"></a>\n**getKeywords** - method returns promise that results into array of keywords, keywords are broader view of text than entities and taxonomy based on words that \ncould be used to describe meaning of the text\n````javascript\n    dependencies.textClassificationService.getKeywords().then(function(keywords){\n        \n    })\n````\nwhere \"keywords\" is array:\n````javascript\n[\n    {\n        \"values\": [\n            \"Monday night\"\n        ],\n        \"score\": 0.926018\n    },\n    {\n        \"values\": [\n            \"Coach Jay Gruden\"\n        ],\n        \"score\": 0.746022\n    }\n]\n````\n\n#### V2 <a name=\"semantic_v2\"></a>\n**getTextClassification** - method returns promise that results into array of requested classification.\n````javascript\n    this.textClassificationService.getTextClassification(\n        \"Watson\"\n      , \"Taxonomy\"\n      , this.textClassificationService.V2\n    ).then(taxonomy => this.log(taxonomy));\n````\n\n### AB tests<a name=\"abtests\"></a>\n````javascript\n    dependencies.abTestManager;\n````\nAB test manager allows you to extend your object properties and add AB test support for them\nFor example you have property:\n````javascript\n    var myTitle = configuration.title;\n````\nthat you receive from json configuration delivered by Inhabit platform\n````JSON\n    {\n      \"modules\": [\n        {\n          \"id\": \"myModule\",\n          \"title\":\"My Title\"\n        }\n      ]\n    }\n````\nIf you want to AB test this property, simply change you json to this\n````javascript\n  {\n      \"modules\": [\n        {\n          \"id\": \"myModule\",\n          \"title\":{\n          // id of abTest should be gloabally unique, it is good to \n          // name it according to what you test and add date when you added test\n            \"abTest\":\"testTitle-01/21/2017\", \n            // experiment explanation, contains array of arrays with desired values and probability of their appearence for the use. \n            // at this case 50% time you will see \"Click me\" and another 50% \"My Title\"\n            \"experiment\":[\n              [\"Click me!\",0.5],\n              [\"My title\",0.5]\n            ],\n            // if referesh property set to true, user will see new result each time he refresh the page. I false, \n            // user will always see value that he seen at first time. For example if he seen \"Click me!\" title he will \n            // see this title all the time during the test.\n            \"refresh\":true\n          }\n        }\n      ]\n  }\n````\nAnd then at your code:\n````javascript\n    var myTitle = dependencies.abTestManager.getSetting(configuration.title);\n````\nThat's it now AB test will automatically set proper value based on you weights\nIf you will reveret your configration to the previous one without AB test in it, there no need to change code, it will \nstill work properly. So next time you will need to run abTest, you will need just change configuration.\n\nYou can use ABTest manager for any javascript object if you want;\n### Logger<a name=\"logger\"></a>\n````javascript\n     dependencies.logger;\n````\nLogger - built-in logger can be enabled in production through specific configuration, allows you debug your application in production.\nLogger logs to browser console and enabled by default in dev environment, while disabled in production. Using this logger allow you to keep\nall your logging code and be silent in production environment\n\nUsage:\n````javascript\n    dependencies.logger(\"simple console log\");\n    dependencies.logger({h: \"header\", c:'r', type: 'error'}, \"console log with header\");\n    dependencies.logger({h: \"header\", c:'r', type: 'error'}, \"console log with header\",\"some additional details can be provided here\");\n````\ndon't forget to enable DevMode as well \n````HTML\n<script async=\"\" ... data-ark-log=\"true\" src=\"//widgetapi-inhabit.as.arkadiumhosted.com/Widget/v1\"></script>\n````\n### Events<a name=\"events\"></a>\n````javascript\n    dependencies.events\n````\n\n#### Ready<a name=\"ready\"></a>\nCall this method when interactive loaded all required resources and ready to be displayed to the user\n````javascript\n    dependencies.events.ready(message)\n````\n**message[optional]** - if you need any message attached to the ready event, this message can be later used in analytics dashboard for example\n\n#### Error <a name=\"error\"></a>\nCall this method if any error appears in your application. This will help to track them down and make your application better\n````javascript\n    dependencies.events.error(message)\n````\n**message[optional]** - if you need any message attached to the error event, this message can be later used in analytics dashboard for example\n\n#### InteractionStart<a name=\"interactionstart\"></a>\nCall this method when user performs first interaction with application. This event should be called once per application lifetime\n````javascript\n    dependencies.events.interactionStart(message)\n````\n**message[optional]** - if you need any message attached to the interactionStart event, this message can be later used in analytics dashboard for example\n\n#### CycleStart<a name=\"cyclestart\"></a>\nCall this method when user starts iteration/cycle/sequence of logic in your application\n````javascript\n    dependencies.events.cycleStart(message)\n````\n**message[optional]** - if you need any message attached to the cycleStart event, this message can be later used in analytics dashboard for example\n\n#### CycleEnd<a name=\"cycleend\"></a>\nCall this method when user end iteration/cycle/sequence of logic in your application\n````javascript\n    dependencies.events.cycleEnd(message)\n````\n**message[optional]** - if you need any message attached to the cycleEnd event, this message can be later used in analytics dashboard for example\n\n#### Custom <a name=\"custom\"></a>\nYou can use this event to propagate any custom messages for analytics purposes \n````javascript\n    dependencies.events.custom(name, message)\n````\n**name** - name of the event\n**message[optional]** - if you need any message attached to the custom event, this message can be later used in analytics dashboard for example\n\nRun method this.events.refreshAd() on user click if you want to refresh ad block inside the InHabit, it will fire event:\n````javascript\nthis.events.refreshAd()\n````\n\n### ModalPopup<a name=\"modalpopup\"></a>\n````javascript\n    dependencies.modalPopup\n````\n\nOpen popup window with your custom url, use method:\n````javascript\ndependencies.modalPopup.open('your url')\n````\nOpen terms of service popup window, use method: \n````javascript\ndependencies.modalPopup.openTermsOfService()\n````\n### Resources root<a name=\"resourcesRoot\"></a>\n\nProvides absolute url to your resources root. Use this to reference all images and other resources you will use in your\ncode\n````javascript\ndependencies.resourcesRoot;\n````\n","readmeFilename":"README.md","gitHead":"6b5e42e70b5bdd7279b07505c81ae5c747a247d3","_id":"inhabit-module-base@1.7.0-alpha.0","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-O4Pv+eolmyrUNO68fpgRO+Vw07tGnIlv14DFBSLZ6UkjpJwQU/SBUy+rWysKqRcDEy0mpXTkqDceJxpGM2EvfQ==","shasum":"d0fdea12ca0c26c4863913251a04db898f6f06fd","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.7.0-alpha.0.tgz","fileCount":31,"unpackedSize":100234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcua67CRA9TVsSAnZWagAARW0P/3hq9/6Zdde3IPJZHF6G\nqlnyZCCJYbwEOnM5qLm6jig1jHuKweP+VEzD46hTrDaxrB6uNF4Ma0NSSEbV\n+naq9UJIyw65cApbiaVqyCIKQT6qVppbrDsWklUNO2O6wjo3EPf/WOi2EhVD\nXEHMI/YHG4P5sYTUvO++Kt6SW9Gr30W81GbL5+GmDaGeWlEM/ns0CYRSzLLM\nq20tg9yRrve0sY3X4fsd70btN0xTlEt9B4/P33U1WeQYIEn0wMyR6AqeOkxM\n5q4/fzThjj0J784D7dOsjoFsgnjZLzl8tERdJ/m8PPph4D5Hzh7x3vQ2B2QY\nmvmmIEiovYtitceBEzsU1aL/PbhLWMPlppQOtTuE+9F4CMJAsq6gnkvGl5oB\niuDiolQ/lv0V1iyAf/4wC4VTQI43dHgB4EPxofp1qGeMMnf/n7f5Qq7vg6QC\n5rlrOfhD1mqRT6085VhCDFnvBR9sflIfXaR3wnaWU9V8mm4988B/sB2h4AN/\nkWpoWBc/RShVmktcsgQFVWEik18RsgjbUEMwkcjTQ0EasyNGGD3mXkB8WNnN\nSmBx+Q59rwY5bQ+8Jw8OJA3Z3DGfyMlsBjBZ0igK0ACdvyM/DryX6V0RX4W+\nZ2Q/KexJp2rTBAXc+ThZhsVO4gOV1jxy22McTVhQigKhh3lcXYjgC++y9/jA\nnStD\r\n=t/m4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHrd1H1MOcraz8be0zbeoYfW1enLgq4vj93zcpzo6lPaAiEA22sepvhBI6hYIIKDsiVMu2ZBQd70QyntsB68bNKhq7Q="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base_1.7.0-alpha.0_1555672762584_0.2584271754607783"},"_hasShrinkwrap":false},"1.7.0-alpha.1":{"name":"inhabit-module-base","version":"1.7.0-alpha.1","description":"A Base Module class for InHabit.","main":"index.js","types":"index.d.ts","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"@types/xtend":"^4.0.2","commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"xtend":"^4.0.1"},"readme":"# inhabit-module-base [![npm version](https://badge.fury.io/js/inhabit-module-base.svg)](https://badge.fury.io/js/inhabit-module-base) [![Inline docs](http://inch-ci.org/github/ArkadiumInc/node-inhabit-module-base.svg?branch=master)](http://inch-ci.org/github/ArkadiumInc/node-inhabit-module-base) [![Code Climate](https://codeclimate.com/github/ArkadiumInc/node-inhabit-module-base/badges/gpa.svg)](https://codeclimate.com/github/ArkadiumInc/node-inhabit-module-base)\n\nA base module for building an InHabit Module.\n\n### TOC\n* [Installation](#install)\n* [Usage](#usage)\n* [Semantic service](#semanticservice) \n    - [Taxonomy](#taxonomy)\n    - [Entities](#enttities)    \n    - [Keywords](#keywords)\n* [AB tests](#abtests)\n* [Logger](#logger)\n* [Events](#events)\n    - [Ready](#ready)\n    - [Error](#error)\n    - [InteractionStart](#interactionstart)\n    - [CycleStart](#cyclestart)\n    - [CycleEnd](#cycleend)\n    - [Custom](#custom)\n* [Modal popup](#modalpopup)\n* [Resources root](#resourcesRoot)\n\n## Installation<a name=\"install\"></a>\n```sh\nnpm install --save-dev inhabit-module-base\n```\n\n\n## Usage <a name=\"usage\"></a>\n```javascript\nvar InhabitModuleBase = require('inhabit-module-base');\n\nfunction MyModule(configuration, dependencies) {\n    InhabitModuleBase.call(this, configuration, dependencies);\n    \n    ...\n}\n\nMyModule.prototype = Object.create(InhabitModuleBase.prototype);\nMyModule.prototype.constructor = MyModule;\n...\n\nInhabitModuleBase.publish(MyModule);\n```\n\nYou have access to next features of Inhabit through base class:\n\n### Semantic service <a name=\"semanticservice\"></a>\nThis service allows you to grab contextual information about your page for later use.\n````javascript\n    dependencies.textClassificationService; \n    //information about url that was classified can be achieved from this property\n    dependencies.textClassificationService.currentUrl\n````\n#### Taxonomy<a name=\"taxonomy\"></a>\n**getTaxonomy** method returns promise that results into the array of taxonomy information about this page.\n````javascript\n    dependencies.textClassificationService.getTaxonomy().then(function(taxonomy){\n        \n    })\n    \n````\nwhere \"taxonomy\" is array:\n````javascript\n[\n    {\n        \"values\": [\n            \"sports\",\n            \"football\"\n        ],\n        \"score\": 0.990101\n    },\n    {\n        \"values\":[\n            \"business and industrial\",\n            \"logistics\",\n            \"freight train\"\n        ],\n        \"score\":0.36197\n    }\n    ...\n]\n````\nvales in this case are dependent from each other, you should read them like this sports->football; business and industrial->logistics->freight train\nFor full list of available taxonomy please look this document [Taxonomy reference](docs/taxonomy.csv)\n\n#### Entities<a name=\"entities\"></a>\n**getEntities** - method returns promise that results into array of entities relevant to this page.\n````javascript\n    dependencies.textClassificationService.getEntities().then(function(entities){\n        \n    })\n````\nwhere \"entities\" is array:\n````javascript\n    {\n        \"values\": [\n            \"Matt Jones\"\n        ],\n        \"score\": 0.82653,\n        \"type\": \"Person\"\n    },\n    {\n        \"values\": [\n            \"Coach Jay Gruden\"\n        ],\n        \"score\": 0.668899,\n        \"type\": \"Person\",\n        \"misc\": {\n            \"subType\": [\n                \"FootballPlayer\",\n                \"SportsOfficial\"\n            ],\n            \"name\": \"Jay Gruden\"\n        }\n    }\n````\nList of available [types](docs/entity-types.csv) and [sub types](docs/sub-types.csv)\n\n#### Keywords<a name=\"keywords\"></a>\n**getKeywords** - method returns promise that results into array of keywords, keywords are broader view of text than entities and taxonomy based on words that \ncould be used to describe meaning of the text\n````javascript\n    dependencies.textClassificationService.getKeywords().then(function(keywords){\n        \n    })\n````\nwhere \"keywords\" is array:\n````javascript\n[\n    {\n        \"values\": [\n            \"Monday night\"\n        ],\n        \"score\": 0.926018\n    },\n    {\n        \"values\": [\n            \"Coach Jay Gruden\"\n        ],\n        \"score\": 0.746022\n    }\n]\n````\n\n#### V2 <a name=\"semantic_v2\"></a>\n**getTextClassification** - method returns promise that results into array of requested classification.\n````javascript\n    this.textClassificationService.getTextClassification(\n        \"Watson\"\n      , \"Taxonomy\"\n      , this.textClassificationService.V2\n    ).then(taxonomy => this.log(taxonomy));\n````\n\n### AB tests<a name=\"abtests\"></a>\n````javascript\n    dependencies.abTestManager;\n````\nAB test manager allows you to extend your object properties and add AB test support for them\nFor example you have property:\n````javascript\n    var myTitle = configuration.title;\n````\nthat you receive from json configuration delivered by Inhabit platform\n````JSON\n    {\n      \"modules\": [\n        {\n          \"id\": \"myModule\",\n          \"title\":\"My Title\"\n        }\n      ]\n    }\n````\nIf you want to AB test this property, simply change you json to this\n````javascript\n  {\n      \"modules\": [\n        {\n          \"id\": \"myModule\",\n          \"title\":{\n          // id of abTest should be gloabally unique, it is good to \n          // name it according to what you test and add date when you added test\n            \"abTest\":\"testTitle-01/21/2017\", \n            // experiment explanation, contains array of arrays with desired values and probability of their appearence for the use. \n            // at this case 50% time you will see \"Click me\" and another 50% \"My Title\"\n            \"experiment\":[\n              [\"Click me!\",0.5],\n              [\"My title\",0.5]\n            ],\n            // if referesh property set to true, user will see new result each time he refresh the page. I false, \n            // user will always see value that he seen at first time. For example if he seen \"Click me!\" title he will \n            // see this title all the time during the test.\n            \"refresh\":true\n          }\n        }\n      ]\n  }\n````\nAnd then at your code:\n````javascript\n    var myTitle = dependencies.abTestManager.getSetting(configuration.title);\n````\nThat's it now AB test will automatically set proper value based on you weights\nIf you will reveret your configration to the previous one without AB test in it, there no need to change code, it will \nstill work properly. So next time you will need to run abTest, you will need just change configuration.\n\nYou can use ABTest manager for any javascript object if you want;\n### Logger<a name=\"logger\"></a>\n````javascript\n     dependencies.logger;\n````\nLogger - built-in logger can be enabled in production through specific configuration, allows you debug your application in production.\nLogger logs to browser console and enabled by default in dev environment, while disabled in production. Using this logger allow you to keep\nall your logging code and be silent in production environment\n\nUsage:\n````javascript\n    dependencies.logger(\"simple console log\");\n    dependencies.logger({h: \"header\", c:'r', type: 'error'}, \"console log with header\");\n    dependencies.logger({h: \"header\", c:'r', type: 'error'}, \"console log with header\",\"some additional details can be provided here\");\n````\ndon't forget to enable DevMode as well \n````HTML\n<script async=\"\" ... data-ark-log=\"true\" src=\"//widgetapi-inhabit.as.arkadiumhosted.com/Widget/v1\"></script>\n````\n### Events<a name=\"events\"></a>\n````javascript\n    dependencies.events\n````\n\n#### Ready<a name=\"ready\"></a>\nCall this method when interactive loaded all required resources and ready to be displayed to the user\n````javascript\n    dependencies.events.ready(message)\n````\n**message[optional]** - if you need any message attached to the ready event, this message can be later used in analytics dashboard for example\n\n#### Error <a name=\"error\"></a>\nCall this method if any error appears in your application. This will help to track them down and make your application better\n````javascript\n    dependencies.events.error(message)\n````\n**message[optional]** - if you need any message attached to the error event, this message can be later used in analytics dashboard for example\n\n#### InteractionStart<a name=\"interactionstart\"></a>\nCall this method when user performs first interaction with application. This event should be called once per application lifetime\n````javascript\n    dependencies.events.interactionStart(message)\n````\n**message[optional]** - if you need any message attached to the interactionStart event, this message can be later used in analytics dashboard for example\n\n#### CycleStart<a name=\"cyclestart\"></a>\nCall this method when user starts iteration/cycle/sequence of logic in your application\n````javascript\n    dependencies.events.cycleStart(message)\n````\n**message[optional]** - if you need any message attached to the cycleStart event, this message can be later used in analytics dashboard for example\n\n#### CycleEnd<a name=\"cycleend\"></a>\nCall this method when user end iteration/cycle/sequence of logic in your application\n````javascript\n    dependencies.events.cycleEnd(message)\n````\n**message[optional]** - if you need any message attached to the cycleEnd event, this message can be later used in analytics dashboard for example\n\n#### Custom <a name=\"custom\"></a>\nYou can use this event to propagate any custom messages for analytics purposes \n````javascript\n    dependencies.events.custom(name, message)\n````\n**name** - name of the event\n**message[optional]** - if you need any message attached to the custom event, this message can be later used in analytics dashboard for example\n\nRun method this.events.refreshAd() on user click if you want to refresh ad block inside the InHabit, it will fire event:\n````javascript\nthis.events.refreshAd()\n````\n\n### ModalPopup<a name=\"modalpopup\"></a>\n````javascript\n    dependencies.modalPopup\n````\n\nOpen popup window with your custom url, use method:\n````javascript\ndependencies.modalPopup.open('your url')\n````\nOpen terms of service popup window, use method: \n````javascript\ndependencies.modalPopup.openTermsOfService()\n````\n### Resources root<a name=\"resourcesRoot\"></a>\n\nProvides absolute url to your resources root. Use this to reference all images and other resources you will use in your\ncode\n````javascript\ndependencies.resourcesRoot;\n````\n","readmeFilename":"README.md","gitHead":"4b2349430ae467bb3853a925a24dd32ca5c88fd9","_id":"inhabit-module-base@1.7.0-alpha.1","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-bPcd3DhFpwTV2ORVZSs1abmI412XaKTC/P4hJKYxlAhi6ZK7a6vsPm4FnTk6QHgsgQhQNsYusbldaTq94GNeMQ==","shasum":"c71aa1144c149a5658af0e5750c1b854f5ee272b","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.7.0-alpha.1.tgz","fileCount":59,"unpackedSize":110732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcua9+CRA9TVsSAnZWagAA7qEP/iC6v+P7rjfxDNDTrPzC\nTGUUQ5mivtpEz6cp3vh+Z7rlxLUG5LiV/Oikxd1gIOPD+6ElROlCzhOFWOh6\n1rSoA6Sul22Bid6xs2pBDrqPZDsNV3KcIHF0UINEhd4hnR/wxeLzkpyaNT0Q\ndy5ULMU4PuezC1sfMPJfz/AgVcs3LvbnHV0U+S6CXZRr8+z4BJku/KGNAwpc\n/igzj+F+9rNHeDHjCsg+kxZolG7baYI4Q8QUoTGH18t/o3hrDGPmrc0QDI8t\nhqmIB2KhPYWW0YZdoWfA5Hl5+kx5LPVjbP3Fi7IftVDY6UPVhq+qBlmrB8me\nyxLgIcqUcKizKHSG7SCbg7TnOwdvUlFrldgNIx8yRNCQGK6eCoa2eSAS+Hs9\neCQYZfCERbu/y2agj98wx9ToEMzr+Fj9H89jyh7gjuLfQy+u/UkGPo0xtTO4\nIFBuombKlWCDgJv6PbKa8FmVQiKou9SP07Ii4zQrD3RHt3r/AF7zzR6X+7rW\nN3mBK5ylEj5Jd3yk18xaKSaXd7HnLRQllDHlf/JQOAyC+WVzZqzXzhRmkFeg\n+CZeha37wg+LGAg8gqZ9DLhRvQbl7FIINnjDEo8uz2d0RJCMhrI5eHGmdDbB\nAwGWrBIzFlub8y+IqlLXHHTnPTTmKBeJuaYp+v83vuyZgeiBMyzHfPLqrEAT\nKH75\r\n=OHRU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE7gqCiGLdSHltFUkx49vS7/5+fiJbSNQbWKOCOYxGKyAiBihGt8+Igp4Rd58dBBguCAMaloGLD46F08FHv6uKkYqg=="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base_1.7.0-alpha.1_1555672957390_0.7719483353889864"},"_hasShrinkwrap":false},"1.7.0-alpha.2":{"name":"inhabit-module-base","version":"1.7.0-alpha.2","description":"A Base Module class for InHabit.","main":"build/index.js","types":"build/index.d.ts","scripts":{"commit":"git-cz","release":"standard-version --prerelease alpha","test":"tape tests/*.spec.js | tap-spec","build":"tsc"},"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"keywords":["InHabit","inhabit"],"author":{"name":"ArkadiumInc"},"license":"ISC","bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","devDependencies":{"@types/xtend":"^4.0.2","commitizen":"^2.9.5","cz-conventional-changelog":"^1.2.0","standard-version":"^4.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","typescript":"^2.3.2"},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"xtend":"^4.0.1"},"gitHead":"bb7028563d4b373ce69da3ef54b2605bcd62b658","_id":"inhabit-module-base@1.7.0-alpha.2","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-uagQNUiKhxbZGN92q54hNb6LZ+y2k06xe1f9g371c64dvaZOYgD2Fb0uSYS4ZMeYoq7ZIku/n0lD6AWF4p47ow==","shasum":"69857576040039de0b9095637a820a1f6b808df5","tarball":"https://registry.npmjs.org/inhabit-module-base/-/inhabit-module-base-1.7.0-alpha.2.tgz","fileCount":31,"unpackedSize":24747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcubCuCRA9TVsSAnZWagAASUcP/ju5K/NQ3Is/qljM0siP\n/puw0Tzia4deOujT9vgaKY+3U+PtqAEezc50XPmM835VB+SBipHoJxDgEVgq\n6U9hbawi0zG+LMYaTW4Dzn8znPqF3bK3cUr8jhUD2Fv1UbX5wjhY/KQ+56K7\n9r9ESXTl1t6YXuwD1+0zbyjo9YEeLjkerKVRVUYfmAEEBwNbVi77RMr3zMdq\nZ/kF5MUWXb2G8G9VjmZzvpNGWD61FQsSE2b7wVWpivX0/nWundx2+4IVOOq3\n7cfZ81eRboH7e8iuQvSLahkcUsJyPaoxfdelA9B9L8c3unHO+XNAAdP+NLHU\nFsj0y3UQCOqpwoieD7QMmsyC+bwMki50SFoRKFsiFnYzWrSnBIhV0S6UI+OC\nquF9er5sh2YFea4EVPhJCbv0uTIphH3GIfOkInt9xhSrvbwddPZ1ttOZTcHM\nP4HzYB2Nxiyvi6t7Ivp4h1QbVEZ/l2J9NBmQ9QVqM+qCB6odd8+zgV00gyyZ\nltnaFtsJ8bTYPuIhfp7oRaFCnZZXICavafdViolbmZeiEgligwps3HHhPtPq\nhJPs/BjN22Sp2bdNWx0owuTdjf98ydOptMWbtsFyz0FSZoXgsngdzy0Kh9xo\nmVDaEmFg+kAHCqriaVT9NFYJGRkX+9uxGwx63XU5TCUf7krg2zt8GXDKmoHf\nZJ7e\r\n=/Z1V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD29DsFnd9fwo7NzzB5Ndqm0vG1ELX0oxON7YKocSyQDAIgKqLgqUiVx1JqYb4+pzYaj5VothXMpdIc8hfITbhLkOE="}]},"maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"_npmUser":{"name":"zer0latency","email":"dandydan2k@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/inhabit-module-base_1.7.0-alpha.2_1555673262229_0.4395778588931176"},"_hasShrinkwrap":false}},"readme":"# inhabit-module-base [![npm version](https://badge.fury.io/js/inhabit-module-base.svg)](https://badge.fury.io/js/inhabit-module-base) [![Inline docs](http://inch-ci.org/github/ArkadiumInc/node-inhabit-module-base.svg?branch=master)](http://inch-ci.org/github/ArkadiumInc/node-inhabit-module-base) [![Code Climate](https://codeclimate.com/github/ArkadiumInc/node-inhabit-module-base/badges/gpa.svg)](https://codeclimate.com/github/ArkadiumInc/node-inhabit-module-base)\n\nA base module for building an InHabit Module.\n\n### TOC\n* [Installation](#install)\n* [Usage](#usage)\n* [Semantic service](#semanticservice) \n    - [Taxonomy](#taxonomy)\n    - [Entities](#enttities)    \n    - [Keywords](#keywords)\n* [AB tests](#abtests)\n* [Logger](#logger)\n* [Events](#events)\n    - [Ready](#ready)\n    - [Error](#error)\n    - [InteractionStart](#interactionstart)\n    - [CycleStart](#cyclestart)\n    - [CycleEnd](#cycleend)\n    - [Custom](#custom)\n* [Modal popup](#modalpopup)\n* [Resources root](#resourcesRoot)\n\n## Installation<a name=\"install\"></a>\n```sh\nnpm install --save-dev inhabit-module-base\n```\n\n\n## Usage <a name=\"usage\"></a>\n```javascript\nvar InhabitModuleBase = require('inhabit-module-base');\n\nfunction MyModule(configuration, dependencies) {\n    InhabitModuleBase.call(this, configuration, dependencies);\n    \n    ...\n}\n\nMyModule.prototype = Object.create(InhabitModuleBase.prototype);\nMyModule.prototype.constructor = MyModule;\n...\n\nInhabitModuleBase.publish(MyModule);\n```\n\nYou have access to next features of Inhabit through base class:\n\n### Semantic service <a name=\"semanticservice\"></a>\nThis service allows you to grab contextual information about your page for later use.\n````javascript\n    dependencies.textClassificationService; \n    //information about url that was classified can be achieved from this property\n    dependencies.textClassificationService.currentUrl\n````\n#### Taxonomy<a name=\"taxonomy\"></a>\n**getTaxonomy** method returns promise that results into the array of taxonomy information about this page.\n````javascript\n    dependencies.textClassificationService.getTaxonomy().then(function(taxonomy){\n        \n    })\n    \n````\nwhere \"taxonomy\" is array:\n````javascript\n[\n    {\n        \"values\": [\n            \"sports\",\n            \"football\"\n        ],\n        \"score\": 0.990101\n    },\n    {\n        \"values\":[\n            \"business and industrial\",\n            \"logistics\",\n            \"freight train\"\n        ],\n        \"score\":0.36197\n    }\n    ...\n]\n````\nvales in this case are dependent from each other, you should read them like this sports->football; business and industrial->logistics->freight train\nFor full list of available taxonomy please look this document [Taxonomy reference](docs/taxonomy.csv)\n\n#### Entities<a name=\"entities\"></a>\n**getEntities** - method returns promise that results into array of entities relevant to this page.\n````javascript\n    dependencies.textClassificationService.getEntities().then(function(entities){\n        \n    })\n````\nwhere \"entities\" is array:\n````javascript\n    {\n        \"values\": [\n            \"Matt Jones\"\n        ],\n        \"score\": 0.82653,\n        \"type\": \"Person\"\n    },\n    {\n        \"values\": [\n            \"Coach Jay Gruden\"\n        ],\n        \"score\": 0.668899,\n        \"type\": \"Person\",\n        \"misc\": {\n            \"subType\": [\n                \"FootballPlayer\",\n                \"SportsOfficial\"\n            ],\n            \"name\": \"Jay Gruden\"\n        }\n    }\n````\nList of available [types](docs/entity-types.csv) and [sub types](docs/sub-types.csv)\n\n#### Keywords<a name=\"keywords\"></a>\n**getKeywords** - method returns promise that results into array of keywords, keywords are broader view of text than entities and taxonomy based on words that \ncould be used to describe meaning of the text\n````javascript\n    dependencies.textClassificationService.getKeywords().then(function(keywords){\n        \n    })\n````\nwhere \"keywords\" is array:\n````javascript\n[\n    {\n        \"values\": [\n            \"Monday night\"\n        ],\n        \"score\": 0.926018\n    },\n    {\n        \"values\": [\n            \"Coach Jay Gruden\"\n        ],\n        \"score\": 0.746022\n    }\n]\n````\n\n#### V2 <a name=\"semantic_v2\"></a>\n**getTextClassification** - method returns promise that results into array of requested classification.\n````javascript\n    this.textClassificationService.getTextClassification(\n        \"Watson\"\n      , \"Taxonomy\"\n      , this.textClassificationService.V2\n    ).then(taxonomy => this.log(taxonomy));\n````\n\n### AB tests<a name=\"abtests\"></a>\n````javascript\n    dependencies.abTestManager;\n````\nAB test manager allows you to extend your object properties and add AB test support for them\nFor example you have property:\n````javascript\n    var myTitle = configuration.title;\n````\nthat you receive from json configuration delivered by Inhabit platform\n````JSON\n    {\n      \"modules\": [\n        {\n          \"id\": \"myModule\",\n          \"title\":\"My Title\"\n        }\n      ]\n    }\n````\nIf you want to AB test this property, simply change you json to this\n````javascript\n  {\n      \"modules\": [\n        {\n          \"id\": \"myModule\",\n          \"title\":{\n          // id of abTest should be gloabally unique, it is good to \n          // name it according to what you test and add date when you added test\n            \"abTest\":\"testTitle-01/21/2017\", \n            // experiment explanation, contains array of arrays with desired values and probability of their appearence for the use. \n            // at this case 50% time you will see \"Click me\" and another 50% \"My Title\"\n            \"experiment\":[\n              [\"Click me!\",0.5],\n              [\"My title\",0.5]\n            ],\n            // if referesh property set to true, user will see new result each time he refresh the page. I false, \n            // user will always see value that he seen at first time. For example if he seen \"Click me!\" title he will \n            // see this title all the time during the test.\n            \"refresh\":true\n          }\n        }\n      ]\n  }\n````\nAnd then at your code:\n````javascript\n    var myTitle = dependencies.abTestManager.getSetting(configuration.title);\n````\nThat's it now AB test will automatically set proper value based on you weights\nIf you will reveret your configration to the previous one without AB test in it, there no need to change code, it will \nstill work properly. So next time you will need to run abTest, you will need just change configuration.\n\nYou can use ABTest manager for any javascript object if you want;\n### Logger<a name=\"logger\"></a>\n````javascript\n     dependencies.logger;\n````\nLogger - built-in logger can be enabled in production through specific configuration, allows you debug your application in production.\nLogger logs to browser console and enabled by default in dev environment, while disabled in production. Using this logger allow you to keep\nall your logging code and be silent in production environment\n\nUsage:\n````javascript\n    dependencies.logger(\"simple console log\");\n    dependencies.logger({h: \"header\", c:'r', type: 'error'}, \"console log with header\");\n    dependencies.logger({h: \"header\", c:'r', type: 'error'}, \"console log with header\",\"some additional details can be provided here\");\n````\ndon't forget to enable DevMode as well \n````HTML\n<script async=\"\" ... data-ark-log=\"true\" src=\"//widgetapi-inhabit.as.arkadiumhosted.com/Widget/v1\"></script>\n````\n### Events<a name=\"events\"></a>\n````javascript\n    dependencies.events\n````\n\n#### Ready<a name=\"ready\"></a>\nCall this method when interactive loaded all required resources and ready to be displayed to the user\n````javascript\n    dependencies.events.ready(message)\n````\n**message[optional]** - if you need any message attached to the ready event, this message can be later used in analytics dashboard for example\n\n#### Error <a name=\"error\"></a>\nCall this method if any error appears in your application. This will help to track them down and make your application better\n````javascript\n    dependencies.events.error(message)\n````\n**message[optional]** - if you need any message attached to the error event, this message can be later used in analytics dashboard for example\n\n#### InteractionStart<a name=\"interactionstart\"></a>\nCall this method when user performs first interaction with application. This event should be called once per application lifetime\n````javascript\n    dependencies.events.interactionStart(message)\n````\n**message[optional]** - if you need any message attached to the interactionStart event, this message can be later used in analytics dashboard for example\n\n#### CycleStart<a name=\"cyclestart\"></a>\nCall this method when user starts iteration/cycle/sequence of logic in your application\n````javascript\n    dependencies.events.cycleStart(message)\n````\n**message[optional]** - if you need any message attached to the cycleStart event, this message can be later used in analytics dashboard for example\n\n#### CycleEnd<a name=\"cycleend\"></a>\nCall this method when user end iteration/cycle/sequence of logic in your application\n````javascript\n    dependencies.events.cycleEnd(message)\n````\n**message[optional]** - if you need any message attached to the cycleEnd event, this message can be later used in analytics dashboard for example\n\n#### Custom <a name=\"custom\"></a>\nYou can use this event to propagate any custom messages for analytics purposes \n````javascript\n    dependencies.events.custom(name, message)\n````\n**name** - name of the event\n**message[optional]** - if you need any message attached to the custom event, this message can be later used in analytics dashboard for example\n\nRun method this.events.refreshAd() on user click if you want to refresh ad block inside the InHabit, it will fire event:\n````javascript\nthis.events.refreshAd()\n````\n\n### ModalPopup<a name=\"modalpopup\"></a>\n````javascript\n    dependencies.modalPopup\n````\n\nOpen popup window with your custom url, use method:\n````javascript\ndependencies.modalPopup.open('your url')\n````\nOpen terms of service popup window, use method: \n````javascript\ndependencies.modalPopup.openTermsOfService()\n````\n### Resources root<a name=\"resourcesRoot\"></a>\n\nProvides absolute url to your resources root. Use this to reference all images and other resources you will use in your\ncode\n````javascript\ndependencies.resourcesRoot;\n````\n","maintainers":[{"name":"zer0latency","email":"dandydan2k@gmail.com"}],"time":{"modified":"2022-06-19T01:15:35.956Z","created":"2016-07-27T09:15:47.455Z","1.0.1":"2016-07-27T09:15:47.455Z","1.0.2":"2016-07-27T09:19:35.267Z","1.0.3":"2016-07-27T09:47:19.071Z","1.1.0":"2016-07-27T10:31:48.634Z","1.1.1":"2016-07-27T10:44:14.142Z","1.1.2":"2016-07-27T13:03:00.066Z","1.1.3":"2016-07-27T13:35:30.394Z","1.1.4":"2016-07-27T13:58:58.699Z","1.2.0":"2016-07-28T14:03:37.990Z","1.2.1":"2016-07-28T14:32:18.416Z","1.2.2":"2016-07-28T15:23:34.732Z","1.2.3":"2016-07-29T09:52:56.921Z","1.3.0":"2016-08-02T13:26:39.416Z","1.3.2":"2016-09-12T13:38:25.109Z","1.3.3":"2016-09-12T13:49:42.152Z","1.3.4":"2016-10-21T14:39:57.565Z","1.3.5":"2016-10-24T14:50:35.462Z","1.3.6":"2016-10-24T14:55:24.454Z","1.3.7":"2016-10-24T15:05:30.350Z","1.3.8":"2016-10-24T16:24:52.351Z","1.3.9":"2016-10-24T16:57:36.233Z","1.3.10":"2016-10-24T17:10:35.431Z","1.3.11":"2016-10-24T17:13:47.634Z","1.3.12":"2016-10-24T17:14:27.507Z","1.3.13":"2016-10-24T19:35:29.280Z","1.3.14":"2016-11-10T16:43:15.346Z","1.3.15":"2016-11-11T09:36:04.515Z","1.3.16":"2016-12-05T14:05:45.791Z","1.4.0":"2016-12-14T10:52:16.802Z","1.4.1":"2016-12-19T16:58:55.051Z","1.4.3":"2017-01-24T15:26:58.088Z","1.4.5":"2017-02-27T21:26:18.514Z","1.4.6":"2017-02-27T21:51:02.399Z","1.4.7":"2017-02-27T21:53:34.405Z","1.5.0-alpha.0":"2017-05-23T10:39:30.268Z","1.5.0-alpha.1":"2017-05-23T10:52:50.893Z","1.5.0-alpha.2":"2017-07-17T16:44:01.646Z","1.5.0-alpha.3":"2017-07-17T16:53:46.506Z","1.5.0":"2017-08-21T15:56:16.744Z","1.5.1":"2017-08-21T16:02:39.097Z","1.6.0":"2017-08-31T16:17:24.428Z","2.0.0":"2018-12-14T14:57:16.631Z","2.0.1":"2018-12-14T15:38:35.233Z","2.0.2-alpha.0":"2019-03-11T16:03:17.485Z","1.7.0-alpha.0":"2019-04-19T11:19:22.711Z","1.7.0-alpha.1":"2019-04-19T11:22:37.548Z","1.7.0-alpha.2":"2019-04-19T11:27:42.347Z"},"homepage":"https://github.com/ArkadiumInc/node-inhabit-module-base#readme","keywords":["InHabit","inhabit"],"repository":{"type":"git","url":"git+ssh://git@github.com/ArkadiumInc/node-inhabit-module-base.git"},"author":{"name":"ArkadiumInc"},"bugs":{"url":"https://github.com/ArkadiumInc/node-inhabit-module-base/issues"},"license":"ISC","readmeFilename":"README.md"}