{"_id":"buttercup","_rev":"280-39d4ce808e4d08b337daeeb9568b4c93","name":"buttercup","description":"A NodeJS password vault.","dist-tags":{"latest":"7.7.1","next":"7.0.0-6"},"versions":{"0.1.1-a":{"name":"buttercup","version":"0.1.1-a","description":"A NodeJS password vault.","main":"source/app.js","scripts":{"test":"nodeunit tests"},"bin":{"nodeunit":"node_modules/nodeunit/bin/nodeunit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup/issues"},"homepage":"https://github.com/perry-mitchell/buttercup#readme","dependencies":{"clone":"^1.0.2","nodeunit":"0.9.x","promise-polyfill":"2.1.x"},"gitHead":"4714369e0d75773dd95a48d980c26a5455e20e4a","_id":"buttercup@0.1.1-a","_shasum":"ce1a737b6a1137249d7106bcb1a32a2cf5099376","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"ce1a737b6a1137249d7106bcb1a32a2cf5099376","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.1.1-a.tgz","integrity":"sha512-rsJlri64J4UKyh9n51MENXx0cJoV66gMZOGUl/DBBRi+A2CKxRz18iLrmHCIiI91/4CSDqyyaMMtrBkZo5BLow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDq6nPCKibJOnsBC74RMnzLmm5INJ4uDyFVzTIF5qOSnAIhAKIIU+NkJYhD+i4ayQJUkJiRxcxkYlp+eHa3kMBR3DKc"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.2.1-a":{"name":"buttercup","version":"0.2.1-a","description":"A NodeJS password vault.","main":"source/app.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"nodeunit tests"},"bin":{"nodeunit":"node_modules/nodeunit/bin/nodeunit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup/issues"},"homepage":"https://github.com/perry-mitchell/buttercup#readme","dependencies":{"clone":"^1.0.2","promise-polyfill":"2.1.x","uuid":"^2.0.1"},"devDependencies":{"nodeunit":"0.9.x"},"gitHead":"ad44a6fc341cb66c2192283f0c9dccc96516083f","_id":"buttercup@0.2.1-a","_shasum":"db8dcb1579d74e5267ad6aa07fa7d77ed145b920","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"db8dcb1579d74e5267ad6aa07fa7d77ed145b920","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.2.1-a.tgz","integrity":"sha512-7b++p6rYSmwKrqJXLsJu8HVZ1eyx23Sqk/UCTqNPWt6xVSbNVDJsFi/jXgxOPEUugEpX/fCZpaWiHkwCsy632Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAV8ccVG12RppPRi7VMDOU/6y4JbPX4aamXBPRm26ZS9AiEAyGI7rtCWv6JuqMyxrtudRSNBlHijKy+A9BfIchduIk4="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.2.2-a":{"name":"buttercup","version":"0.2.2-a","description":"A NodeJS password vault.","main":"source/app.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"nodeunit tests"},"bin":{"nodeunit":"node_modules/nodeunit/bin/nodeunit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","promise-polyfill":"2.1.x","uuid":"^2.0.1"},"devDependencies":{"nodeunit":"0.9.x"},"gitHead":"d464e0fee840f96211cdc8063061f46662492e2c","_id":"buttercup@0.2.2-a","_shasum":"2ef79f82801c025431726033cb33c84712aee38e","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"2ef79f82801c025431726033cb33c84712aee38e","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.2.2-a.tgz","integrity":"sha512-Dy59avFO/+9P253SKO/mHpzAd2Y9sIHdFEk5TwiYhW9TmRK03X2OUsuFxR2sHKBh36kGs+QIcGK1KESF6CoO6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAxxww6wwyG8NaYNZFQcdsi8Jz4q+yH0Px8NNL6Lwp1YAiA7raZs5YoZw37+s3dJ5S9kg5WXEh+LfubMldafFhJnBw=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.3.0-a":{"name":"buttercup","version":"0.3.0-a","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"nodeunit tests"},"bin":{"nodeunit":"node_modules/nodeunit/bin/nodeunit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","promise-polyfill":"2.1.x","uuid":"^2.0.1"},"devDependencies":{"nodeunit":"0.9.x"},"gitHead":"1e8887fc85b3681b894f1c9f5933f8e54cd7ff56","_id":"buttercup@0.3.0-a","_shasum":"83680fb9270bb2e11f09f1bda0f1dcd6ae23c312","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"83680fb9270bb2e11f09f1bda0f1dcd6ae23c312","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.3.0-a.tgz","integrity":"sha512-DFR3Wvb5PtS6ubKRXWgn/N4ZXgDvS78YNdob2zT6RcrlAtMwBvS7ppG4rN0XAApIdq105QJun8y7zddO0zbHtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFFIl5NFM3kBbF74ecMR260xnBvBjaQUstprAnvRej+AIgOFF4dr21IubA4RgwXZUa4b8tJn6TtOX1W722Ar7MPF4="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.4.0-a":{"name":"buttercup","version":"0.4.0-a","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"nodeunit tests tests/integration --reporter junit --output build"},"bin":{"nodeunit":"node_modules/nodeunit/bin/nodeunit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","promise-polyfill":"^2.1.0","uuid":"^2.0.1"},"devDependencies":{"nodeunit":"0.9.x"},"gitHead":"18445281c40b43e245cb3dd760371906eb0d2aab","_id":"buttercup@0.4.0-a","_shasum":"fd183ee75f65ef30894ce513a2bae5bb92131e7b","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"fd183ee75f65ef30894ce513a2bae5bb92131e7b","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.4.0-a.tgz","integrity":"sha512-73nRX1rRAtfGLQ9tKJXp3bcjqEwowQKT7QdkgLEA053B2JpVqiqA8rpjnC/kpFn8e4wm/XU0f7lCxsSRXwq76g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNvq/B3jjtwBFDNJGYppCpMTfJo7ul+c7O2AGrs+jiKAIgSnvUb+rqi4vvVdMFBHR7yWCS8Vvfu8cQMBXDqQnoDsM="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.4.1-a":{"name":"buttercup","version":"0.4.1-a","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"nodeunit tests tests/integration --reporter junit --output build"},"bin":{"nodeunit":"node_modules/nodeunit/bin/nodeunit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","promise-polyfill":"^2.1.0","uuid":"^2.0.1"},"devDependencies":{"nodeunit":"0.9.x"},"gitHead":"d876fe173bb258b1a299a6884be40bc21e67a820","_id":"buttercup@0.4.1-a","_shasum":"d82f3975a6c756e3371ab4b105486b8389728475","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"d82f3975a6c756e3371ab4b105486b8389728475","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.4.1-a.tgz","integrity":"sha512-ofh3QjTjSrTJrs2VMbT9RUTpzcyfkOgVU8DcvyiAGzY+UiYLNK9SmRBQF2rj0oyWAhdcoke8nA6FxJnxM9FglA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2lE5bThPNnAVQUURTb2bFjbC4p7Y/ANqXIluOsHTmdwIgJthHTZwduFWzZQm51C0dGokoj2Lx/51e8rkSMsockwM="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.5.0":{"name":"buttercup","version":"0.5.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"nodeunit tests tests/integration --reporter junit --output build"},"bin":{"nodeunit":"node_modules/nodeunit/bin/nodeunit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"e2a5c7c5c172bb7bf385c1b4e8d013e5c3e653c3","_id":"buttercup@0.5.0","_shasum":"030b11e455373b2f6939e54c3b4a542fabcc4877","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"030b11e455373b2f6939e54c3b4a542fabcc4877","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.5.0.tgz","integrity":"sha512-owgE5qtv/AOOf9FlM/lzCEZtUyUgoTFfU9/LDzAqWrkxkqtxsC5G8yLgrvxIHKJbJ0vEPWj8cPw1pMqaKDJ3Yg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWXHGfv1AWFgwum/IUWxq2rvIAwqio2F+DQ1KWdYysvwIgWinEXZOkoy61lPe6PL0x8typWavmJrQO/u+wD6bIeqI="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.5.1":{"name":"buttercup","version":"0.5.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test-junit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"3d31c76800be03474beca3d085d8c7bb37d916a4","_id":"buttercup@0.5.1","_shasum":"63799b06dd64f7a27d23778c870b7af71e57ecdf","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"63799b06dd64f7a27d23778c870b7af71e57ecdf","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.5.1.tgz","integrity":"sha512-KNWdUUXK76/rGA5r+ifu9YnJ9FxI4iXdeSkO48ln4YLeofwwJFM/VLaeovm5jHejVmLt/nGVIGAQf094+jczNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnSeYUVvEgtefXs58XryAWAKx8WbrZCyFF5vM3HMpE5QIhAI4sQBH4lc0HPhTDdZbj36/IdVenXzBYFiQ17P+vaWfx"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.6.0":{"name":"buttercup","version":"0.6.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test-junit"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"82acf70886b497aebb0753d6f6b3cde9bbc15fe5","_id":"buttercup@0.6.0","_shasum":"6c9ad536388f79c1b5b58a61f182c3449dcf572f","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"6c9ad536388f79c1b5b58a61f182c3449dcf572f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.6.0.tgz","integrity":"sha512-VjgC3JgthJaJgRmeNxJK2ttAz3yofGNqkLVcUKkWxSXEws75jAaVjo90oWL8NtqI5oJAQrnsE0XNHYxsC8Ny5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAr6A0oMJKXpaG22b0oHkmoe6/7NI2de+Vvml88n5emrAiEAm270qWExPIj0LgL3oSEZ84cOZTI1vjgav4+TvAhQeWk="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.6.1":{"name":"buttercup","version":"0.6.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"80174b1cd7e275470efe0b623973dadf44b8d391","_id":"buttercup@0.6.1","_shasum":"40f3eb0de2cf93353f27150825d38debe4a657f7","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"40f3eb0de2cf93353f27150825d38debe4a657f7","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.6.1.tgz","integrity":"sha512-3ojCXypBloV6CBHwfHE3L+UixJGZiC7gjaaw18BEkqjmGVjbwkU7THMCKuUvPakC22rUtiXrMxgbbTI2N23OlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChmgSRxSv4/R7dMarwUWgXJqJM4eQ28VKTN1Upk3Y3zQIgOgmphaki8dY+/8dLdezloSs3ftCmq65F6gAKyGbufaQ="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.7.0":{"name":"buttercup","version":"0.7.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"eaba30fae55840865ce579fef2e39f9813b82443","_id":"buttercup@0.7.0","_shasum":"a638635e77c53790ce9c0ea32075392e82608517","_from":".","_npmVersion":"3.3.6","_nodeVersion":"0.12.7","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"a638635e77c53790ce9c0ea32075392e82608517","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.7.0.tgz","integrity":"sha512-HY8GDxXfG9GsVmxM6hbVZntBRjgwI9XJ3R1HPNR4x+R4dAygRi/OFRxIaW3x/G3/7WxgJDjy9l8ho5SBZOLb5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+n5q8inaHSY5MGbR+BsWRKTRcFlQRGtqcyBDUviHTxQIhAIqbIM7H6BvJa4DO0uaezqkVbNqqjW1Kji1gwyf8W5o0"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.8.0":{"name":"buttercup","version":"0.8.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"388fb2cb162c7b7b7d0cf9acd2669c1fecc48ad5","_id":"buttercup@0.8.0","_shasum":"c82032bf2ec26c4107468cb5dd7b6652fb6924e1","_from":".","_npmVersion":"3.3.6","_nodeVersion":"0.12.7","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"c82032bf2ec26c4107468cb5dd7b6652fb6924e1","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.8.0.tgz","integrity":"sha512-fJKSYoMxXm7Ne2TM0u0ij1Jy+s+NWxcbL9aYBDkIIUU2xshj7f5O9vC6gUs+xutBz1TEqW9Cu1JsCQtWorBvoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG15wI7K4lM2JZDkTzDjquVaxmPDh2OCQYhFsQdF4lHYAiEAvXZzf/gVr/Atv9jiRyzzDh4XM1Xxk0xtBaaIUxGKstw="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.8.1":{"name":"buttercup","version":"0.8.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"c43675fa2bc8b3cc97dc25841ef0302633328598","_id":"buttercup@0.8.1","_shasum":"b2503d17a2cbdec5e1e6015dbd1236526019247a","_from":".","_npmVersion":"3.3.6","_nodeVersion":"0.12.7","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"b2503d17a2cbdec5e1e6015dbd1236526019247a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.8.1.tgz","integrity":"sha512-CQj58pYs6BepuJS25w4BmcINFwMWpCKIHXADXH8Ai9HoVFvysPtxaM5HHS2+mQf4pHPt9lr0TY0wDDsUVteyVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEm8nQqSnzErM2oHPrnXU45bBD80I6JiXzuIfIy9odiAiAQrpmjIdYSA/viDNjmpJ2xeUE3tzEY+Yfnq6c5cs2kGA=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.9.0":{"name":"buttercup","version":"0.9.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"5dd53847b681aa8283c6cab28319f738e7b397a7","_id":"buttercup@0.9.0","_shasum":"690703343d9c3a8bfec7afe7918f6a060c9ca392","_from":".","_npmVersion":"3.3.6","_nodeVersion":"0.12.7","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"690703343d9c3a8bfec7afe7918f6a060c9ca392","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.9.0.tgz","integrity":"sha512-ja5rctNI/fulSRL70lgan8hTKeUtBuwOBA/1w2lO/6FHJmhU4or+VKo7ziLUIkkXl4CntcRjF/HHAspOgKNnxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARltyGb1dXLn6s+9FNlnRXeBLswQvWtQS4tmLMNlWZQAiEAkMYr3Wsj4GwdQ7n0YZp2SwFrq7+PnIwncMcyYZA9AK0="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.10.0":{"name":"buttercup","version":"0.10.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","gzip-js":"^0.3.2","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1","xml2js":"^0.4.13"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"da6174fcbaf511279ed905df84e48eae5ddcb3c3","_id":"buttercup@0.10.0","_shasum":"7ab6fc7f023bcece618b086c908badc68803885f","_from":".","_npmVersion":"3.3.6","_nodeVersion":"0.12.7","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"7ab6fc7f023bcece618b086c908badc68803885f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.10.0.tgz","integrity":"sha512-r2+o2RJJh9l0Ibl2pMhm9cK8IQsR1bNUSA9LtxA+tNCRVkhnQ06dYAREWxhlQUNLgV7t1S1dFhSaBX7ZVDsn7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBsCeXCGmPerEePe4UI7FCN42reNIj/v49fhJ0QG+Zq/AiAx4XKhSfThalZkl8JHIBxjIdSLtH8rc6yEdRDItCbmKw=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.10.1":{"name":"buttercup","version":"0.10.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","gzip-js":"^0.3.2","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"181dd6f9e46596499f1efd764eed9c1df108fead","_id":"buttercup@0.10.1","_shasum":"368c1936130321fae4f095cd01ba819a5606d9ee","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"368c1936130321fae4f095cd01ba819a5606d9ee","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.10.1.tgz","integrity":"sha512-lB+OCTZ4tsNxXhowyiU8jCqW5OBAx56/cSaf4F/35vPaVd8RapdsMuJnTw4G/bNZbFI8Il6HNnWC0uMewLnBcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDsy8U1POVJawcorQStiBreviIZHZ3CootGANhII9FlUAiEApQCpud7sZUOB/T+zzy5UZTpvq1cumxKr0M85uhs3veA="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.10.2":{"name":"buttercup","version":"0.10.2","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","gzip-js":"^0.3.2","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"ceac4e9e87416e1a82d138aebc66da1de320c650","_id":"buttercup@0.10.2","_shasum":"0bf5da22d143219645c638a5f4747fc233cacd28","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"0bf5da22d143219645c638a5f4747fc233cacd28","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.10.2.tgz","integrity":"sha512-BcwVmeyMoQqZnBaqbkDZ6zNjeFb47sT9e9Ts7gAAGZ6vHA2vcnCfDfnE8g0vA4pE/WVs7bonrrqJJq7n4yhyxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPR4JDvWg6YzLps9T3aDIqf29xVnNboCGxpYQSd6aCUAiEA+CMTbjt2fnQDv6CE6C5myw4o06Df6QD/siGNP2vMMz8="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.11.0":{"name":"buttercup","version":"0.11.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","gzip-js":"^0.3.2","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"05d824077cf482b11a3236e12bcb354f3bb2c569","_id":"buttercup@0.11.0","_shasum":"022911a7c0f917f00058c9583486907b19479b20","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"022911a7c0f917f00058c9583486907b19479b20","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.11.0.tgz","integrity":"sha512-9hKpOOcszoYYVlWVR0spYIfxZJUSGbIJdKiAszB8VXSKkZwUnLOL1ekn2FV/3pzombogZXfWNr5zrtsACLzGrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFxm9B+/VbjoG3CNKuQbR93aDf9ypPzJ6FPQLIKt5/EIAiB67cHeU6sS6i1Jhwxeuk/Tyo72WDtLYggtGdCC8iWA4w=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.11.1":{"name":"buttercup","version":"0.11.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test","install":"bash link"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","gzip-js":"^0.3.2","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"c7ed4ef776ce10aa58e658dc7c69b5af664a213e","_id":"buttercup@0.11.1","_shasum":"859fe04a344e1da54ad3142490891ca64ef81d54","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"859fe04a344e1da54ad3142490891ca64ef81d54","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.11.1.tgz","integrity":"sha512-7gZTqO1u7Kh5bVjeN1y/I0wLsMTThpf1DUs7BPPlf7rOcE8LZjTUbmv2rcEU4ZA5ubXEK2lbk/fZOD5NUlilvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKx/D8Vqico4pbirT+FXnadyI8YPdHnqqvmPZDFN15XgIgSQqHZ40+KBNii/IHdgooYvI9AFcntjs3/mBTpPcGC8c="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.11.2":{"name":"buttercup","version":"0.11.2","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test","install":"bash link"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","curlrequest":"^0.5.3","gzip-js":"^0.3.2","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"aae825f416e4f39139a98a28098e639004f1e815","_id":"buttercup@0.11.2","_shasum":"156e7b07e1b0d9f0fdae1ebdfb3a5716c6fc1604","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"156e7b07e1b0d9f0fdae1ebdfb3a5716c6fc1604","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.11.2.tgz","integrity":"sha512-eqPIIkTrYNGaxd623MyMY0XgfPjh5strjGLkDJxsBer0wTqCJkD/WgGj3QwOYhV4csKxWN8/jlGSRgXL6nrnpw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGvvvf3P2IOOc6r305oTjKq2Oaraq890DLN6VUgYTLYMAiEAglC2k/1c/CiVA5nf8SpqcNWY7ug/aTmicJqnrPuEE2w="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.11.3":{"name":"buttercup","version":"0.11.3","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test","install":"bash link"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","gzip-js":"^0.3.2","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1","webdav-fs":"^0.3.0"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"f8b2c31fa85655d2a3553f0e9eace7908a452d23","_id":"buttercup@0.11.3","_shasum":"781597ea60914ec2eccfc7ac3c5f0556f7a8d3b3","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.3","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"781597ea60914ec2eccfc7ac3c5f0556f7a8d3b3","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.11.3.tgz","integrity":"sha512-91EJ0zZTwcP4jgBPW5+3xLTjOGInju9WpnDJ6223naSxmCSNJnmiqWyiI3fsCRXD+/IiDO5kTnHftyXOZCYo2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMrXhHbGK6T0xdk1qHs0kGaf2RilRhGaTQG/5GYwAiQgIgTX42UO9tJO9seRNu5STROtGwUzSKwnYFemX4P8lhVkM="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.11.4":{"name":"buttercup","version":"0.11.4","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"test":"bash test","install":"bash link"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"^1.0.2","gzip-js":"^0.3.2","pbkdf2":"^3.0.4","promise-polyfill":"^2.1.0","uuid":"^2.0.1","webdav-fs":"^0.3.0"},"devDependencies":{"jsdoc-to-markdown":"^1.2.0","nodeunit":"^0.9.1"},"gitHead":"292fe0f0cef9f9b2d683bcdf6f73ee941f299b3c","_id":"buttercup@0.11.4","_shasum":"a52f0ee19d87d10e1468659804435e72e7309b6f","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"a52f0ee19d87d10e1468659804435e72e7309b6f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.11.4.tgz","integrity":"sha512-LXhmsWDocwNV+Gd+J6z6YmlQiL5Dx2cwfoPpyX6pR6UUts7XVztn8EFES/02ikgljt64r+XTD/Uo1zxu6XFVgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDc+KhC+hVznOIxDGjqP/ewbtpBmeM42DlWf77OX5LnkAiEAzZ2vGmeq77jhDqZMyiqtVu5J15k5Rx0Pn3TuEnJc7nI="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.12.0":{"name":"buttercup","version":"0.12.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","install":"bash link","test":"bash test"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.3.0"},"devDependencies":{"base64-img":"~1.0.3","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"a0a165fc44e00c87a4d094e6ff0c4741eb60b363","_id":"buttercup@0.12.0","_shasum":"7084f80780dfce338070d191dc837dc7fdef152f","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"7084f80780dfce338070d191dc837dc7fdef152f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.12.0.tgz","integrity":"sha512-JK14Ih7OYQ0TA5pXXKMG+GKxbALlkPLBk2KQ0utyHzrl2Z1wmvSUQtB+ETyuzIEXvFBPUgn1GqIBG5b4gt2TNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAbw3TnQt8SqKJwJE61rlEjlCVy2i8D+tlOhHWO9oJHeAiEAwTXyXyXyKR28iYZASlrYbJhc8SSinGyfEbNXZWIfivs="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.12.1":{"name":"buttercup","version":"0.12.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","install":"node scripts/link.js","test":"node node_modules/nodeunit/bin/nodeunit tests tests/integration","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration --reporter junit --output build"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.3.0"},"devDependencies":{"base64-img":"~1.0.3","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","fs-symlink":"~1.2.1","walk":"~2.3.9"},"gitHead":"7d2b4964b5061c1c1c5adec33deae3d7c4e0ddfb","_id":"buttercup@0.12.1","_shasum":"aae4ba67d34ec0b616a407539c51a0bf510870ef","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"aae4ba67d34ec0b616a407539c51a0bf510870ef","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.12.1.tgz","integrity":"sha512-xq9vaTLCt3MLxmO3U51pQY6kcJTmamEz7ujdXjAzPD5ABWq3LtK1q1cLKOx7tWfw2xmpbUdmaJukoTy+p6HhtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIdalj1HXr9Ql99bwAbSvjMFFfl/frZa6rbQGVCqcpSQIgTHFMdn0h2LnezIR2mAg61qzzyChQqworg7Jwf0MJUQI="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.12.2":{"name":"buttercup","version":"0.12.2","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","install":"node scripts/link.js","test":"node node_modules/nodeunit/bin/nodeunit tests tests/integration","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration --reporter junit --output build"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"~1.0.2","fs-symlink":"~1.2.1","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.3.0"},"devDependencies":{"base64-img":"~1.0.3","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"64e8fe098212165a71881e55d178c2fbc78a07ff","_id":"buttercup@0.12.2","_shasum":"b8db0381e9a91748edf3123c96044b87c63f084a","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"b8db0381e9a91748edf3123c96044b87c63f084a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.12.2.tgz","integrity":"sha512-zYRgP10UWYQF8CWtIfLYEuuEfJk1KjvKjpwtlGrUlmna5wEmyQMJDGym9RQUsQJI1dM4OqEZitfwvTZaTtpB4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBVlLf9kIsNwX5P4IC5lQTmLovymTxO86/qzWmayG8NwIhAKBqFP5mWC3lD80j+1dHidczywD5YBSAiRaKEQRhlYsK"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.13.0":{"name":"buttercup","version":"0.13.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","install":"node scripts/link.js","test":"node node_modules/nodeunit/bin/nodeunit tests tests/integration","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration --reporter junit --output build"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"~1.0.2","fs-symlink":"~1.2.1","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.3.0"},"devDependencies":{"base64-img":"~1.0.3","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"b1b7a607c00a1954e6427f2d6fb53c2f5bd86850","_id":"buttercup@0.13.0","_shasum":"7061146eacb9b5e9315c875aec5db6c81aeec456","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"7061146eacb9b5e9315c875aec5db6c81aeec456","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.13.0.tgz","integrity":"sha512-JNjZXAMdt/WI8ZPkCBTwpAneGx12dPSrwKIa832zH3XqemqmCxARZNdKqrDUe2MuOGlwTP7QDOHuOuz9Lhapnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGpN+Y89LDPCojo3XHu4kWvNeQqWxh0NWw8nHrrkBpZsAiEAqwXpyhbKTLAXAcqKF1p57arpZXTjsepagTSXq4NJTYQ="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/buttercup-0.13.0.tgz_1454691349715_0.43581167166121304"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.14.0":{"name":"buttercup","version":"0.14.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","install":"node scripts/link.js","test":"node node_modules/nodeunit/bin/nodeunit tests tests/integration","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration --reporter junit --output build"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"~1.0.2","fs-symlink":"~1.2.1","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.3.0"},"devDependencies":{"base64-img":"~1.0.3","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"68f766cecc612937e08111710a3676f57027a75d","_id":"buttercup@0.14.0","_shasum":"37efe7c61e18eb197af42ac8037401d2c5164818","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"37efe7c61e18eb197af42ac8037401d2c5164818","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.14.0.tgz","integrity":"sha512-XTh3kxe5R1rrznF/U1V/udhpRy4dnKvgjeK4gqCGveokntenOaaFPtYqVRyJYr2pOcZjCJSDvk1PJuBwmOusng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFJc8U9R2twyaaxoufYw3+MNBDvrbbVrGmkEs2KVjEQYAiADM+TsoI1RopEFFA89FSuvbpCwpviJrJD5I1n57ltoAA=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/buttercup-0.14.0.tgz_1455299433516_0.010390516137704253"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.15.0":{"name":"buttercup","version":"0.15.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","install":"node scripts/link.js","test":"node node_modules/nodeunit/bin/nodeunit tests tests/integration","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration --reporter junit --output build","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"~1.0.2","fs-symlink":"~1.2.1","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.3.0"},"devDependencies":{"base64-img":"~1.0.3","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"a6f8fa0acbd5c34e50f706ca32b1762dfc6a7d7d","_id":"buttercup@0.15.0","_shasum":"6b4e7bf21d14dfb17170b0112e3b14e356b42f77","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"6b4e7bf21d14dfb17170b0112e3b14e356b42f77","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.15.0.tgz","integrity":"sha512-pcAUUZSvim25435o+dGOG52+xnE0aRutRqjX4DIO7C6LooSmdiB8Gy1ZpUBvOvGmrk0oWzdXw7pEaMJIrLHpPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFgfn6rdFmWo8AVPA8vJw5DNATCz5YrbGH/M9MFFiJ5bAiBDHGxDfy3tUDwKtJ1jbHOcbXb1jA+PDCYJuLoY+L1c4w=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/buttercup-0.15.0.tgz_1455913542966_0.47227054787799716"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.15.1":{"name":"buttercup","version":"0.15.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","install":"node scripts/link.js","test":"node node_modules/nodeunit/bin/nodeunit tests tests/integration","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration --reporter junit --output build","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration"},"repository":{"type":"git","url":"git+https://github.com/perry-mitchell/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/perry-mitchell/buttercup-core/issues"},"homepage":"https://github.com/perry-mitchell/buttercup-core#readme","dependencies":{"clone":"~1.0.2","fs-symlink":"~1.2.1","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.3.0"},"devDependencies":{"base64-img":"~1.0.3","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"1e3f6f3dad893d8a9d26da30c4f5c0ef1b2df4eb","_id":"buttercup@0.15.1","_shasum":"752f56c51f711d47d8c640979a158ed6036bb75e","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"752f56c51f711d47d8c640979a158ed6036bb75e","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.15.1.tgz","integrity":"sha512-AsZHMfnVWmBht8/sHCISS1iqeeDNmJIQ/dIbgwUDsJyO3RRaQ8fjbEA6cjI0hKwEX6eCnAvVafEdEKoWolQ1qg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFXbXUJdjbKbOIIIImYKH3H1p75Whj7vtg8UaRJLCKxuAiAYUz3omudQjyUsxFFYM0OxIDNoTddMtieJhKzgVDtbgw=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/buttercup-0.15.1.tgz_1455970221179_0.7341661634854972"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.16.0":{"name":"buttercup","version":"0.16.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","install":"node scripts/link.js","test":"npm run test:lint && npm run test:nodeunit","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","fs-symlink":"~1.2.1","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"base64-img":"~1.0.3","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"e7e1bb3b5c3790e2b8a459e54bf0925e79f034a5","_id":"buttercup@0.16.0","_shasum":"3c17d2004b3898fcff59d15de098deba014a9769","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"3c17d2004b3898fcff59d15de098deba014a9769","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.16.0.tgz","integrity":"sha512-UiBPJKwKm/lCOGxtGGRQnHAe8R28qyYt4e5Wb2rUaC7Ex1ntXxSWRzmnfNhUn6TXsK1A7A/yJhD9sop5I44TNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCo+b3p/kBGlTfWnts6kgumMg5GIhTq3Pk/PVrR60M1PQIhAKQ9CobibhriGFU/4z48cIy7ie4TbjRdrc04KKYKcStZ"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/buttercup-0.16.0.tgz_1456079699157_0.860395893920213"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.17.0":{"name":"buttercup","version":"0.17.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","install":"node scripts/link.js","test":"npm run test:lint && npm run test:nodeunit","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","fs-symlink":"~1.2.1","gzip-js":"~0.3.2","pbkdf2":"~3.0.4","promise-polyfill":"~2.1.0","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"base64-img":"~1.0.3","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"61aefa2c4e7463849573c2cd0b230147f209a788","_id":"buttercup@0.17.0","_shasum":"62b55c2ce5bfaee408ab58bec09a6d06eee6be5f","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"62b55c2ce5bfaee408ab58bec09a6d06eee6be5f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.17.0.tgz","integrity":"sha512-pBedXVwlC0dzfa6UIaRrJu2Qr6eLxbOF3w3/brLfesMJy7EbunxF/WKwDShRBelLC0QH3xVzF5pORV4n+UYE5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+IspsoBrm1YkZmed2TMsi5PfTKdLm1Bu87/VMeNyS+AIgCp0NX94t7asONYmO6vbVu/9Q8C3ThA5WXX07vXfxC3U="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/buttercup-0.17.0.tgz_1456572662416_0.6665610671043396"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.18.0":{"name":"buttercup","version":"0.18.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","install":"node scripts/link.js","test":"npm run test:lint && npm run test:nodeunit","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","fs-symlink":"~1.2.1","gzip-js":"~0.3.2","iocane":"~0.2.0","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"base64-img":"~1.0.3","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"1d77807febf37fbf71c2cd643f7747539bf8c37d","_id":"buttercup@0.18.0","_shasum":"1321bafc82f4f465b0629c5a5a22f376c269033f","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"1321bafc82f4f465b0629c5a5a22f376c269033f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.18.0.tgz","integrity":"sha512-BDmtJgRpc7OaaNgsYGS+CL6pUzqVMDcXEKaTsCiPw79wBaB0F6T7UY0/IxoO4bfHX75PQ0zp0JsWUU0fIp0Hrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3r/zc1oMn6RFLGkdFrjF/sJFj+us6VAcxIYNMeCjz+AiBLuWlND/PwILi8R19W58ty8ngfAMvC3ptpnBB2zYsTdA=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.18.0.tgz_1459636367894_0.035023388685658574"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.19.0":{"name":"buttercup","version":"0.19.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","test":"npm run test:lint && npm run test:nodeunit","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.3.0","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"base64-img":"~1.0.3","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"cfa834996f943c0c71c7d0c88f50c653e961639e","_id":"buttercup@0.19.0","_shasum":"66fc657604c667cbee27786148baff68c279c392","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"66fc657604c667cbee27786148baff68c279c392","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.19.0.tgz","integrity":"sha512-hAeN98SIZpZDOUF32JX5R3XdPDIPproDlKCL469CHSTgBXSnXAlX2WAOF+ddelGk4gHHiL83DtsX9WW8kvzUhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmu37byA5MPyREsKS+ODkKDvZE0XZQK8ugaxdZI5XQcwIhAPy2tGL4449Pv3NN5Yxoyk9VqP3iLGqL6DSGBdCHHA4z"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.19.0.tgz_1460232403565_0.846872775349766"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.20.0":{"name":"buttercup","version":"0.20.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:nodeunit","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.3.0","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"base64-img":"~1.0.3","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"c8467a81491214450dca54f26f2ace3ebf836990","_id":"buttercup@0.20.0","_shasum":"82e9ab36ec17918db6b13bd67c7fb6bba6e74087","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"82e9ab36ec17918db6b13bd67c7fb6bba6e74087","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.20.0.tgz","integrity":"sha512-tdvg7wRQRtxldaSfXyGamGeSweP1P/lKpgSQnqCGcTchnVih69VbPznSGgTpChLWchZDDSQtH8b8p0ui/CNEYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGA/YSmWmXxQgtewWaVWoDRTfH0J7u+Udxz5l+UdwHCQIhAIU57r8jmTdVZ0XQ0pxmW+2LUid8eOOffUwyLV3F9Jcy"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/buttercup-0.20.0.tgz_1468667862409_0.5995352622121572"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.20.1":{"name":"buttercup","version":"0.20.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:nodeunit","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.3.0","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"base64-img":"~1.0.3","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"61f57e27ca24b0ee0eb4a35437cc8275620a8cb9","_id":"buttercup@0.20.1","_shasum":"e1a38c90d4718d689c41925dc5d5f6b103a79791","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"e1a38c90d4718d689c41925dc5d5f6b103a79791","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.20.1.tgz","integrity":"sha512-CewjuYoIN0ReEi3uFG7sv7lbmQlekwgeVYzGcdNckZslw+vpbqKeqtFtMUNBmfLiqR2PvmMEFMEnUb9mcSP5Tw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHH1rxt/eeh7J4WcYscs6rIMSJuZZyiBK1OcUWG/ZN3AIhAPo7md9vF1kUqy+j6iSajhn4j5JAqWBfI/wm09+HY9BT"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.20.1.tgz_1468780696832_0.2496096461545676"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.21.0":{"name":"buttercup","version":"0.21.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.3.0","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"base64-img":"~1.0.3","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"9d9315fcbce527498ba7acb69a6a1b902aa4f1e1","_id":"buttercup@0.21.0","_shasum":"ca6251373df04f7c3ba398b3be279dba7d603703","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"ca6251373df04f7c3ba398b3be279dba7d603703","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.21.0.tgz","integrity":"sha512-0vnDU/yZLyURGU4Cz12X3eSwLp1fNzMgrnHqsTCsZJShicnbkcfRpnfInIvzczj9Xznmaf/TZw45CXS1dgM2Fg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICZ6kbJOkxTku/nVA76pdwllYCAgtyXDuteUh4zsaIxoAiAa1HFHS63DnY1BgWrDZqVoHs1FuaouQZU3+rnhu7PYag=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.21.0.tgz_1470594901324_0.7214195039123297"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.22.0":{"name":"buttercup","version":"0.22.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build:images":"node resources/prepare-images.js","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.4.0","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"base64-img":"~1.0.3","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"a28dd8963d538277b2bbf8a05bd6a1820ae371a0","_id":"buttercup@0.22.0","_shasum":"809e5027d8048fe63354ef1d319fbcc982d5ec2a","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"809e5027d8048fe63354ef1d319fbcc982d5ec2a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.22.0.tgz","integrity":"sha512-xc4CDwhleclwQCtywSoYEcpPaHrOpv0p9N7nCBkMObkQ7ghk5VEO0YrM/WubUFj7Jli5ct9LMG2Id7QfUkYWNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC56OKCVwpyR877dDRY4lhMTqIfCGclt+4n9emv6b5/SAIhAMepaw7WVGNtde8Wl+MXd+9AzWokKDwPkcnt+nx61ctQ"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.22.0.tgz_1475005374642_0.5134247178211808"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.23.0":{"name":"buttercup","version":"0.23.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.4.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"55474bf745712a3ed7bd7802ea6e6e98d843a1e1","_id":"buttercup@0.23.0","_shasum":"16268b5f0de7f59d650b6b7727eba76a7ea5676d","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"16268b5f0de7f59d650b6b7727eba76a7ea5676d","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.23.0.tgz","integrity":"sha512-HH90muNZJ6MuD+49EqrO0lyIXPqvjxU2go8gt4FW/Dr6AkS4xOx3Qy6sAInfxzYCz/o6YjoQeuSdaIOEZLvjoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDsCGvJORRvKlUIfRJsy57Ss5NP0KOIz4siR5gekFTXqAiEAsRVQeCu1TZAFfKjaW+JagTryU2za1/zYkmwcCHW4ReM="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/buttercup-0.23.0.tgz_1475424541999_0.9016553345136344"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.24.0":{"name":"buttercup","version":"0.24.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.4.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"6fb4e8880f94728ad0d47a21eda15e35f862edc1","_id":"buttercup@0.24.0","_shasum":"6a3f810d8afe4e00158914f3c10287841a27f1ac","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"6a3f810d8afe4e00158914f3c10287841a27f1ac","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.24.0.tgz","integrity":"sha512-3DK3YvGEqyPLevXbcNHzUL64q3uWGculTbJ81qe2RBvkNc3OhJ6xZ/c0dHSTnT7f+TYhjYwIOZl+aIhOb35U1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEeedVau/Z+xOxHCw3Wtm2OnWO17NnJ4iDra4NHZ0eopAiBqv2FnGPEVpcOA52rVS/gQod90han6epSKIOgnfqJjUQ=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.24.0.tgz_1476534750770_0.957236657384783"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.25.0":{"name":"buttercup","version":"0.25.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.4.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"bf48cf6d0057c64ba0de96ab092e924f39dd66fd","_id":"buttercup@0.25.0","_shasum":"7055d6ef800c3fade5c3b572518e9e169b3435f7","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"7055d6ef800c3fade5c3b572518e9e169b3435f7","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.25.0.tgz","integrity":"sha512-BiDKZ5dndVaSulqKw++QZZ91WuYgDnINlxS0BRD7CLTbuERpK9NrP3DQqRpzuUpfNHH0PkiyjeIYedBVzvqXVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDyqKpqBpv8Ei7D3884WKVjKropgHieWkMdCibZ/+Fj6AiAK9bvB0JF+ObmIiP6BvTe7JM++4x7bdDP9ByZaoFq2LQ=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.25.0.tgz_1476642881992_0.15950941131450236"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.26.0":{"name":"buttercup","version":"0.26.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.4.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"16845d9a70ec18ee9f720a5d09b99c295f7bbe70","_id":"buttercup@0.26.0","_shasum":"dd83b34f7716df75ccfd169af5adb642b57c8298","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"dd83b34f7716df75ccfd169af5adb642b57c8298","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.26.0.tgz","integrity":"sha512-ycxSn5z0DkEeRix2YX8vVagyccJM6qLmtJq0mF7LSxOBnUPYFcvpfRGqadcl/MU86LURwOsaTOkzskSU/XKBHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDu9Enq82da22YGeUqZL7mGfeSgIns4TrlIbs+gU3P3YgIhAJygb2+6K/VYTnQlagN1tD4Ib0XdRk3enWhb4IQY7a2T"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.26.0.tgz_1477228432556_0.7733948738314211"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.27.0":{"name":"buttercup","version":"0.27.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.4.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","walk":"~2.3.9"},"gitHead":"b3905a2e082be0c80378cefe558fe9c536f89a4f","_id":"buttercup@0.27.0","_shasum":"0dae1fdce9c93b492690e495d0d58924765f0905","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"0dae1fdce9c93b492690e495d0d58924765f0905","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.27.0.tgz","integrity":"sha512-Q4Qvt/PJ7ye/8Ih4XmDUw6b+Gw3BxLRPWAxuFfovbifiqvOWDK/t+8tzQWAmEUDvR0mdMR7akWTs17190CGrAg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDd/7VCf11dJk11mjxtvvFCTqJ8s99fKjThBkMaBtXocgIgXvZiBtsfn9/g89Zm1wU4iTmLsl+jXxwLko3D1999Ir0="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.27.0.tgz_1477776781578_0.4862560627516359"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.28.0":{"name":"buttercup","version":"0.28.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","gzip-js":"~0.3.2","iocane":"~0.4.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"39ff2aefb80bea54762e834dbe039c4d5f9b7f41","_id":"buttercup@0.28.0","_shasum":"13af9f0444346de5f704dcfce0e20d73d75c66bd","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"13af9f0444346de5f704dcfce0e20d73d75c66bd","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.28.0.tgz","integrity":"sha512-6X6hR3AFLjghZVs9HlWOIO5yPhjR8IGKW9tEicA+wfo1+9Kh0xLvVBGhJiPSS09LBKdNVhygNIS+gXdApBvt8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqcuDPsS9ziJjccNL1mft393MjNRSyaTM+1QOkPMeHiQIhAN6nCmNqd1KD80tZ2/hEF7pTc9JZ/bX/DYVYrAYReFA3"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.28.0.tgz_1478549622569_0.6431890877429396"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.29.0":{"name":"buttercup","version":"0.29.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"c01b22bb78d4aba351344bd26e88d659b5808974","_id":"buttercup@0.29.0","_shasum":"f6b02fc3dd0f6912930072ba3959052eadce8b8d","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"f6b02fc3dd0f6912930072ba3959052eadce8b8d","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.29.0.tgz","integrity":"sha512-7KZ2xSkYSfDCnKIIZwcKjFDJSARuUeX/8v96S3PrLdUetT+7JCT57HGE/C3yNVES125btiVVwXlIoVLizCpY/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAzd5R56F/PQwSugKpo5+WNweiJ+6MiqpVr8MIqhNMKqAiEA26LzhTp5scv4RJJMTVk/ErXM72B5ZFhzIKxlhM9iVJ0="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.29.0.tgz_1480538676240_0.21070895134471357"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.30.0-rc1":{"name":"buttercup","version":"0.30.0-rc1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"43a9a4110e0d1db41e8335148c77389469fd5063","_id":"buttercup@0.30.0-rc1","_shasum":"5a630afdb2f43b94a20debf1d37b35f1805d5fec","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"5a630afdb2f43b94a20debf1d37b35f1805d5fec","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.30.0-rc1.tgz","integrity":"sha512-tbjVaeDeFPxU++V11Q5o5BvrYFSGOgkDHBUNXP1dbSGs6ZcppwhjPS3cezm+GeQSeBOzvXcd9a/KDMFSwnAuhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDDSodG3qcpYVYMCW48EILEAPJlborNdaj5dvuLpzCabAiAp/+FYaA8nFimcv53TuB1/RQl8+XtLI6vvJ3Giy2Ob7A=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.30.0-rc1.tgz_1482352692118_0.578951537143439"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.30.0-rc2":{"name":"buttercup","version":"0.30.0-rc2","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"13c327ef19c1c342c8da2cbfc2a0cd2159305874","_id":"buttercup@0.30.0-rc2","_shasum":"c59af300ade1cad7b6f3897eee7686593449e9ad","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"c59af300ade1cad7b6f3897eee7686593449e9ad","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.30.0-rc2.tgz","integrity":"sha512-pC4xhztX1TabkvqJulmDQtdfzW3VRCe7p/twTSGGkpNcVb2hbib81392QySthuB1evwNABuQs+Io/vVbI9FpkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+1BfOOe+dbpn/y4y2m6QwLlDz6knHz2nGyLYHcMUBkAiEA8LezAUfF8OqIdd4a8sNCg40pnN7+Wztn8OKtSSh0Gns="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.30.0-rc2.tgz_1482760449863_0.48524575494229794"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.30.0-rc3":{"name":"buttercup","version":"0.30.0-rc3","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"e2527a457ed142189fc2985b584409b8a95555e9","_id":"buttercup@0.30.0-rc3","_shasum":"e4630c412f04b7df23114d942693847fbf9a121e","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"e4630c412f04b7df23114d942693847fbf9a121e","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.30.0-rc3.tgz","integrity":"sha512-7nqWk0knGcWDpsd9jWx5dj5Xzyk8PLjfpkwCvBMeqyP73m3V0zWTjY7tOt0ZYvrCsoXLt0wOhyCAW57/jrkFEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMkmdkDje65v2AO+1Qo+z+GFpWTSeeSZ+aP8MI8s5pOAiEA4fSo9RzJ9stVsxWc0JgvvHXYSkmkWPB9AY6WI+vzDtE="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.30.0-rc3.tgz_1482772947570_0.3033367549069226"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.30.0":{"name":"buttercup","version":"0.30.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"c741d8d59d595e10e3cdeb887976ed03e68a49e8","_id":"buttercup@0.30.0","_shasum":"98bb3e141a85d8c477d9576f1e6d2252b558809a","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"98bb3e141a85d8c477d9576f1e6d2252b558809a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.30.0.tgz","integrity":"sha512-welMMmTetn3vQtUc4WGR0qEOT+qpImpib2pRFTNyD3QwdxRRK39uCXXtqh7KFeQ87hWkPxxfV4Fui+TobeNC2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCElhDqhCsCOCSwmsBn5zjnrVTdB7Kuy0vqaah1xvfQ/QIgXforrsCA38e6Sy97t4dwjdvg0xyXeFtn/iJx/NqJ5RE="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.30.0.tgz_1482875492871_0.6374637137632817"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.30.2":{"name":"buttercup","version":"0.30.2","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"0f33694416a039b55fd36b786823bd96079c8082","_id":"buttercup@0.30.2","_shasum":"22288530c00b1528ca1d9afd67e673f68bea7f64","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"22288530c00b1528ca1d9afd67e673f68bea7f64","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.30.2.tgz","integrity":"sha512-5iDkNIO0CpFnGQVpysUKVsVrjkBOJYt910hh4anYvh4PtcWk4KFjYCcpTNxBT4EkFN/uU+Hpx9+j/8KzIb/c2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNnEM6Om58iIc7Q2ehlAHNBta3cXjDfLKA3w4Wgw4+OQIhAKI/RdDQ9dkODBLIlemJNXNETnhwWlHW3kIQRr+Mx0qD"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.30.2.tgz_1483086208834_0.011327693006023765"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.31.0":{"name":"buttercup","version":"0.31.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"a94ce6af44c2b53f2ddfae407255eee30678d5c9","_id":"buttercup@0.31.0","_shasum":"f425b4ede433cb8ff2350e1df1c6d534974d1e21","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"f425b4ede433cb8ff2350e1df1c6d534974d1e21","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.31.0.tgz","integrity":"sha512-DAjX/2WqZaDUC8Mb2vg91/f1iaKLFQAfTXfFc3dMtvQzQL8cmeR0UaSKUqxkJhcYPHf59R4Lmh4o6ogpCknnOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmMa3EPItg/Imdw/mtY8o/is7Ut2v7vjk9BOK1/QcfsAiEAylhSjBl2lowEDndSTP5oLeTwE5acecehh7hmSRa9YtY="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.31.0.tgz_1483561337663_0.20761936018243432"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.32.0":{"name":"buttercup","version":"0.32.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"ace5cc971ac9b7e1acb35ac1a1710559f699a5bd","_id":"buttercup@0.32.0","_shasum":"96791d8bd9f6bef0bb6dc8260dfbd8beb040fedb","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"96791d8bd9f6bef0bb6dc8260dfbd8beb040fedb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.32.0.tgz","integrity":"sha512-BOp0sCZpKIVZ8Q7smCN74l0WzK8ZO6qbroQiwJ/OerBB0VCtqLhqR/hCZGP5MqOj6Xzw4UfDEbP6ZgaXAmP0ZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQYs+rf/8eoIodSj5Ub6wFJEV4HGKtXfh+C6De89FVTAIhAOivDfi+2xlgFsH77OjRxCpsWDV3smzXIJNT/WYl/403"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.32.0.tgz_1483653757611_0.3192089337389916"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.33.0":{"name":"buttercup","version":"0.33.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"0841c0ad5108a307f0d581581f5c116ab7e79fb8","_id":"buttercup@0.33.0","_shasum":"c2ef4f6d4301c71d741fa782540e6f5160db71ad","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"c2ef4f6d4301c71d741fa782540e6f5160db71ad","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.33.0.tgz","integrity":"sha512-3t72y4Z1OEJhz+p29FZUr4BR318cQmVkPYG/cQQG1dDOx3/lhhaleogoBpgwn8OHLxzJSow7yNWQyXhz9Z0Z7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbCX364ZxV9xEeTjN5nngmX6j/ZiuWbnafRRJAWq9aXAiAB79sNhSDVsymz+01SavM6rPCU8tAKmVZZsmYqhtIUSA=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.33.0.tgz_1483787550608_0.33564705261960626"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.33.1":{"name":"buttercup","version":"0.33.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","prepublish":"npm test","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"a37bdd0cf2f2a7754ff755ad7814e216c834a59c","_id":"buttercup@0.33.1","_shasum":"560d5651fd509a3b624645c0d5caa5f46df3bb67","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"560d5651fd509a3b624645c0d5caa5f46df3bb67","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.33.1.tgz","integrity":"sha512-CSfUyZ1nNn5uSYfasN3l28jdMMUu5+09bwpUat/poWPt6Yv05CouHZUIbBDgC2zLx9XcqXmd47Jne5siYaEDug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGrbwzgULfH5OCc58EiYMO7rWnRIniwlfFEWGJwIR8yrAiATuYnJpW02fpintgSRTl0Kk+30hzBd5HIIoRTpuThH/w=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.33.1.tgz_1483799003218_0.5338996236678213"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.33.2":{"name":"buttercup","version":"0.33.2","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","prepublish":"npm test","test":"npm run test:lint && npm run test:istanbul","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:junit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands --reporter junit --output build","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.5.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","walk":"~2.3.9"},"gitHead":"03195b4ef4e35701186f6da0067a91b4ed2822b2","_id":"buttercup@0.33.2","_shasum":"2b9dab2a7c68f4520f91eb1a32789cff5364ffeb","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"2b9dab2a7c68f4520f91eb1a32789cff5364ffeb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.33.2.tgz","integrity":"sha512-BnnKnBqpfFqrHBkoIbrKvNEs0Ev4vNAUGtVKWa+DXkeQJJt10ZFG3iDX2VqCjqWEU/yLPr/sorrJdyz+UvWWfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBRgs/nNrCx6OaJT9eUMLXDosDIuynnrNrIZUNC4w/9EAiAKSNnAPskpYPvcFytXs7duves/Lz01N8LYQTm/6SPsfQ=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.33.2.tgz_1483800983568_0.5245791389606893"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.34.0":{"name":"buttercup","version":"0.34.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js test/unit/**/*.spec.js"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.6.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"38dd08738bb5e4874e71b6d409bf8c7e3b8ba63e","_id":"buttercup@0.34.0","_shasum":"a847859ca45e4465e5f7c04efd670caaf1cf7603","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"a847859ca45e4465e5f7c04efd670caaf1cf7603","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.34.0.tgz","integrity":"sha512-gdziceFnK7uD5cXFbHU1qIkaT43oLvYVR4Bso+1c4ev+TrlcJK//r1doUbBVD8/ftkoXHkkIy4hyb9KOs23twA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGToI3xARyBSHh/hvBIyAqVRnSkaUR6OyAcE+agvJ74wAiBU8vFNZ3qCoOOY++ziOblq3CSku4oKyobvdY6eZghpTQ=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.34.0.tgz_1488824338683_0.4927248142194003"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.35.0":{"name":"buttercup","version":"0.35.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js test/unit/**/*.spec.js"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"^2.3.3","gzip-js":"~0.3.2","iocane":"~0.6.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"d3e868b5b58d48c04625f72144135deccbde5390","_id":"buttercup@0.35.0","_shasum":"eecdc4f9d82497052f049b36c03470ac7afa3cbf","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"eecdc4f9d82497052f049b36c03470ac7afa3cbf","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.35.0.tgz","integrity":"sha512-9pRZ04m9Y76ETAl7tIidQ6Uik5f2AJNlribU5zUxOIg8Il8ViYgufsWm60JYf2s2WJbQVtuAfway60T977tz3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwBJhTi6dS+nwp0oKdZpDF7ek+sJ7KLTfbVRJVXIjPGwIhAPbK8h10uOqqCiNZm55q8PfL3ImqGP79RdoeRYR1B8ac"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.35.0.tgz_1489240996404_0.6730133683886379"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.36.0":{"name":"buttercup","version":"0.36.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js test/unit/**/*.spec.js"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","gzip-js":"~0.3.2","iocane":"~0.6.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"80d6f589ea617df3fca86e583f6eb30d7a76c7ac","_id":"buttercup@0.36.0","_shasum":"28797b107073a94c12db22c80c8e80fbf9b627fb","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"28797b107073a94c12db22c80c8e80fbf9b627fb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.36.0.tgz","integrity":"sha512-VVBr0SZeqmCfF9HBRN80EHR8vpvwTFi6KTYIuJ+OZDhAO795ZzbV7YSl9WyTne4Hl5C8H9fUq5LZimYlpOHV+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2Mykz0YQpEmFgO4PCSH1mzG5htMSLNnsjlP3UlvQfPgIhALB+JcAtR6XrGvyxpN14irIiV6IbnysvgPHdcMETjpuE"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.36.0.tgz_1490031642046_0.599219084251672"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.37.0":{"name":"buttercup","version":"0.37.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js test/unit/**/*.spec.js"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","gzip-js":"~0.3.2","iocane":"~0.6.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"f2d9020e910ba75da7336f5b3c5ec65187119258","_id":"buttercup@0.37.0","_shasum":"1bc1c19efe41656d41afc7e3e134f9cc043ab68a","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"1bc1c19efe41656d41afc7e3e134f9cc043ab68a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.37.0.tgz","integrity":"sha512-h0w6dKsi726krflFcGZyZI1s1bQWlmFQ+2zEckiwieE77AmeFKX4uvUg/K5H6khBy1gw1EicBGce4eOW0Ud7Ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzL4dhFLa2oxruT6k8LQRffVHewigvwW8mluwuNFc/4AIgKH8cHJ2QnPsTqsCXscXYzMPfeJXZZO9r63FycqKALlM="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.37.0.tgz_1490639989840_0.8984228374902159"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.37.1":{"name":"buttercup","version":"0.37.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js test/unit/**/*.spec.js"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","gzip-js":"~0.3.2","iocane":"~0.6.0","node-fetch":"~1.6.3","uuid":"~2.0.1","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"3bf47381396280c68aadb224610b16f8f3a71e75","_id":"buttercup@0.37.1","_shasum":"0b11c74f72342bfc3754cc4215106b53e17d8d9f","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"0b11c74f72342bfc3754cc4215106b53e17d8d9f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.37.1.tgz","integrity":"sha512-5+l5yzIGncFU88u/fSAeryuJFEhYdYfyOYM5uYmmV/Eo1SeiIRfiOk5BrYB/G6zJSYRAC5/28D7RuHdzP8vdgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADKMU6ySVYqAhO67da3VQU5t0gcCPA2xu6Qha3cQAd3AiEAt94g+hCg5GdGAyqDUbFGN/EjAq+vF2YEmqH78cnoC/c="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.37.1.tgz_1492358567580_0.24096179194748402"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.38.0":{"name":"buttercup","version":"0.38.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup-pw/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup-pw/buttercup-core/issues"},"homepage":"https://github.com/buttercup-pw/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"0ab00f723604b81e4ebcbc31240e4dba1c39825d","_id":"buttercup@0.38.0","_shasum":"ef134e7358d1ca92d2df37e0ac9814bab22d7ac9","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"ef134e7358d1ca92d2df37e0ac9814bab22d7ac9","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.38.0.tgz","integrity":"sha512-CiLjV/0cpuN2x63HhBFTlVQsYqcPDcW63zv8IonzdU1yreBZrYMKVO2k+md9YtpvX7LjDOljoryR7+ueIeoGiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAR31LmvZy0MFqgGd6tUA2NKTAZBrhoHHv+iYHq/fWXHAiEA1/dy3gbgwP1Wb1j/Zk5xkP9kijNtzypQt1eq+mxBafc="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/buttercup-0.38.0.tgz_1493484247868_0.9159954122733325"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.38.1":{"name":"buttercup","version":"0.38.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"b719aa2497fc8f46c437c26436c4b10fc09a7989","_id":"buttercup@0.38.1","_shasum":"f42224dd75ac486829a020d6ce3c4c55667ba364","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.9.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"f42224dd75ac486829a020d6ce3c4c55667ba364","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.38.1.tgz","integrity":"sha512-3d2YuCe7UTEd3veCXDp5ZGurzs88zBa16eatByp1BQE+vug1b9Iii6rHjyYdhLyUcXAJlm/dTICDIM3ZYsL+hQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQsVpDdJ2JYgO4kV0CsTfQXiJ2b5TWZ6PFZnbQ0kSOWAiEAkkHBoDwGiD/PEhCl1uXyJsUNax96cAzvJsVbNi8TPVU="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/buttercup-0.38.1.tgz_1493748246936_0.5921401756349951"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.39.0":{"name":"buttercup","version":"0.39.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"bee983c8c3b13972dd4fe8a00bc6eb6031010bf7","_id":"buttercup@0.39.0","_shasum":"64a86ee5ceb789167faa440dfae2068ce8fc10d5","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"64a86ee5ceb789167faa440dfae2068ce8fc10d5","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.39.0.tgz","integrity":"sha512-m1PLBuWMZMDv0xOjWWz+1Hg+ismRJnJw1icYFo9oV5dLIYiKioUQoQqkumPJX1Bb0zkTeewrXITk4DgTmUn9XQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHtIYnKSRrryR6gB211+p71qTgmwc7UO53lXlEaa3TzgIgCcjxwYqTeQiK51kxMtfK1/lCFBFRPdKEHh2FzpmzlnU="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.39.0.tgz_1495392882351_0.10266179125756025"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.39.1":{"name":"buttercup","version":"0.39.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~0.4.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"7941a1b22ca7ec9cc4f6b3b042ebc8edd94bf110","_id":"buttercup@0.39.1","_shasum":"89e1985d7d48bd83d271642f3fe9d06a5439cea2","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"89e1985d7d48bd83d271642f3fe9d06a5439cea2","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.39.1.tgz","integrity":"sha512-MpsrnQRxZ6i4BCLYZ283cUjkgA8uc9HPo5GDNnhQuriewZuB/0EI5E4vltDpDjJkE0X0BTbiBBsAHwYVzybDJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKrcUc57wEDsG/AuGr04GuZ/6EOtLnA1aS+aIFdK6wRgIgbPkdUv3D5VlG5ubwEVAXKBR61U97i7QdeqzhnSVtwKU="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.39.1.tgz_1495473095369_0.06753952498547733"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.40.0":{"name":"buttercup","version":"0.40.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.0.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"ab4173e7161c3289451d13459f5702375ba41f90","_id":"buttercup@0.40.0","_shasum":"d92579455359a23112011feeff2dd9e4518c25b6","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"d92579455359a23112011feeff2dd9e4518c25b6","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.40.0.tgz","integrity":"sha512-ZIjH8R0Z+DN4l35ND7mCNh0z9tLX1tfPuWD6HFcYF3Y3w0QJcyDArVis+XleHdBfcpy7QbXma/vZpliFrvyW8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXItpuohVeeDq48WkT8IIMfc5xgoQv/wcIdiL98m3qAQIhAJ9LdDhiH9AqgKR1qowt/v43tiVBurBErbw6CYsE9iWf"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.40.0.tgz_1495967444489_0.6411643791943789"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.40.1":{"name":"buttercup","version":"0.40.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.0.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"587e1131cacc9c7127277476ebb4175890bd7866","_id":"buttercup@0.40.1","_shasum":"853c6856bd709bd8dc0680c360f51919b11e77b3","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"853c6856bd709bd8dc0680c360f51919b11e77b3","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.40.1.tgz","integrity":"sha512-qTa8sozfl6c5DW2q8FGijw1JGJ79yy7tmrxcclFt7mo3rcR9ktUUOF3Hmvv/xB+vmCRHrLj3b1OW5MQfmUPuEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICfMOqN/hjTaJXNX/Sn5GgPK7BWM5JPntbfSO8/6vCyvAiEA27r+IDEjq7rafewP32ChzZjRhJlN4y70ToaPLVf5LFU="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.40.1.tgz_1497121265903_0.42605319572612643"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.41.0":{"name":"buttercup","version":"0.41.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.3.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"d79f8d1ab4188bc535514cbc40585f53efb921d0","_id":"buttercup@0.41.0","_shasum":"29e37052882d8f25c0d1727fec223f44d23a9cd0","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"29e37052882d8f25c0d1727fec223f44d23a9cd0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.41.0.tgz","integrity":"sha512-8zfjX79cBE4TAaFQzHbXrvyZ9uxU2G1pt/P4rpg5paIjFQjru+2yD0950OxjS7dbDt1+QAItqgP5Z5owxt78Ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3WE3Gr9ayZ66xBtJzNI62ViQAxnGeqFVFzXpbQC4e7QIhAKOT5l+YZ2CE4gVsDMMj4oziOk93R7zaaDci3g7mxp3U"}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.41.0.tgz_1498331517346_0.3889235451351851"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.41.1":{"name":"buttercup","version":"0.41.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.3.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"62b472959146b1385469b251e7cc37d4dda1b02c","_id":"buttercup@0.41.1","_shasum":"3ae341de6115f0c99e1bcd56dacfe8fd7d233407","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"3ae341de6115f0c99e1bcd56dacfe8fd7d233407","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.41.1.tgz","integrity":"sha512-jWDHYAE1jv/xBjh4dcLWSr+xiy4xJqehrW2fdisVH1EAJe0mrjBrLHU0qa1JwJe2v9IaYerCZUzpUMd11naKpQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCudm2bc88W9AxaXw3oLBsR3ws42Unes7DLJD603JrWlAIgGV3ptP7VYdllb0kTKhUfG3sk9i8NQeCqBT8S8GRyp38="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.41.1.tgz_1498850212869_0.48913637013174593"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.41.2":{"name":"buttercup","version":"0.41.2","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.3.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"396a9ac7e461972d31ef6406cde86801a7bb74d4","_id":"buttercup@0.41.2","_shasum":"8fc05f570182fe0f50a21c759b1b0511c82b2186","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"8fc05f570182fe0f50a21c759b1b0511c82b2186","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.41.2.tgz","integrity":"sha512-9bUZbFBsgzIb+tGVy+wUe/1J2S195lSPz/p3LRW5lCPxyaGxBgvG+9ngj/WhrhktGc9Uh06DtS0uCMbTdM+66g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM7RgEpfY/rnSqbiUVcScN8NRqF3zB8L8iCY2//o03rQIgXj+f3dLGlBx9k7rh0M2i3iLuJaJBMvB3ZPIAxmGsUew="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.41.2.tgz_1499111263471_0.4759996540378779"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.42.0":{"name":"buttercup","version":"0.42.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.3.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"cae481905a6ba3ec34b3a5b43c75d4ff65e59a43","_id":"buttercup@0.42.0","_shasum":"60cfbd930e9e2788b146f578cb3f368a148aa9fd","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"60cfbd930e9e2788b146f578cb3f368a148aa9fd","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.42.0.tgz","integrity":"sha512-DucxuPHmNPY1UpCsbwmSgJUJqRd6eV4Zl8QCqtcSDmAdll6zYwnIj9YRDEnlpnpA8J93br7TKrCN3lsc4V+Rbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8GPxCwvFL/cMy2C9JGjj9BBLxfQTG9EkwPROl+RsK5AiEAqrirnLtL1JobqKuZqECUouCXH4c6z0kiV4LuVHGAUPc="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.42.0.tgz_1499373420385_0.10717683332040906"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.42.1":{"name":"buttercup","version":"0.42.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/unit/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.3.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"bcd71f6b2219af24a294b758f712d34d68a58342","_id":"buttercup@0.42.1","_shasum":"e1854bed01a4a5653cc4630650e57eb8fc98e604","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"e1854bed01a4a5653cc4630650e57eb8fc98e604","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.42.1.tgz","integrity":"sha512-3zaXhPaO2lc6U98OwjKWyG7r3Uoxl3wVf52fsOfWEo+weIkW+Hovul+cgROL0+oVcNCFl2USYT0Wu/ksRdaq4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHV9iq3oShybYtBObd1O5Q334+gO3vyi4q/aMMWVuhM7AiAjMZKNj4Y13B8xJX7WjDZvamEudov2Cx+MEDQvfJL5Qg=="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.42.1.tgz_1499447187527_0.762347700772807"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.43.0":{"name":"buttercup","version":"0.43.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit && npm run test:integration","test:ci":"npm test && npm run test:codeclimate","test:codeclimate":"codeclimate-test-reporter < coverage/lcov.info","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.3.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"f28f3344b31f53c3894e4b0e00357e2129b12c8c","_id":"buttercup@0.43.0","_shasum":"bf4933c74c6f7bb045333b7d108cd0c8df01cd7b","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"bf4933c74c6f7bb045333b7d108cd0c8df01cd7b","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.43.0.tgz","integrity":"sha512-uDX5V4PKJMXTG3jooVAUMJGf0PpuA4mWk5wzF0VcdAeO5Mw+jgDIngWY3JYn2ZaMT1IDswmVTcmikO6HTp+TMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNMRpOog1EaRk0UZoHWfQ0Gl2kGBFPNvzAvo9PGkGeLAIgOxo9rfhwgBjOptCwH1Ah1aalQUs5TahNIFrsurIIGWU="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.43.0.tgz_1499459313028_0.07969025964848697"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.44.1":{"name":"buttercup","version":"0.44.1","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit && npm run test:integration","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"74a4c47afc80da41136509bd324c2cb6c078f393","_id":"buttercup@0.44.1","_shasum":"938b502f1ab65f20c2ce735c6591422765bf4abb","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"938b502f1ab65f20c2ce735c6591422765bf4abb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.44.1.tgz","integrity":"sha512-9CTwZCAo5OsmJOoQPQX7/h0TVaFJViJGp+wGO7pnc44tOaK+qASEEtEsbyC9ysdEmpRrOap1dMLwvmfVwggnLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC76MnsJQLvCqKTNmaO4T2KyEkGBqRJr/2RnH59yP2xfwIgRZHzCJOFkYpO0aan0shXMdZjrp+asg8Sk3Nd8evjYCk="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.44.1.tgz_1500237672980_0.04830501740798354"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.45.0":{"name":"buttercup","version":"0.45.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit && npm run test:integration","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.7.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"a6e4055404aec331d93ed1096df2c41611e34392","_id":"buttercup@0.45.0","_shasum":"db574c1263fb6daca56ba56bffa0dff9e780dbd1","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"shasum":"db574c1263fb6daca56ba56bffa0dff9e780dbd1","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.45.0.tgz","integrity":"sha512-LpS9ZAuz6QbkdL/JnvIVCZQ0X0n3q1Dx2gPopxpoRpAn+TrhcVG/4edBoOox4rM0NjJBnUznN4H4Ly8xugI4Nw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWIqrEK35ug1Bw75bTRq3q8PxdbOj9rqUD19Opys0vdgIhAP8JI9V6C6JYg3OJ1L1VlmbIcPzHY4Z/t+qFIZS+v8uH"}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.45.0.tgz_1500922289084_0.5850062335375696"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.46.0":{"name":"buttercup","version":"0.46.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit && npm run test:integration","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.8.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"f0143c8af188cd8abf7f11a03262a6832f66c837","_id":"buttercup@0.46.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-gPnOimjoTN+wfKcORoTZ+1CANNNvtKitD6GAYyN4ghArufq9BOMu6Tg896iQGSj2fuD5eysaaCa/Sg551m1kdA==","shasum":"20c1738b577063c49a7f008dea317f390a3d2bfd","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.46.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC4xrhOPolO7Zswx/uwikXsz8qTWSoLa7mOoKV9qI0DjAiB16IsMKeJPwATG71fKL+27wSa8Stc5Sdgrj8EhnCwzAg=="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.46.0.tgz_1503730733096_0.27314873854629695"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.47.0":{"name":"buttercup","version":"0.47.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit && npm run test:integration","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.9.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"b818d32fae876c94778a468d3726590ed0f319a5","_id":"buttercup@0.47.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-Xyftn64ztR7xejt0D9OQk4IgboGdevcsQsoUx8xyDcP0ImQtiaLoFkiSvn8FCImOxyYFZbCsFhTG0c7HFwj6xw==","shasum":"a40d391db9ddc713c6d7cd4851c1a1b372d7203e","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.47.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyjJXaTagyQLg5Kbie/TmT6GWyFlHpq7tbzmGdNDj17QIgTp/p2HEXi0tfHwafPuP/F+WqvIMQz0vMwiqA9k3L+vU="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.47.0.tgz_1504010533127_0.4752919306047261"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.48.0":{"name":"buttercup","version":"0.48.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit && npm run test:integration","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.9.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"d4afe211945e4d67140e58a53ed6b4fae916610c","_id":"buttercup@0.48.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-+eSb38ho7JZI0Ti32c0YQZFB+xZiS1BTTyR23DPTwM1IBPx+UMlUwfGUaQ6ZOsxIs4cF4J64EY4oSn5rO3/kSA==","shasum":"1516931cb3272bc90aed81cad5fc9b6b5e2e5a89","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.48.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDLK+e4np4dp+1I7HSuBTBNnne7ChIbIUQrRqB+6B2xVAiAeAf4mAWkflUoyPXAtwkNWR2dM4MyZ09+wGnwU/q8CeA=="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.48.0.tgz_1504370325336_0.2802899023517966"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.49.0":{"name":"buttercup","version":"0.49.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit && npm run test:integration","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.10.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"6c8f82329635fcd0f3594d77fdf18a55ac477365","_id":"buttercup@0.49.0","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-jz9axGLPbnafIPzNBMBoNlDbakiuCQ22mke99wGYhv9GP/1wiBHuADbLgLNzXNlgYzdXD55fieTPPR15gDbYmg==","shasum":"0a632771adaa80ce757b87e0a3eddd0655592e28","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.49.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBw6nI7hiV7oE3ELewCHPc63iV9rheJlQO6XbkSV3dC8AiEA7q5SvqF9d52D+kfdVxnGRarSTyaaDVOUSXiYRQXNVA0="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.49.0.tgz_1504547915745_0.3799460690934211"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"0.50.0":{"name":"buttercup","version":"0.50.0","description":"A NodeJS password vault.","main":"source/module.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","test":"npm run test:lint && npm run test:istanbul && npm run test:unit && npm run test:integration","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"node node_modules/istanbul/lib/cli.js cover node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"node node_modules/eslint/bin/eslint.js source/ && node node_modules/eslint/bin/eslint.js test/ && node node_modules/eslint/bin/eslint.js tests/","test:nodeunit":"node node_modules/nodeunit/bin/nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000"},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.10.0","node-fetch":"~1.6.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0","codeclimate-test-reporter":"^0.4.0","eslint":"^2.2.0","istanbul":"~0.4.2","jsdoc-to-markdown":"~1.2.0","mocha":"^3.2.0","nodeunit":"~0.9.1","rimraf":"^2.5.4","sinon":"^1.17.7","walk":"~2.3.9"},"gitHead":"02651b5e7bad0a055523f29257190ce15808462f","_id":"buttercup@0.50.0","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-YIuVK50dYasF5P8UGfg0Xr+hEqasVJFtLnt2VYPGTsb566GUaRt3SntGe5syO+Ulf4LrTHR9Tb0NpLfqhSqjiA==","shasum":"5d065058e9cbc87bbeba48d770987d555310f426","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-0.50.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8mJOTePZa+4ioSBwK3Ur8N0gKYYobxneR41ukq0JligIgRTjkhbD5LpRuIedNkcwC/4Bdy+9QVgsu2VQxzQow0a0="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-0.50.0.tgz_1508181391798_0.22950111120007932"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.0.0-rc1":{"name":"buttercup","version":"1.0.0-rc1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"clone":"~1.0.2","debug":"~2.3.3","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.10.0","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"fe678ca9198822bbfa7f790c55e275da8be28135","_id":"buttercup@1.0.0-rc1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-AqrYv/U+gzJUm3aSOswGhsENY47sU0e7esB0OpTSppsPM/ElyC8W3dq1mOnHuDvtf0Z2WBvtT3knDQKpG8Fupw==","shasum":"b461df148227cf17c9f1c7fe3ad8d900f67eb0c1","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.0.0-rc1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+SFK+llFREo7I7g7XxIT+6aekzeEX059nGp5hsB6F6wIhAJN3yVvyFzMTBGRdyU5txDAO36DJ5Af6nKlWvV4hXUkF"}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.0.0-rc1.tgz_1508585206853_0.5984502346254885"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.0.0-rc2":{"name":"buttercup","version":"1.0.0-rc2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"./scripts/generate-docs","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~2.3.3","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.10.0","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"8d32a93740d9ffad3a8b0916890322f76efb5690","_id":"buttercup@1.0.0-rc2","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-87kiOqKc7vcfDa0NLgK2y5JIC7wDR/QOibTARMtQ+aV2CFA/EdNWjDh6bnHKv9bCoYyU6xsD3tkbiN7jVdJtxg==","shasum":"cbf8740c3edc2888e497d8bee6c35492bf6e5400","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.0.0-rc2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAjjaKeGDPq6tjLcY0EryvaMfB9FqGfVfJypaCERA9WSAiAu6AVMNy0EcSQCcRfg9sa6/uSE4CrSfSbCrLShThAmdQ=="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.0.0-rc2.tgz_1508604485121_0.7572657044511288"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.0.0-rc3":{"name":"buttercup","version":"1.0.0-rc3","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md --verbose source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md --verbose source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~2.3.3","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.10.0","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"d7049eca10f4821e56f4d0fa3b6453b0534d16c7","_id":"buttercup@1.0.0-rc3","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-xEv349KibwmPUH48WrkTFrxtw9U1E8zEU7B1pePc04HRD6zASrhRI7zn1+vvgfF0qiWdt1h3tRCnlRf39NzSOg==","shasum":"e8567ae0c08e4a256945dd12d0c46cd4cb5433fc","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.0.0-rc3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGLnOQiY2WMNTqM/guw22e4YooKm5rIOFZ0SXvZQ2YwQIgFtR5S72j4wqynREKYzIfP9X0bp4R0TWSemFFuYMAJt0="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.0.0-rc3.tgz_1508672290588_0.630768099334091"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.0.0-rc4":{"name":"buttercup","version":"1.0.0-rc4","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md --verbose source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md --verbose source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~2.3.3","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.10.0","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"c159c743f86df3a82b04af9a2ed26ae8adfa2b32","_id":"buttercup@1.0.0-rc4","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-928hl2YUsoLj+1+vdaGyjl7CCHynWhVWHXjWysExad/xHjA4lm4/1gsiyRRMI1Jgucng3nqBDr7CdzgeFQTlpQ==","shasum":"88cfc94729db642f3a8cf74abd9b64cc65325900","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.0.0-rc4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+mT3AANr9n9aC1z+TMy5DBqKz2vNE/VY20amtLwj3rQIgJNTu7u776CR07oXNjELiT595BrYjg2CY3wffv/1WhuY="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.0.0-rc4.tgz_1508678488797_0.7769510212820023"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.0.0":{"name":"buttercup","version":"1.0.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md --verbose source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md --verbose source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~2.3.3","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","gzip-js":"~0.3.2","iocane":"~0.10.0","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"a67869c46f81b3f59eff2fc0a342de20263feda5","_id":"buttercup@1.0.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-YFFfc2BPl8HAlPefIHsk3i/bZ6pLRzXEUYZnuLUU28BUQz8lwXO6kkZfeYhJtszyDVWnAEDbA2J915pD/aYhzQ==","shasum":"7c8e3638c75978f8111b0cca7d7b89a5e761a4cd","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDu9nDcTX1pQma/D1OoMlEzKM6M2cEO12g7FoW76Ix+4AIgSypilc2ak9KaI9cBfzd83qwmIu1gcNBRFWPJtPnph8U="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.0.0.tgz_1509905465092_0.41349203838035464"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.1.0":{"name":"buttercup","version":"1.1.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md --verbose source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md --verbose source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~2.3.3","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.0","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"68f258fc90341c162430669f7e7f256cce5620b6","_id":"buttercup@1.1.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-gjxHkZxgkLYtvoVbCdFRO+vpjotPP7LYEPIdR1GTVbfRm2Uu23CkRKx66FlClaWB9qzYk3vZwyu4oFTwXJybEQ==","shasum":"058bdf01a22b5b4683101f0336a5d43032f0f54b","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+C2qkdV5smKLBuGe1f8+33zmo8wajj4TRhC/uJKeRjAiEAqh91SoAtTB+jB4KPBv2oVnoN7aIgrBeWcj573wK93JM="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.1.0.tgz_1510165202713_0.6548262541182339"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.1.1":{"name":"buttercup","version":"1.1.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md --verbose source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md --verbose source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"ca45328969342b0d24968396d2ad4551d5443bf4","_id":"buttercup@1.1.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-p/aR1I6eZiCIMRByVom7PcAqq7dk/qvkroV9Vq/ffUq8fISQJA0TtEGOzEzzXFCvF1IAgBE8eZpmha1VHNdNpw==","shasum":"25a09240552052ce44c37c510ba233f0350e5b6c","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBskexJa0ECcFHbOykAw6hjvZYifwEHmI5Spg8QaKfk/AiBNh0zI8dbwn0RoZncNRwC4DiaWrwPtGRtm1rxEzQfUgw=="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.1.1.tgz_1511007451188_0.5346328034065664"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.1.2":{"name":"buttercup","version":"1.1.2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md --verbose source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md --verbose source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"cb66bdef5d5a8f113abe4ce40363ac1761aa2a02","_id":"buttercup@1.1.2","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-hJZ9x51SCn3PAS41I+0neVA9cqjSTQahKdvOb5cBu570LK5GHAX+OtojtVYmHnYosT0nR7hZCC/skeNsm9gGUA==","shasum":"35be783b8590586dc5fcde346fdfc26fbdbb89af","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGLAnKGHBHiGEswtSACefSPhy1Uwm+kmIllWWLDr4XhwIgCwXjUdnRUfxrc2kcy2JVJv/Ju/Fnpq95Xln+d7J/Wok="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.1.2.tgz_1512745930803_0.15518566081300378"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.2.0":{"name":"buttercup","version":"1.2.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md --verbose source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md --verbose source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"74d4b8173b5d3710538b76942a3ce96abb32e3a6","_id":"buttercup@1.2.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-TXOjO8luClE9Q1Tr+eLuYtKL/Q2pfWj5oDvkxr0V/l4g8yqaqds3o/JpVvqSU2IZQlhyMbpV/bngeKpHgJ6Jgg==","shasum":"6d9741c9df43d2045dc636cdbb1a6c8fff5e988f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0OJUEWltazxrbyDKgiBWkwI/5YxCgb+breV0MjXutXAIgXCXfldr6MyxDHb3lfSjdPMIvrPF/ixBnuy+Rq1zKxzs="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.2.0.tgz_1515600978980_0.22617505048401654"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.3.0":{"name":"buttercup","version":"1.3.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md --verbose source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md --verbose source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~1.2.0","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"a45bf31746f007f018bb420680768e8589ed1b84","_id":"buttercup@1.3.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-UvbPTQrGcs1f29hT58AdEPBkU63bkXDXolfY2mw2OjrcABOlH1K+wFoxSeIM3m3bGP579lTaLxodwHD98H8esw==","shasum":"449365b3f717b060a4645707ff4d5760aa166439","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnlHMOKaFqhxtAXSzaBd7RxTRH/mujjUPcYAZ6iQNz2QIhAPpZ7MXqQFvFCPNFfWIwQv3eymczFrMVIWisCppTteLz"}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.3.0.tgz_1515602114128_0.7894687412772328"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.3.1":{"name":"buttercup","version":"1.3.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"b0629338d2d4db4330e2bdca8ed868748b746958","_id":"buttercup@1.3.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-9CPdAEcEIHkvc1RQpELIUPdxCTD4m0otsjDqtjNM0dz8d4SIkt6VcrCI3vzd1RfJYElntNRIVZOAmpSRwNeN8g==","shasum":"88efb9de8eb70782e5e2f7981ee0ff5e0b4eefff","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.3.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFUvkFH0NSccrYXhLhMFxmv9xNxyTzhC+Ly2c8wuj/XUAiBczIuKxpAWTxORmw3GmtrMh9DfnjEyM4K0ofaM0GD6PQ=="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.3.1.tgz_1515612656710_0.7484769900329411"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.4.0":{"name":"buttercup","version":"1.4.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublish":"npm run build","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~2.0.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~3.5.0","chai-as-promised":"~6.0.0","chromedriver":"~2.33.1","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chai":"~0.1.0","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodeunit":"~0.9.1","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^1.17.7","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"e8a9ad7b717a3a6dfc4e812f221c4e9f63de2f3b","_id":"buttercup@1.4.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-2nrNGg9WSxCa8DNXkWfQZXZCUF6I8QiMRC0zpBWJR68g2mDGhbaoBJd3I80+/fghgzJ5kZ9026CefGV5nAVX2g==","shasum":"1cd7be580e0d6abc1922d8d78fa2af4e94d87400","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBS9ZX3633zB50YBPO+V8V38k0dM97THXVirGNmbl73yAiEA4vrRl6SmMFtImjZM7A1vN2l54Il7ag2/mmgJsT0uPb0="}]},"maintainers":[{"email":"sallar.kaboli@gmail.com","name":"sallar"},{"email":"perry@perrymitchell.net","name":"perrymitchell"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup-1.4.0.tgz_1515700148809_0.16256257542409003"},"directories":{},"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.5.0":{"name":"buttercup","version":"1.5.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublishOnly":"npm run build","pub":"np","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:unit:watch":"nodemon --exec 'npm run test:unit' --ignore tests/ --ignore node_modules/","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~3.2.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~4.1.2","chai-as-promised":"~7.1.1","chromedriver":"~2.35.0","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodemon":"~1.14.12","nodeunit":"~0.9.1","np":"~2.20.0","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"461ee89514188d2dfc20174134d061314d0dc276","_id":"buttercup@1.5.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-qS4bgcwk8mQGgY7Bu8KP4U/MbQBhmRdtp+7YUh8aKVnIev0XTl/u1sskuMAhZ5CSr8qtlxySPya0CZq2kB5nzw==","shasum":"344ae82e3de3f8b8ee0a18eaa7df98ffb72e814a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.5.0.tgz","fileCount":705,"unpackedSize":6217196,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLPoP2QG0yPi7d1FFj1uYIDDIBAe9B0x6T8hdEKIcG6gIgX2upiuj2cobQRoX0E6vyGDY9Q+EYxxhFGeHEOAgNBGk="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_1.5.0_1518642115745_0.35980370475754064"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.5.1":{"name":"buttercup","version":"1.5.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublishOnly":"npm run build","pub":"np","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:unit:watch":"nodemon --exec 'npm run test:unit' --ignore tests/ --ignore node_modules/","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~3.2.1","verror":"~1.9.0","webdav-fs":"~1.5.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~4.1.2","chai-as-promised":"~7.1.1","chromedriver":"~2.35.0","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodemon":"~1.14.12","nodeunit":"~0.9.1","np":"~2.20.0","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"35bb673754f991d13442427c685b86fd13e82ae3","_id":"buttercup@1.5.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-VY0GshhZHp6NgFsbUSIwq41RbM9YbGzFIBsblveR+8cJByYBz56uDzcuVFkr8QQARDd8pVdxobsHxFh7JXwaRQ==","shasum":"5b75b7a272b5bb5dc54ea7289a6fb8641b1d0103","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.5.1.tgz","fileCount":718,"unpackedSize":6386853,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNMd5AmClSJop7jWHcH+jB3oqbv+1BQTVqcQ52HH7YdwIhAM/H2TaCeu2kBC4wMqBYtvsf9w60D7ooJrsql7jEhWj+"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_1.5.1_1518728147167_0.014405830369222938"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.6.0":{"name":"buttercup","version":"1.6.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublishOnly":"npm run build","pub":"np","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:unit:watch":"nodemon --exec 'npm run test:unit' --ignore tests/ --ignore node_modules/","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~3.2.1","verror":"~1.9.0","webdav-fs":"~1.8.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~4.1.2","chai-as-promised":"~7.1.1","chromedriver":"~2.35.0","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodemon":"~1.14.12","nodeunit":"~0.9.1","np":"~2.20.0","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"2f1cafc9317143771c8edc22c9fd457c0bcd6723","_id":"buttercup@1.6.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-VdSgiHo2n9IUTwETo8qF781sqKHdzI+wIDD2cS16sSK37EEdHDPIz0+7Kh6x9t/qgzfrb5pOYXh6Op8zm7+kQQ==","shasum":"23f2540d762d95b5436af5f8de01ba05adfd2a8f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.6.0.tgz","fileCount":651,"unpackedSize":6297596,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEaFjSqGS0iP0fXn86/iTl0t0eQbr2IWnUsoW6az3rlTAiEApot0oxcJvOTR89P+WKI5pD9ufZ1Vuy2btJByT0h50fU="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_1.6.0_1521141666029_0.7697404882074128"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.6.1":{"name":"buttercup","version":"1.6.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublishOnly":"npm run build","pub":"np --no-cleanup","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:unit:watch":"nodemon --exec 'npm run test:unit' --ignore tests/ --ignore node_modules/","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~3.2.1","verror":"~1.9.0","webdav-fs":"~1.8.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~4.1.2","chai-as-promised":"~7.1.1","chromedriver":"~2.35.0","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodemon":"~1.14.12","nodeunit":"~0.9.1","np":"~2.20.0","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"51c6970681a318e3513e0520992e44e3c6dae44a","_id":"buttercup@1.6.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-K68PNEx+YIV//zZqz4acCACSu2LElL0k3rMloryu6uMpoOtBMGOdvLkFQR3SSgtcbmDQYl6cNyWY3RMmCePGzA==","shasum":"31599233b9595cdf0df678020131c1a3000441f4","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.6.1.tgz","fileCount":652,"unpackedSize":6294008,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICohqovOkiYtqTMbL4334W0mk5qr41htr5aNGx3WDdevAiEA5O1sx92MoQasyuntBZgKsZg3kS+fTmEVDbbZJShSsU8="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_1.6.1_1521142506248_0.028853882564404465"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.6.2":{"name":"buttercup","version":"1.6.2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublishOnly":"npm run build","pub":"np --no-cleanup","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:unit:watch":"nodemon --exec 'npm run test:unit' --ignore tests/ --ignore node_modules/","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~3.2.1","verror":"~1.9.0","webdav-fs":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~4.1.2","chai-as-promised":"~7.1.1","chromedriver":"~2.35.0","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodemon":"~1.14.12","nodeunit":"~0.9.1","np":"~2.20.0","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"590b58a3b02e0aa6453713ed22331f7f34dc8e9a","_id":"buttercup@1.6.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-NMwLjlfdkeefLK78ybttKF07QXpAuNy4Qw70Psr0jgwDuItTQzBEdDMJ2yEkI+lgk0mf5d91R3/BIubjZv3yVQ==","shasum":"25ed5138d65103a9d06ffc1aafdf98d51f23d125","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.6.2.tgz","fileCount":651,"unpackedSize":6302325,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAlNkB14zx1f3NUdq4peNf3GPgiro9HzrGSonyonhlQtAiEAu5s2IuPSep8zB0runGfhhTj4+I63ZqniEpFV5VPy/Z8="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_1.6.2_1521147998361_0.0807159389900538"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.7.0":{"name":"buttercup","version":"1.7.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublishOnly":"npm run build","pub":"np --no-cleanup","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:unit:watch":"nodemon --exec 'npm run test:unit' --ignore tests/ --ignore node_modules/","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.1","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~3.2.1","verror":"~1.9.0","webdav-fs":"~1.10.1"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~4.1.2","chai-as-promised":"~7.1.1","chromedriver":"~2.35.0","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodemon":"~1.14.12","nodeunit":"~0.9.1","np":"~2.20.0","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"5422adb137c2514965eefecce655ada665086dd7","_id":"buttercup@1.7.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-nf/gtH9bpGy2mohp29UGFjAR7cD+oxEu+Yff96acfOHnRqICOJ40Pe4lj9oBH8ZjhyK0yp714O5jTC5lo4Ocbw==","shasum":"82dc28b04bd58350a0123b194215549002278caf","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.7.0.tgz","fileCount":856,"unpackedSize":6837134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbCp7rCRA9TVsSAnZWagAAp2MQAIkN0DG/9Zh3lHYKOHBu\n26NYGj1elsoxKAXZq4/k/CaXO5FGZiaRtf4sllQMw04KLJWii2f+0JJWsMGr\nZpcwZV7V9bMgEe0wwKHXG/BBJmJTdy9HAZ9k3svYbqPpltwB6pnOuexDUnXw\n3ORIcsLpAVLDsm2PES2g7HLSu3b+KJ4YG5v7NtxdJlJXF+Q6sdbQ+Yye02kh\nNDGZ7m0zvhH9kykhSNtpGFKH17ORmxpdPOHzY9Fp9sDKYMo1oUtt8PBK17Tm\nButd50CUpV/5xS7kecfdWylIjW9CoSx2zUaduUDnNWJyk95elCZNK6PAlTyY\nFGljglY/pfvtUavTSmZUM6YHk6TTa3fpZ686gwxcgNHrAGF5DoBXQzgA4PSH\nN3OqjJgC3veeqMLixah1ons4/Wgr1LSnT9w5/s5ScCzhYrMgERZqTx//sBqj\nXilf6YWVSEBdgYKPjP898SZZ5124fCNZDVsfstX99L5Uxb+a9gZQSe1APXdL\nfMYKO6y22zH13d/mlluswL9NlSmJldKChC9cwtEpHlCqgl0Vh7LfV+Q/2nyX\nunz/nuqhdbrz0EyjATdg1UXAchx+3JxgJhl4ice9S2JSqPMHFO/jlu3sDbfi\neM8GTpJQUObRHgYrGWk1SOS9pruUSop8ia2LjPlJvTMFbhF8AucSwQt3c78J\nk0O2\r\n=8Y7J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDb28dsg81EkLnyUW6WzVj9GdmhHEdDc46SdoNEVg2fcQIgHxauxbnCvizVaEoMnjAGJSAWmQagg476yG6kQkYBjOg="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_1.7.0_1527422697968_0.1396493565969097"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"1.7.1":{"name":"buttercup","version":"1.7.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test,tests}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","postinstall":"opencollective postinstall","prepublishOnly":"npm run build","pub":"np --no-cleanup","test":"run-p --max-parallel 2 test:lint test:format test:istanbul test:unit test:integration test:web","test:ci:node":"run-s test:lint test:format test:istanbul test:unit test:integration","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test,tests}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js' --timeout 10000","test:istanbul":"istanbul cover nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:lint":"eslint source/ && eslint test/ && eslint tests/","test:nodeunit":"nodeunit tests/_helpers/init.js tests tests/integration tests/commands","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js' --timeout 5000","test:unit:watch":"nodemon --exec 'npm run test:unit' --ignore tests/ --ignore node_modules/","test:web":"karma start"},"lint-staged":{"{source,test,tests}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","clone":"~1.0.2","debug":"~3.1.0","dropbox-fs":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","gzip-js":"~0.3.2","iocane":"~0.10.2","node-fetch":"~1.6.3","opencollective":"~1.0.3","string-hash":"^1.1.3","uuid":"~3.2.1","verror":"~1.9.0","webdav-fs":"~1.10.1"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-preset-env":"~1.6.1","chai":"~4.1.2","chai-as-promised":"~7.1.1","chromedriver":"~2.35.0","codeclimate-test-reporter":"~0.4.0","eslint":"~2.2.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.31","karma-webpack":"~2.0.5","lint-staged":"~4.3.0","mocha":"~3.2.0","nodemon":"~1.14.12","nodeunit":"~0.9.1","np":"~2.20.0","npm-run-all":"~4.1.1","null-loader":"~0.1.1","prettier":"~1.7.4","prettier-check":"~2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","walk":"~2.3.9","webpack":"~3.8.1"},"collective":{"type":"opencollective","url":"https://opencollective.com/buttercup","logo":"https://opencollective.com/opencollective/logo.txt"},"gitHead":"7c549d92f45dc8eee0a363d02de14b077ec72ac5","_id":"buttercup@1.7.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-RNKLDb6lI3tzxjmSxz4zxrAlPirIkYyftrkxeM6F3fh8TAl498BPD70xF+cOe99ZupzCu5voSYVEWn/XoVTadA==","shasum":"a19c9d79436a2940e72a8654a6350484270388f0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-1.7.1.tgz","fileCount":851,"unpackedSize":6797037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbCqhPCRA9TVsSAnZWagAAhe8P/2aw/jHAF9bW5ZHrFCvT\nrp0fzIDc4KgggqxEXkc+KroSVBzl3YaSWsQYD6OzM1Y0Z2CEIMXSCK5ndGOT\niI+R4oaflIk2lc2jc3D/+tXxZonBP6XjuxU95rus4H+kZimXUlLyRJCpyxde\nW5BckqjhTiJJcCMRDoNMJ8umd0zw6w0UhUfZss8Y2xLRM2TstjY6Sj8QxfiL\n2wkFHBie/+7VviZnCssRLJmSUKBrpRZXqmSy0b3zqJH8Tb5Fg9y5neSezpiP\npGI1ze91JcWTpclhzT1YE3HnEWLvE0kImekhJg5Hx0Zyx732FAKk+TERl5M8\nWLlCAuGKcNW4+Ftci2m3blZZ7/rBlBR1ePYqYjVojIBUaSlikwvIsEc6JlHw\nfay6+mIr6seoNglx/4qgoU06WZxo5aGLzs8SBCM+BJrlaDI2Ra67/FN135bc\n83kMnkP3j1yAawRukJVaBLOZ0STIfm2t+dSo+VsXwWlFkFk4UQxf3KOY/ItL\nK/1e0ZiIJt1GEff4m8eiv6hjH3FQJpoaJhIqvDtqLraOyLkNH19Y5MYMXZ4a\nmbGn4+5U62cpJ0PXqyTe99pZmaBpZkCNFYryXQbdXE7zYFxCkgj5nKBX10sQ\nLVSy8eZKCnYVV4pvB6Lt5pPIA2gGRVjgu0BFlsWip9bWEwj3wBotVlFB1lUy\n7nj2\r\n=VUkj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCKJ2osVx7lqUJV6JHSA7Z6GT2/o1JflWGxKDvvo5CngIhAPF4PrOIOP0n/P2cMeAg5EVsYIfyH6Rd96w2mu0MaAVN"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_1.7.1_1527425101844_0.7862022316234687"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.0-0":{"name":"buttercup","version":"2.0.0-0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.0","@buttercup/datasources":"~1.1.0","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%206.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602) [![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/buttercup)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [OwnCloud](https://owncloud.org/)\n * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Box](https://www.box.com/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n```javascript\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n","readmeFilename":"README.md","gitHead":"d87cabb6a3e53e305746c093823d31fff2c7d12f","_id":"buttercup@2.0.0-0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-xmIKFr1M5CBd/u6ZNHuHDERclMWtTbPnQ8AFDfmGWZtXDDbjXfLzv3oZisYk1UEXX9PulpiyTKdeIVaHvUtcrA==","shasum":"dd56e3f3366f26c33b0ff1560b7c397bd426fdcf","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.0-0.tgz","fileCount":876,"unpackedSize":7376849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbJU6XCRA9TVsSAnZWagAAv1YP+gInTAQjEWGerJn/xbID\nEt1+nApK9bYLJrFOdZqwVDJgkvInuCkCfp46raIW0L874SpWwH2hKUYZWkac\nbvINRYWurKdljX1wOwqDP9Tktp1tJix/MF6YhfUohtDnVKsK+rF52G+nlbEE\nmaipvHnLRMbFFmG0FG1RbHf5K2+LAcGNg/rgQcDsoN7K3oE7KOmShmGFGHaU\nA4RxEg33lxveyMZmS/MYS+ZCJABA9Bc+ziUHxUBSEp5m2kb/oU2cM3ksUlNm\nMIoOhO2Y5/9A6rgWe+3ZaV4by/dRPNpRJTvjfOzrDnvIoUw6pltHcoL2Brks\nZ2vee6B2U96xbHnNYvF2eRZrFuaJKP0vxgflVFURg5yQ9Wbutk+P5aUz1aB8\nsphJ9w4H0ojUHF/jFpYNGESD4btSz/JdWTuRIHHAhElz6ZTs8ads1pmJLhej\n4fb1fmyWHf1kgQjeEaDs+veUZPCRdUfasoQqyWebpB3o+8ihk/83NlUiQpwc\nfK2tFmzBcP6DkZgTNEQTDGsCx55AExqddiu4oUGs5kPYEv2Pgv5sKdsjhkq0\nJXD2YuLHjALjMJwV2I+cLA46+l9VUcyJZ14MXUueX4MG3JuRIDk3BktuucbG\n8In99q9apoj7C9hlxvjdAzHriZjwiZl6k97bkl1fGYSVH7XphH3QSl1XN55c\n8is7\r\n=A9kA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAfk6Lxy8hzVLS1PCEgEoXEpqYPmoZerkSH7Axr2jrPAiEAihnwH2/ZOfRcFNhdCiJqGKUGMBrIuaZF8E0FKFnWuPw="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.0-0_1529171605964_0.47421339165911625"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.0-1":{"name":"buttercup","version":"2.0.0-1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.0","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%206.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602) [![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/buttercup)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [OwnCloud](https://owncloud.org/)\n * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Box](https://www.box.com/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n```javascript\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n","readmeFilename":"README.md","gitHead":"d29287bebd1ab5a6dcd3b7f892ee323c9ed0bd6e","_id":"buttercup@2.0.0-1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-5xVUv1A8sOL+qT6ObNh4edsvqbPmp9VYS7xB7s2VssIaPUm5699iBrTiv5Gn1MDg/mjJ8HJdgXSA6FMUfH36tg==","shasum":"eb31cb2835e77d05e9c17fd4a0249f2b17019934","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.0-1.tgz","fileCount":884,"unpackedSize":7303108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKUPmCRA9TVsSAnZWagAATOMP/jktfvWgD7jeMbulTxfG\nJ1cOASTlzCw077iRjg6oaACn6pcvq3eZE+iWlFNZn31Pt7qhzlpP+iEOggL4\nVASNk8/4Zi+vzNeNnvhGI0zBL13zrBRQBwaKl7j91GtwptHHW4PlttyB8zO6\nH5YmoDhuQqESycU17sIYQfrsI/ooKu8KscBIaNz7LuZgoR6iJJ5ZRWepsJGh\nTq9bw23HBOW2dcG08svfStb4u5dlgXJsCzPZnzq6NYAykCgELIyb0HAIoaf/\nLFckGYWfUgWDyerwJZd6ZPk4mhs0ZkZvOhPMGX4vpaMddlllh+7PGmwuF/qO\n9Ey2HEtIHEXWHZW5nth+33BW/Sji1jkDjWWvCntkearzsdWAV/F+jBTT3cQk\nXi4eqxcAKA8/amjcbmBReIYcCeN0Lo56Bc3seSuV3pcwujDFk8K2dVpdEeHk\neb8V0ChD5ruEikmozm/YKdun0YUTKE67WQ3aSTcrqPDfFjrZ6y457eM4QfqX\n5Kvxa1CukHI5mnvWB42MTbMYFF+GqJ3flS7xN6p6qxornceXUftSuP5u5rTq\nICwMp6oQvKlbW+BI2T8lWKKe+LVLHRr9c1xlrnQoNmVw+PTCxmMSXCZvEUXS\nLVpC/z6yWvAwUZ9Ybhq8o3paAsgoUtZa4wrxCE5dE2E+KzI6lUlHtORBIUyK\nISsg\r\n=ljCT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGelfZTrwSU34hfN5i1nB4+rgHfSactL4M2N9/d/Ijx5AiEAlV7R/jObpTWu1xO7I2ncEH6EJ52i6VFoM4n1a2iE8gc="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.0-1_1529431013569_0.0840851650805412"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.0-2":{"name":"buttercup","version":"2.0.0-2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%206.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602) [![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/buttercup)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [OwnCloud](https://owncloud.org/)\n * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Box](https://www.box.com/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n```javascript\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n","readmeFilename":"README.md","gitHead":"12b2c3437e64c524252c53a59d8e84146d106efb","_id":"buttercup@2.0.0-2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-zZpO9JzC7ESt73rTbZajVQWQ/j6x12MoSXVP13ZxzVAutg/x2Ef2z4WEtKcXW8D9k7SpdTkrRF9p/CU5++b7Tw==","shasum":"4b2dc49b1fb409dd12ef31168dd1919f6b832e58","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.0-2.tgz","fileCount":886,"unpackedSize":7314868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKU4VCRA9TVsSAnZWagAAW9sP/1EEba+glWq27TWx19j4\nFd4yude8Bgv5jffwWQoJJR3oS8ltuLT88IHhPJx771iy8XR96Tgpcok/qbyg\ngHMJ+hkEH12r/ErmzYxkCBq0l/msNRvikqI/ybcFnmEV293Tdh0rvbfpr6fY\nny0IdOftNHV5LaDNqTDKi3WF5RLZdAm6GFUeMcbr9CoCHMtnVXdFWODFhotV\nMDSxzL8eZwEWETYIzfkdianufy0vpcA8j++kT1ZpDZKGA2Z6FpNHDnvIz2s8\njM4udVjQiXuQbdlpcIqKToQMJT/VtdnXeOAnPSlKnTwd8hLFqViXY78fvxF3\nzGjElhyyVcH+kN9M8VUNfhIWnrcDzIDIcF+E4nugrmVCFO0GY+itKnNzWX6n\nsBDOsvpEa3XACA2uDbJsgv5NFNW1FY1Fp1FFh6zHmAVgvkNuDFqi3fedsAW6\nJKCD1Mqd6RXWi4YoQYFWjnso1NrlCB+ZeDBpKyIxwXfxMNiAOrcBoaq9hZF/\nwlUiRFVKHXTi9UCFD/64ORz2SAbHOilcoueG2RtMrS3PnRUxdgvDn15p31BT\nrjaWGT2CgR7+RBOEw0szWVYunfSm4OibSBLbcVIYFR/UaratmrdS7K+fIQ8n\nDfhr1NAJbIpmRRtxltNTl5O1le93LejxWmWWelpcopOKWGTDxbh2oj10eHVi\nGNkb\r\n=nJyx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBZ5tmkd+cXuzbLGaBaJuuwb1/j0VW3Sw+VTe6e9PFpPAiEAg4IGj94SVpodQ0RF7vETOLTIe2SmdcZQGPAT0KXwKL8="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.0-2_1529433621222_0.9333221660729161"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.0-3":{"name":"buttercup","version":"2.0.0-3","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%206.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602) [![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/buttercup)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [OwnCloud](https://owncloud.org/)\n * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Box](https://www.box.com/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n```javascript\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n","readmeFilename":"README.md","gitHead":"e89f27bcb3837e97822bfb22c6b755d522869010","_id":"buttercup@2.0.0-3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-N+rrS20OTB8sO95jidtZPWQeha6Lq9tuhqHPAlq4gDgeLfjk0Yp1PYcd9LJdvZxKRisqVsJg6o/9MZwA5EGShg==","shasum":"dfb3651444433639c6853bfa4e780c4bdc5608ba","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.0-3.tgz","fileCount":889,"unpackedSize":7334306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKVMSCRA9TVsSAnZWagAAzaUP+waLv0cvkvX4njb3Y1mX\nrKtdtZjbO6pDKozKJ55lnEJpabeGsfpts6KRVFwF6aqeyP3rWoq2I9U4m8xm\nTw7cQpdXXQSQUgHqekDXjB0I332S3k9RNZmB7NqQf3xcPcEvb5asHNyFkRaW\nU9M0znbsTLzdD1WHETPsyOW6lPngQHODT4LOpKRz9abENSFO6uQt71P38oUL\n6EpUzjXaP7dZW3AR71HxWZWFrNmtYetwQstLQ7cDJLP2l75Yc/su4KM1GMA5\nxoiGTP1bxH/huPjqAdh0A8L6gak6AOyLzLif4r6KAcKclpuVvIOGDqNKdOTH\nVU8EzFSiRPAiVFj/BlnZS4KPRJSFyUZLtiTvhHjiFa1af8QWGa9BVGS5Ldmz\nCJDKPwHyLl6HaPklMX2YarvXa941/mMznSAqLRIcnhLCU6qWOQ3xJ92nZXzF\nUDrFIb4E9OW7DBtnWQvz4SXPy3+LTvfRSrTpHueOGxIBtXSn3/rZu1P83oqM\nNprj3h/tbej/6ky99ssOmaLdEVgYuxwQo1C/eiIrBVEcX32smfPtpr5DqoMB\nP4vj1MesXU94r3qOKTFYn7UIDnsnJ2MDJUQB1FuHhCPBwPWIlEKw14CG3fGe\nLnOa26ENJx0/7QItVxvIHTW+I3MUdF7Np6KhixMLd63Dji1US3Pmf+Aqs60y\nj9Ky\r\n=BY4r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9KYknt4q24Hc/kOFxg3FvpskfLOwvCm3yRcjdrpc0CgIgdxeYRdM6yHlkilIE2MyO4FOJJ89KDHfKzSAbF2FTIpE="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.0-3_1529434896788_0.6802539829014485"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.0":{"name":"buttercup","version":"2.0.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"98e4e8cc8e1bae652c7c2a5a4c3055fa47882989","_id":"buttercup@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-mfxYNABYvZi5UK1y4VhPsHONWishUWDmPcFRgq818DN9ZRqBGJ/L1g/oFNe5bet7M70C/S2/ydPeKUwrrsq35Q==","shasum":"1278a2b2531f65245ba973d04b29e58693b04ce3","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.0.tgz","fileCount":889,"unpackedSize":7334304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbK5QGCRA9TVsSAnZWagAAYSAP/0Xpltpml9h8+Re2LiPK\nniLhSGFWKExTcDc8/e9AIiR+dDF+Xc1Lwhbulq3Qcb3S2edsXi8ZubcFZJGT\nXxnu8ODwtzJ0SDIFEahLyKaLj3oLa68Rsra4JthGGzSwI3MujG/nLkFkjli9\nq0MHUj19TFWv3bMcAxeYdT3iRZCcTT3CRZBvI1WWYJDDATL8kLmw9B5IPMbm\nTD54KtXYXli1WZAm/Jcy8AaLD13J9jkX90GZ2H6mp9Bko8NYMBB1vASJC2OT\n+1a9snUztG218aKksVuwGi52pRb7J99ANPn0DXRR/K6RLhTtPE3cZt1NFq4I\nilDYpar7GOHGj2/ZU3jHlpTPQgUbaalbFcmLUAQUoIjqpLOcJNCsvdXdmI3R\nrY9G1/gIHFIgrEvG60WxqBfGVWBa11c5r6UDSKAtcs3eIatjCMCIVE63X6u2\nXPt1FmOxpXomfkTvg8cd00U3DtNiYHeSK6nXmcRwbbPyslj/yPqJsENTZbhb\nxKc9d4s6VFfDgq1oRwMHaXyVkk7mRylr+ZeNAmLiHebC7a4OvhZhfJwJ/HYJ\nHULkki6/L2MJnt7kr+2ItOtri3LwF5JXVOzWLoIxeVHxuzg4b4s0eTd3NWVr\ncBPuV1gneEIkys7OGwK9KIE90ETpR/cKiPZe9VCYIYsbgbXLNLElr6FqagZ6\nTCMm\r\n=/0W0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG11J4Jt5ny2Up/L+X/hGrzkQ+OGLHRptwMzpdi0o0CvAiEA/ngFpOOu8MIp1lskhZfPG7QV0NvHiODk1ek51hhPwBU="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.0_1529582596941_0.8798526972729086"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.1":{"name":"buttercup","version":"2.0.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"4b1eafdd49ce56a2abba797c8d5719ce64388374","_id":"buttercup@2.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-2s0/ghCOUDFBhzYRfE+yvLvr2KthwzdJXBF8GaxtXvqxSrbBoRIBXTU2YG7q2TkM3Jm0U+uZQAPbktbsiu8UZg==","shasum":"489d9969e642bdd6227237157590bc06d77b7344","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.1.tgz","fileCount":217,"unpackedSize":3406672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLRg5CRA9TVsSAnZWagAAAY8QAJ54a8MdgloGy1JiVAXL\n/kjBHpLLC7BG+l0rDfMYiCSI1rS1JJKVuk7nHLxBIIgNl2CbyFGB6/IuNZ/y\no/cW9lKI9jP1oiSVLMK1To09WxXw8xE/byq1ovphoOYDB29Ag7pwBpacsIHd\nnzLmvrz0Y86ppjkbcjqc9h3u0ZQi7EITJIV9nSzqCBrHo/VEQY5kFDsCsbf0\n8QOKA9/LtZDLMndB6ZwWFg9w2T5MbIX8D4/ITq2CsUNrv4nZJO7ZbK4UY5gT\nu9cOIpw581ytMWbiE0K8FIA0DHUiwYURjGwspSetb8rPQ+gc9lGpnNOJVDOr\nSrvwK+UIaQCVZ9fWvP4h/u+X78VRZo/84xZtx/1RGWd5Kowaup8dh3DDFkDE\nbWRJnvJztR/riEOyOKb4N4rjLkzaRUihoc1yVk/UmVPSTpVhLkoaGwW/kptL\nkxYr12iKBMi3Wwd+o8o8KBWuADcy3O5nts9XeGDXZ6+uQU7d79wN6tz9bSGm\n+XwNezbeLjt5dH8I0MiAJ3HlLEWA+dfDb+NEPU1BLyWoHEj6tg4qt4jGP8jP\nPdMSuIPKAFcrhPUZnoTEWArL8FSWe7X0KOfpTqA7zu6s/reBdpA+K1bdc2A9\n5KSZ12n9K24eVthIrii7I5AbJcywXrdLlXyflDeuST+LT4pLUEtyDIgEYJWC\nxsIq\r\n=vreO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXezS+2m51t7JDAtEAEHz2zgOPsf2Edet3yoY4nhmFHwIhAL1MhlEcB/X4+78NNj10notGo0yz+k16YGHoKkaYvZyl"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.1_1529681977443_0.06635936890143634"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.2":{"name":"buttercup","version":"2.0.2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md source/node/**/*.js > API.md","generate:docs:web":"jsdoc2md source/{web,node}/**/*.js > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"3922770eeb938d1ca86aca06a57fe4023886695a","_id":"buttercup@2.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-2mN/RHA0fEVyunkS/AvXiBZ/IzuSWYwE3AZOAYtplPgIKRzKGKXA22ipGjsFdt4ciImvLl/djXjpCzwtL4zZog==","shasum":"2b0bc9212b60e2e496b5f71ca4e04dc1a22627a1","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.2.tgz","fileCount":221,"unpackedSize":3438081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLRukCRA9TVsSAnZWagAAeS4QAJ9+w9a8uskaAVhfvzuN\nnl++5kPFIA3yS6+WgHFR3mobDc5E2vEyAClxcnFl9Na7ui+3Pk/kdr0s9Iuj\ndiYF4SA8bXDZay5ESy+qMXiCdlmLd7ex1kErSNgumPnLKFPkSXtp8NuKSuI4\nN7nXm11GUCkeS78yZtHGOZxHAM/QsMmQkd8gNCO0HrzWPNehBIwsVJyB7kbo\ntLtnp8zkWhOF+I/Z1rigvTVka1I4vl6dVqTWKuTc0Ckx8TnJJ1aoBTAs834e\noHDBUpa/OofRI93v3lhnq1VzFdjQgK3UFzu+EeKI7MsuQipYp67YxfL6fKDi\nHOBj9Za1iOi94j6LG0rDChPpJKorGI5+qcb02SV3HDRyKQlbr4LronyA/r2/\ng1IuKwa0EYN0U5+JScwJoyXm2500V8TDA1EVRB9UktdB4yc75nNYHpjBZq/A\nmp8epCbstifWActps8tzp4FA9lPqFnErbzwGUZ/l/juyKVM/vYNFmYHNNyu7\n3KM605L0M+wsupd7MnG2JEJ3w6DZpkCsewxvUskQUBSUxX7M/3TpQinwRywz\nNNnQeHeVwU/eKSpPVc4bRRHjnb8Yu/gIZSS2B7umGmvQE7lJAMbbU1InCogr\n1NQUbur1sZVt+5+fTkSradsm28ZXL5XysKNj0BTTW0C+pjkch2Py9F00Eunp\n8Mz3\r\n=SfJm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4JEGxUD/wRFwO00xfkhYOeTQJFvyysYeBzhrSLkZ2aAiEA/UsOWYoWiXBF7OxGc3IgDtFNTOZ1Q+O4tAgdGOk0EHI="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.2_1529682851890_0.9505362725972639"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.3":{"name":"buttercup","version":"2.0.3","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"f6ff3109b50d63543c88180f79c70d202ba6a024","_id":"buttercup@2.0.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-qD3doCe5gpbgHnoYN87nPPglsbAiwmkTdB9W+q7lh9ZJk19/FZtPPoRj3oxOZHILxfDAfPCfK0TADIjI/KuNsQ==","shasum":"0b36bd0ac36d2b99c7cbb9dff784f0b8e6e892a2","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.3.tgz","fileCount":249,"unpackedSize":3692282,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMSkICRA9TVsSAnZWagAAxB4P/imlf6bzlKsZ3VJ9y9zm\ngYkE/qP+H6PFwl++6oFpq+XwSF1ZADg2GURs+fksZQMSNaArvQ43gJMYEDwu\nYc+8lwq+K54ERUtBGMdnz/F6EHLIAAOpI6AJlUlV14flWeuxfCNeYMgQtB9l\nXPy7BJ9BEZLD/qKRxyFdH5GcAVyW/+RIqlLpGwF/MtZRhmM9e1mMAuKZDKqS\nE+eBccnwGBT+7MSkL/zEU+3HnV7ucyddLC6VgSVlaRXZMrvDk9NUZyoSITQx\nANUbP1EeKkcSlTONbIGv2ZAUiiA0MLHBwAJGpdDEZHsIIVF8y4gvQoLAuYwv\nRe7CZ/m8mkj9zFG7BHTBpRWGQ3lzyDlnmc75X99/gHHmys8y6LD6z1pjzC2r\nwu+sale3WTB/EXhKguvDF2RzoOC4LVvTFMBlPsBsxea3/pfRLpUEMqOqPn36\nHfLqec52aWeEN+XJ1NgnZdBmsdisW25PZZa3HCWY88KHKThMN0L2JYn0Qeo6\nssq6yfEVm7lJ/qbzhPR7PgSL7X/u6hfBazl2WyJv5lSuRZGf7LWgAyxgLMzM\nRGbSJ3m5BMBNTW73P8zJk4vaf9I0OslqnP2P3rQq0rdRw1gXXun8y45QysRI\n9A7q4E9FTfOCdj//qj12CxqVxW2gK5cqvIlqiwltEPLN+8ALwpFs38KS+nKi\nqeYv\r\n=RhyQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChrBeoT5j6Jz8vfckxzjbHDzo1LeovxdftIcQH+c9AnQIgcEJsOlrvE54y5G17OQYP2g4KHK1X8wiWnvFUF8nDDQo="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.3_1529948424745_0.2942755227963867"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.0.4":{"name":"buttercup","version":"2.0.4","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"81146b70e739b2e99623bd10c318ceb895f8163b","_id":"buttercup@2.0.4","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-DWIc04RA/um3kqiQanE5TPNTe7E3cobGHi9L5x30pVQGgWqrBfYdfVtDNAysDtI+Bx3xWBNHWQ12/Wc7ShggfQ==","shasum":"44de7a649a609199dec1353722df3db7275b05de","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.0.4.tgz","fileCount":257,"unpackedSize":3785995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbO4zwCRA9TVsSAnZWagAAxVMP/3tJPQHOwWpGoM9txyZI\nXY7fsLqnmAnsj/0do6bEwnWsMVbJ/oVOFZJ2jUhGlRtslRL/1H/OsDj8e/LC\nqgRZipwzEfVHzgGQ9cy2P1vD/uGnXe2RIDJ8eDMTfznMptqlLkvuQmtEtcmf\nDj8dPno/iHIzO3JIYfVBVRWqk+dgNVoeTNz/XiOv+SjGjDdu8fqtnDijEkUB\n8WPNQecR6XRExBMFD4HQpyxG2SdcTPodk+TcY/KTNAwF8WY5mYBtJE1R2f61\ngGO6DZka8R+2uthMwmsTu12g3cRX9MVe46Tfb4N7NonTRdoLj0spNwCKW5sP\nOCS1EqMvD/HKG05A+zWKbx8Caxe42KHsORuduiRVFC5gzjqQ1UuPpfAOmF0K\n2t5zOBEK6PwRNKhvBIRCFxHlSP3WSvKsQkA5odfBGzo+B/HBUTy10QU9CFRn\nerP/PDL9ZVzZAOuK0EOYzNF+QgrJs2QnA3kGlt5GXZIqUVnEPn+dsTx3xRvx\nnRkM/SLHuhASdsPTUyIwq6onokC+NNprXA4yx6YJdTrYJwY94i49OdiTY9Me\nvwr5fhGWVciCiGfF42/xbouHVT6dB5Bk0l97oTVNpRVt6bci0RxYaCuB1AHc\nEtqDWGmhGhLi5Y+Dd+YKliA6W4AN9ORFddsB2Krx1YvB06p4x8k3Dv1NmZTh\ndmZ4\r\n=2ILb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGQcPvzQsJONoWjRWg94Zl37hcuaB2d4eIwmlGqugzVAiEAq6YsmX7NYDrWSfgbccd5N3pFVHMgKlYYdU8ZxO7WXXI="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.0.4_1530629360165_0.8607991349246191"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.2.0":{"name":"buttercup","version":"2.2.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"199826eb4bcc96ee81c40f81319e4680d03b8c98","_id":"buttercup@2.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-b2szY2ANYe/2o6w9lR3UV1QxAHequaBvWp4isPzwZUhJWd5Lj+s0a8H3BtI/FYuUxKTIoVVH0lQ4LpBsCuiu4A==","shasum":"1e7cf96592aebe58d7663ee697ab136c7b789be8","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.2.0.tgz","fileCount":82,"unpackedSize":2593485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbRQqbCRA9TVsSAnZWagAA1XEP/09Rm8IGLeGeJqUjFi7a\nY38CBXqS72xsZZvdLRXFUbKQskxBgU4hkrElQvm+rciP1eqONt/8r6OhdChg\nVAPCYmab1bowDMxw8vriw41xdHyT7KmvFjaAQuoMsJeNIL0UpPSVxy/ULJQL\ne3TGX/8TQbzzOCK+Cq7D8ROVtThMIrIc3OcRPEflCDFG5g0fKsHf9mBeohE2\nGcnN2l5hItcvowc5TkhibBDc3RvbOzmCj1LFfkojwSpH6wV7Ij4/dTuNpssT\nH6Iujw7PoWkktBkL38YgWY1sw1jgcmGfEizHYTDFXr3khU2w2Jso2GXpD8SF\nGaVz+BMvmWRLgFuNV22t7d+i648x21IhtuvHLzB3kuak0WQPnvlDTV0poNJg\ng3Qzx2QVUEYhEJsjJMsYrGU3WCYBanrRrr847DR6iH0QIzSaJtDSsGtqiedP\n9Pnif8laRsboSuLIBaO7mj0AVoSaFR15SDKiScEB2ylc8wqm713ei5V0PrR6\nDy5qyH8+fL60546sNBNZX/R+aTwoGYuZG6JbirC6ZwnKSJUx4Yc5fdfC219J\noNeT/pGgOsGh1xxgEZo1y+5m8F/BKD4urw9TOLnQhY+nWc3F+sn0C47WA5vx\nSdjmO26sUZeEjdGuJ9oheg8s1LavB3BSl4QAm9IfX8Mso1HrT2QlrSUmmzDB\nQu1C\r\n=ao3A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJgnam2e/MimkcXq/J9c/sxiWgP+HenVH2UKj7I0JgVQIgK9oT9qu2xmn5iQxsXZmOj3JsDueFEKmnYhZZA+mCEq4="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.2.0_1531251355298_0.9292923619808"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.3.0":{"name":"buttercup","version":"2.3.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.1.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"8d049f9e123bbcc6629fc45ad65ba6e904013236","_id":"buttercup@2.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-kHEA/HNulXgqdTOnwtekhYMA0/WcvoBVyOPMAOUPvuYDjOly4mD1Ca2Z4Aomr/xKCa7jTo1zY3k8Y8mMIGI2nA==","shasum":"f3610fce7d428786f17533af150c2a1aaad8bae0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.3.0.tgz","fileCount":82,"unpackedSize":2598169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXMYzCRA9TVsSAnZWagAAiC4P/jwJt9ojbtL/vV5Nibyl\nUU5Hiq0hyashYCAUASDIIM0f5fyf7fIUuGd4IBnw6NLU3X3lB3m25k99fwJP\nHO2Xzbml2QQsV4MjULGyuZYJpOLi4FRi2Gch5+Lv8unCrftCvUPEH1fzebuJ\nOPlzAGtPbRL9E2WO9JvGe3RYThmVaGTCIlzdkAFOYGXDpCo1gaJPtfMTac26\n5d+3mK1Lp3FxPxwgrmvOPYxgViFfTdMKFT8NbeUSVLYurFjwWij8pYWLKysG\nHlIyCg7aSXm2xi++zem33XUcoE1EdRhnqNlk2lhjQAfZCmtymVeXMaLcI+gx\nUi4NueIIJEgX9vH4I8nPMMwtaoskMSWno26GFfpWuybTND0GpZHVDjOavXcp\nzYItCKnn8wE4GLrAXmRmOm26Z/hBPqIzqvVP9MoY8PaharzQVcJWjO12ggB0\nP7xpXaFgbfN10KgYXEdgs0hWMfTmd1ATmWxCvN20b42fc43BlHuJ3/aOgHha\n2lUg7my+KVzoPxK11U//oYBORL+UJU27hNBsVUKeSveZ6o6LNzXqa3GKCsJU\nu/H9x4IWh/LVOneRSEY729eQdgBLh+5APYAeeqXEaVFQ3aPZ7n5oDPWX5nrx\n0Y7AdVglvqQSW02xZqbyrJnVuZ/59Ba4hwcpwU37TwcFJuHFj0Mwut+Kx1RV\nQ1nP\r\n=Zw+5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFlZ5N6pWNKMm1cuB6+5DFyZ9JQC2iGkp3juE9NOcN7wIhALdA8fbi61120KA7vOjiWCrSkHNq2tvGlz51uAhy5a5+"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.3.0_1532806707605_0.2351859296630463"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.4.0":{"name":"buttercup","version":"2.4.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.2.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"ccce9f0ba5a8368cc3aa667b565e424418fd273c","_id":"buttercup@2.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-EM6ma3Po83br4JPOPVBWS1fiFnKugRB8Tv8BBhfMQCQDC6q6QXialtgQ9aPO6ASgGmsBdhmH32QUchU9MftgKg==","shasum":"f120f3e74009bb77387b0e64ca7904b87ed4a1c8","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.4.0.tgz","fileCount":83,"unpackedSize":2615356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbxfTCRA9TVsSAnZWagAAyksP/i8TZQIfNg7HwAl0N9nh\nneG9TQwN5EA38KJFHs4C1/egjwko/Bj1rvrxtAwwwH6WWHkmJ8K3fEcCWMNF\nvrSjjwrEX6i65p+/cgPsRL5L4EuC/fBldE1Qf3qa5XKgFEOzxFgvubrhVPDl\npu4HDpZKAkivLOr98GR4DIMdh4UdH9NH6QlWOKuRJK7hriXNv+1plEC4x7Hx\nW0/prYqfvv04TJxibBS8DG7Vpvwp6BXIR/lRO5YDVqCug15J2jdVtEeTJL9v\nyL31pzc/v9bWlXAuhr1B1AH4421VvZ17tGaCjP1A6ZDM7bUlGrNI/YwHJ45U\ncJtU4WIzIl7HBuwav/9Lmfo3GtrIrdVyHxWEhiDygEqAZOBIuJUBRF6U3Db7\nQbIIaKd7PoIEXQMKlDdX9iB3hHVSNU688xPWm/iD4jKzmKo76CMSCcUlkTPR\nFOYZ95kUKnRtGYaYqBx6tjpAuID3ZKYfgt7j8XbcAkIUbeppmz40BylIC5DV\nuOcmcFSfCLRvoXPN8MzdUAPNx6VNo+v4ALTz0gVv+3+Rz161zf2XNGp14mQr\n0wPFhJ1x1Rno3MIBJ30EoJzHALXdduWhN59S5NI28ckRWZXq92o8Os2XawWI\nt0AkQURtiVnnW5FbTdWmnJfXVlnzER7/KRZP/il+p6iWqXZEtcQk9eiLHOrU\nVrwT\r\n=ARb4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYOLGBjjuHl0yyoNoVa0wREaMPcM26K5nKLOrPwgfFTwIhANW5fPrDsSfJX6y99/mCR0hofyFbxsNVX2rLkgB/HqKc"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.4.0_1534007251175_0.32232335024568215"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.4.1":{"name":"buttercup","version":"2.4.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"~0.2.2","@buttercup/credentials":"~1.1.1","@buttercup/datasources":"~1.2.1","@buttercup/signing":"~0.1.0","eventemitter3":"~2.0.3","fuse.js":"~2.7.2","iocane":"~1.0.0","node-fetch":"~2.1.2","node-rsa":"~1.0.0","string-hash":"^1.1.3","url-join":"~4.0.0","uuid":"~3.2.1","verror":"~1.9.0"},"devDependencies":{"babel-core":"~6.26.0","babel-loader":"~7.1.2","babel-plugin-transform-class-properties":"~6.24.1","babel-plugin-transform-object-rest-spread":"~6.26.0","babel-preset-env":"^1.7.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","chromedriver":"^2.40.0","codeclimate-test-reporter":"~0.4.0","husky":"~0.14.3","istanbul":"~0.4.5","istanbul-instrumenter-loader":"~3.0.0","jsdoc-to-markdown":"~3.0.4","karma":"~1.7.1","karma-chrome-launcher":"~2.2.0","karma-coverage":"~1.1.1","karma-mocha":"~1.3.0","karma-sinon":"~1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"~2.0.5","lint-staged":"^7.1.3","mocha":"^5.2.0","nodemon":"^1.17.5","npm-run-all":"~4.1.1","null-loader":"~0.1.1","nyc":"~12.0.2","prettier":"^1.13.5","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^4.3.0","uglifyjs-webpack-plugin":"~1.0.0-beta.3","webpack":"~3.8.1"},"gitHead":"c7eda4153a179892c6d7393a9c85d6afa9432f22","_id":"buttercup@2.4.1","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-NfmHG7jnQCX58EcFsDFjhZEFxxWgxpUuHVsz09toC7G/yvawtA07HD0/WrgucYV4+kXkwHCktQcj+Cysx7y37Q==","shasum":"c8cde534c86f70e5c8e3027b1406d9d1f5a4b3f5","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.4.1.tgz","fileCount":83,"unpackedSize":2612173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbg48YCRA9TVsSAnZWagAAmREP/2MPluYh+JiP6OkAAE+Y\ncMf9J4E6MwhgXms62G06eIEJ5tm0LJ2giF2zIc922SZsAnbyq3EyDyUND4Wu\n99UBQSgkJ53b26hbG5X2CYRjqqHodFJAr4plyvD5x01EFEYbSAMOccCM53nP\n2PONgIX4r9F4X9oEL9bJ280mockskRglr7gdeHK9wI6lDt/O6/ZMGKkxULE7\n42CD43TkLPor+INKuJGC6fQPBoSBwWEHXmJgAtJa28Quz/79Ll9EcE/opUct\nVDssFVVtQaS47lPpfGnXvocaTh7WCkDj0RM11pJqH3Gc7tbC5Me2UyG8o9Gy\nChIbd3kH4VY33mmwBlfunAN/qkOJAnBY2mcSB8S7o7ljgOy0phlqbul5kHG6\nwMMNnpC78Dd877B1oKCtj+mov2wYm9UPROHkAzYrnBlgJfM+5tFZmN+zc1CC\nENoktKrfzCjiPSrX6+Fio75tQA6nbqnOrIdB4trMfFHB5TYbjXuenJyTJeCv\n2C5O5H99Nel9FJR2pLv8tjoUCSrOqRBOnk55chL+waUjzwKRsn7c7hdk8g6V\nzk1QgO8ByAUH5qnIVGjyMWGsuYGdJAjcsLFA21p0w/gJhSHLfs2LEVIT6jWi\nWw/67bHSxjRaDjdlX+JhtNp2R3V4CkzRWFY+DBmbViPghSE193/HTwAaToK0\nIkB9\r\n=XCK+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/8GyuIxIch423bn3j6c7v+8or1UCRYEAD221itJFueAIgJ1Jx3Z4Zl+JV1KrS/Aw8akdO9RuRQpZqc7WHY3FcQmk="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.4.1_1535348503881_0.44499641479174223"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.5.0":{"name":"buttercup","version":"2.5.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.2.1","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"3c0e12264727f2b343ca0d3477af43f73e0c0d2c","_id":"buttercup@2.5.0","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-Vj7aGMp9zweMXlTyzykOVlgLlrqUB/n6f6Hj9o2WYUU3JfZshJyHbHnm76GORmWgs43UCyBx+AjQGJkWSkg0hA==","shasum":"baf643de50fed768801340a64e70fc4b6b11a0ad","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.5.0.tgz","fileCount":83,"unpackedSize":2664272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbs8ERCRA9TVsSAnZWagAAmMcQAJCOMciv5iT9LpUC5PQN\nh+tn/hkPFB/N64wg8blacpoA7aU/meOQJXJJ6J7aH1eLYHYvnSSv2RFa4mj8\nZ/KP2MzFvXsk0gOzWT/CYPMnM+u8v0DQAlIFXA3cOzhO26gh2DqFwhxwhAXw\nhj2u+SuxyFXBbz6jMaG0BkKuIQnaQzGPruq9K9KFT+njFsZlkkZIfHdB2Xc+\n0oKkbR0Q1eR/+bOND2jRZW6E8mBt272Dww+D64SPLU/sEIqMeZjdiZ4GzxYc\nj8VI3SX4ccoLV8oG0VV8fuS8OMDy0Zxm+RcoZxFrYaCvHIzuQuWI2o2HOji1\n9UfPdXbvPrbBEXkca/jP+7wNu6TYt1imCtHvJmD8pbDvPAe8YCf96DI/quke\n+bcw0Z0mgBJxj5k+GybaYejxVYuTJ7BBzycM0JohTkow0/t9yMKa3eazYsYk\nemWS9erCgv8Mr2oMQOWQKMZvO+QlWdpoUMcIwMw0SYgiX8Fv/zCtoaFtAViW\nKP8/xKDhsJ2lNfeXDafOaTpwcmwxwjYbLwsKi7W7K4YZH+fEKLEfLfpTNRvo\npSJ4qy6rGCoGDbOeHYNoFUllW9N/C1/YJ57Nl1LsNdJojtj4dTZ85c0m4zfU\nopMrLEQAWw7VeKfEqg5Qn7OXhpKk1KdlaOiIuYl7r6jKlBO/ESQXpKFjcxVo\nc9CQ\r\n=l5xa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIyfoaT/wDlI+utM0LH8M32osVJ2tcCFOhlhIvvSr1DwIhAOrIy3Z9LZeSIwUTNBEZYGFgtTL56SKLkzwbCy7w6Obh"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.5.0_1538507024565_0.4645025747748863"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.6.0":{"name":"buttercup","version":"2.6.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.2.1","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"fd10b8277b47aa10590b534f373229205f10269a","_id":"buttercup@2.6.0","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-JiHyru8APX54khumpcM/Y3mxD2CgWN8OMRmULhTQNq9dXqUQKm1xVfpPn8zx4UOqwq040wSoriaxeN9eSqox0A==","shasum":"7789bd0dca4415698e31791a2f7395b71f8af4fb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.6.0.tgz","fileCount":83,"unpackedSize":2670923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbs858CRA9TVsSAnZWagAANvEP/3XLFYEjsqw/01UAJ/i1\n9+bnsP/I4dRhc36+jsdPUulUK7eGGmnp2cZrucGyHryYzMtpzuIJucVqJTu5\nxm9QbW1MAHxMqO5AOEIbNhBYMuJLC73UrAuVbg5pHQHQXDq1bBHq4MFS4qUF\naI5noQRUJHoUbJkOa3F8oZQoQ/t8ZJKflgwoJIGzFRReePebOA62Lro5lb20\nPTAlm6UpjTz/HjWxD+1/j4Flt848OEfYICijn0y+Ums5t80Rd/XXMR7tNZaa\nD8ddgIS53eHCbnKmT255Yjuc1RQ/d0So7ReEiUVAnMWFtUXRs8n0drrX742J\nGgIhjvCd9pIyeMg81OqrjeGdEDCC51p9ElxLbK1inSZBgBFRs5NZsbjuUPnH\nJtnjhDMsqyz9cfZumSmVScYg5RrhUUyFfj5z7xfXhoCqN3YvDHKVeGXv03BT\nqx5NMMZRSP5hPETLLNHYzovA8PsCsZmmLjiB5Z2w0HFYK4KCi/5ei/dBAZZ8\nhVT2JwPu71Hk/ESOuaajIoK4l3Du3hwIf+BufZdTd9SLFAW4MXuHflCP/POG\nrbMS/ii6nWgLndXLQUmagV6+t6OOiYHYlewDsJWxY0eoeEfY2gxWlmHrIObY\n/in0U6ZRWFXG0R351Q5ROfIO0qqwtbRsgj6q+GzXuI3OBnT0DEfdHcjp0BPi\nMB7S\r\n=Oq/P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICYE9r+XlY8xDBAvKomz72+1OdGiIW9IFQ4usdlG4dOrAiBpMo++TrFvVx0aFLxYLdCNk/ixdy0A9Lxxq8Xj2mJtGw=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.6.0_1538510459117_0.6879838060089136"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.6.1":{"name":"buttercup","version":"2.6.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.2.1","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"c7297670c9edcd61e890f61a87e57bea8a33ae3b","_id":"buttercup@2.6.1","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-YvXK4Cbaz7kk4o4HUaACprjIbN3DZq1uZAKTDdrPQzeha4up4YgsffMUaoipyM7SfBnnFV1rf1TvZRBQrl+lQg==","shasum":"4f5844b2ef006e28a9193f7a5fbf7bd0fc505b5f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.6.1.tgz","fileCount":83,"unpackedSize":2671793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtPPPCRA9TVsSAnZWagAAifEP/iltfJkNVwX94OC+3faZ\nbCgACWm3LLVyZ1WAdUcqvrQj3Xs+dQJE5qmm/Zz+rGhR7TinS2jro0Gzo7X0\nKgDsLqoIvSduNAGNtawsq/bYMynCLkj0amxFMIiHsYFC0HXgXLOyipTR3ZL9\n8E/9o3yEITKzNVZDiif8Czbl2diaNsRmgET/irDErrxwNmuYrJxqTSdDEOIa\nl63jkktx98UtH0eDwv7h72nT1CqsK9GVtihOfltxJ+/eDjq2Hj58yaExwkbs\nlfOIPtREigpWActMSHeTOP94iww9DvX78veO91x+wsC3D50GjB8JktIf01T9\nRzhN5xmObXbAIVSBUnsXRMKUtDDrazYSEbWcjBGTUq+0H5N8FeP3iy/88U0P\nErFBUgYEOZ5bsTjK3sJLNhUnehj78Pk/kEmpGuYuSU5cfPGLGxFDtu9z7WHq\nqbU8PV1HZuFQVeTJpCXZ5HhZt9XdMjFDUjgKbKaXANBbnzj8CxxcI4yWadbe\nGbe/WHC3JAnmweb9pDpS/5kykK/fBW+5pajmfMtri62JcYx26mTnjAHG9xJ3\nFdwHdQ0NCI3yAS7eGq5H0lCX7OW/BuqrJCEtRtmbkSy8mnR4y1faFVTeWfJk\n2+AjBxWp1BE25PBZMWifkBJDKZuFFDdHBFkpEBmWKs2jCNT/Lc2hiZuoQwMN\nXt/d\r\n=ZFkv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIETvnqeVbNM+oIpLiixVBtI9PgN/y/W5A52SLVqI6xF6AiAm7ckaTiY+5i98tgqMrELk7rLzaiQzt/UGQXSpqmtRFg=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.6.1_1538585551007_0.81375889823409"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.6.2":{"name":"buttercup","version":"2.6.2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.2.1","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"19e37f3509dd717b60deb670b34e28483381b7f5","_id":"buttercup@2.6.2","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-L0ZAkqy0hL5IF2t2tj8mWHa4ldW4MaV5iYeF54cn3DB/Ma0ISL5mL6xMSyIREH/Q1h7TNTJFUguVmj8fHPo+Hw==","shasum":"2c828dd0b6ae2b14e37c9d30f922a26c44f4a584","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.6.2.tgz","fileCount":83,"unpackedSize":2671963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtQVaCRA9TVsSAnZWagAA5jAP/ilo0DHMK5SFA8+ijq7d\nRQO0KWrCL/FmjhFu7jzYdUjsBMPXPoO9zRhTxaUq7zZAV2ojjBXSEHXUu46S\n1tJbEIhqXQKdOd0D+Kl54mYfWvNMPIIRKf2Nn8OzKOFl3XLFDF/QBA9ZFZxL\nZK7S2YvLCL1LSslyHqw0VrMAfoP+8BUEgYVNHPh+YxSm+CAHINOonet7/Klk\nreoGCnf/n6lrPWPLYCJ5Nj6zr6QF9JsHKAb6AjYIk9GHFq+Ozw9qYpcOwsv8\nlj7nWLvLwtRG1/nWi7aENT8fha9XjRqHEXWxf0Hmx0bhleSg6vAveLhc9FfG\ntkC5dlYzN8GpZphgaYCMtlAtOfkudOQqK80hKZATBTifzsNcfJY/npegpiFX\nXZDLSWqdldPGn3OrgKLx00STTv7YuMgdaWxROXDfhu+WsL9whmD0yDNlOADv\nw98Xa8Ma1W2kdYLW/ktTamqDnaO7+rjvcFSFZ4kCAd5AGYdM5lzhas8k4yzV\nug6MNmZtzHQFLyso0tGdFF6sgGphAAoOnTCOwcWlWyNs4T3YRlUp5mkXqzpE\najP7cYmfXPBja5a11l7yDPDAjIRDAOf5de16YXN8OnoOPKYip1EDsfpFCnkm\nXJWlmQAYGRIvs0iJslYheQZGEF3xnJ68O7JJVjPRki5cEPog0in0VHngU+dS\nBrt7\r\n=Pr52\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTPg4xxtdGl4LA2thoIUP9nJ2gm2C8bH/2ZICfUYiKGgIhANLEy1U+9DALh15YSSYhJzjNs6Zhqotyc20z8u/G3Oty"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.6.2_1538590041599_0.0036285566165921157"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.6.3":{"name":"buttercup","version":"2.6.3","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.2.1","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"d32da9f0d3b78dc3e6255f8e43abeace493f382b","_id":"buttercup@2.6.3","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-Q+p8ZDZ0pIRYPDIEi7lY4mCsKgq7BXvF14smTOMdaQ/MU0H2n373Y/iat+eutAbwzAKvZDCwjy3lS6Ld0OWVEQ==","shasum":"6cf68db1cf8dd0185b18f4d9a3bf40446a025c1c","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.6.3.tgz","fileCount":83,"unpackedSize":2673130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtR6/CRA9TVsSAnZWagAARfoP/2+/g3iEvirltckCYScF\nbX/VjuyXbPrclkYKdsWXdQqlpnDfobWHOKRYGzmH/jR6eBoyQOUdO7rXQ3KH\naq8INupiBWQ88eNkvgIe1vAjc25CCwhS9YMh8o8CKWn6r5BRb+CjB4z1yt+7\n5ymZ4XXsVyKGVW/iCg2sWD9tWBDM7kTlP5yGBbH6Yhd/XJCkowEi7LGG/oSF\nA876RD/OffAcIEUZFf2utO9HlrrPAC7lBaa3WWrNxplHwjc44AKblm3DD1Qs\nQLk+JmmAnY2KABx/GLGH5jlEUvHH6leP70Qe3mbytThe77DjvHVkkB8256ZF\nDZO/dTQ4OrOmHJp4i8P8cT135IQ42U/CkWNF7xLc8qOhlOogNqSu04KTATOM\n5VrGmYIBSFcjUHeB4YccmE7z3Ppbgie7pqryhHnhC+o7fHbE/Kx434zKKywD\nAZi0+toxGiZpreOaPTWgBuFrFAKpeeTAJ0Eva43jI5ZyWjNnDS+tSU6R+zFz\noMqnErbqoQJQsMbTRw3YsdsddGimBoz+uiDoHkTVE2kq1mg9NG7ABo/cc53f\n6c0cm5M9upTiSNE7Ys8cQQbScXgRYLd3/rk97Jotx/VLNYiGH3TO5NR0t1h4\nnwolIunHJ4dWiS4dR0mdq0VvM+a/rLe5bu8cks0B/k19XEUAj0wY0ISu/6qR\nuHb2\r\n=lfgb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkRnWb5tHmNdUnOXc/vtjRLJdK+3T7SL3ntETYg0SVNgIgblRK7bI5ITVSDWRNaFWk+XULu0Xh+LnS+9X2PAms7lc="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.6.3_1538596542962_0.19865944736024987"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.6.4":{"name":"buttercup","version":"2.6.4","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.3.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"d4b7726ff485fb4741f6e94b38e017e06cba2203","_id":"buttercup@2.6.4","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-v9/PZU/qehK4TH0cuMM+08QsoZ19wiU9zBqkdEd3gr1sFBV7UsbaclUxFS6Ht9tzeIfPKoZUVPMsh2iCK0h7hw==","shasum":"331556a26ff8ddcbddfd0c5d9db89acbe1edda8e","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.6.4.tgz","fileCount":83,"unpackedSize":2960804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuOfNCRA9TVsSAnZWagAAVEMQAI9Ojp6Eif807f2bfaBu\ncKSrsi4iI8957xKxvFUNTllqIBeMRhNkITvnhXaCfPgJDcSvU+KRKl7I6vIp\n4nHnZWtwT+I0LHDwfQVDHhIp8cQKcK4qSNl0qe38ZwFWTQ/BNfeai30w2lKe\nNc1NzBCkxDvz3x32lxXjbcieiJcUmTzPCGFnCLN/QaYBKIX/AgkRVN4pm7hp\nNUgE+Zy+hEeMRckbSa5ixTSI053oOMeYu4H7qoBTfsam6OsWXY15IrMz3x1w\nxO+twgVs5WJOgJ9MbDrQ7OR5xGn5wImYWyc8mxcr8xXtPxMxgKPztY4S3hrs\n28hwTHDm7YLyTuEsFP03S57neZr3Kn6j6svATCf7Nc4mj3aHZxSU8/zoX5IA\nOJBu65MQw4fZZDqFg7qZQzuQkGwHFLmt1gSRIQtEXWBsxh9j1gQUnjjVveHf\ndmJvAYK3Mwv+APyg2yQ29n03GW3P5L6qj7ZP5s6A+Jux98CrjXhoUtWAvEUe\nQ5u/9olwYV7Z5kYSQpLBxcvAOxvDaRegB0IEFpmLlSLwA4SZaYPYrMzplXhN\nzZ2AlBq6WBfcsYDub9VHXVbZgNnnsempA2+EILWa4aU6aL7tM0IEAx9IZ4Ah\nP3CEwIBaA8gsXoh037Qfy4PFd3veKE/1XNdqXy99bqP5UEkV22FdEKEuMcKG\ntKCU\r\n=lGHC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpN/TZXxSiMQJA/Wj1/n1NE/ApPQAnCQqS503XMiRY9gIgbwGkxUMhku8c1eRK9haq5tsZqpoSNKHNbFdF7ZXxwt0="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.6.4_1538844620732_0.7664225368072588"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.6.5":{"name":"buttercup","version":"2.6.5","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.3.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"dd6e3765f17f1976b0514da593801049e511e167","_id":"buttercup@2.6.5","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-bXU1lhDTLOJC+5FFmywhGDKylFNOlHG87Dn3h/FAK3UgDGcgT5TNEp20Kyld+scKu0dcnP8MVvOy2+uOhQA74w==","shasum":"4a157c6bfbc4114b06ae8182a04c68bb9cfac086","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.6.5.tgz","fileCount":83,"unpackedSize":2964831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuiuLCRA9TVsSAnZWagAAxhQP/A57zuZTvQRJDlLDBeNa\nfyr6CwsS0BZ9yVPlOU//jq1c31auOurpJZ4WXPu235wk9wr1j5doWg8YnD/5\nSst4BXTiVLt+UfA/Jf5y8csAl9X21MlohLRAxJ4buO61tgHQxPRev2mnV+Pf\nYyr+vbR56/sXk8e8opjV0AdzkSB9mWLscOT+5htSyGJa2+Zhf4xUZe6gb1GP\nsWALfjgeoXrDWDXBnGIwknLK+k/d+6m5Qjo6Ro2mw7ZR9g+tpLnfUib8JJ3b\nYXFXUBCBPOUbLWNF8h7XZprHNueCh1PODDvwa2qOiBkXl/qTulK0RoCr9USY\nGF593j29DZlVTGDrtwdaHI4G8ikXlCiiVoWZPckxVqG9TqOjhzasXX7Kz4Yg\njMDGTlBnWeE8QnogSu59X1M6d1vIwXATzN6AeMYKq1HQbQV2KZJPeYk/9ZFI\nyEOkZ+9GcrU3sbgH35/pXNI0LKcqoqFwPvnL/Os+OSCWNPSDrHiMdwze/d1k\nSz4IKlg0bIECKfyme+Jdl/Q1lB6mJZA+5IhK10IrSkzlz53Sv91PXVa7idDc\nfU23/F3Xjz0vSZrkuVAlZE+WF2fKfDmMXBicgMj+8hnK/nXfU2Aqlt3UBiq4\nq2HPSOygwutM7NqXyNE/TRjuap01YUdo7PR5Q2lmn8hymNYy78lWKAvNKqVA\nESa4\r\n=MRU9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSxDlt0UHdYHTU62VBHe1YBTv0xBxc+mZhbNbvNVDDxwIhAJmkJlzSf2lAEyFeFFVovvKxj5g4j1kohdarK+syh3fL"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.6.5_1538927498712_0.24523061802883395"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.7.0":{"name":"buttercup","version":"2.7.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.3.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.14.3","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"39954b09b38b04cb1b08fa8b29d74007b750a290","_id":"buttercup@2.7.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-sCVwICrWyGTB3njbYcN25JqJh39jON2lJ3zIB1cAzw/dJFb20A2floPkT3gGY6BGy5lhnZMyzaiRJ6PYFyMrvw==","shasum":"8c6cf8ccebe472b5341e481b9ab83c36a831dc86","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.7.0.tgz","fileCount":83,"unpackedSize":2966657,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1Lu4CRA9TVsSAnZWagAADHIQAIcJz486Dk9vF/Cs6Cbj\nsOvjl4e0Lge699K7alkFZ6igKBj6pcuxjMOwH9VJpowcu14EOtV/U/UM7DnE\nxZpq8mPX4/Bpzj2aqi4q+9Xo776FrmBHq9J2O91I/+iW9aZZksgWABflP6LJ\n6s2yB0/AaCXe65na1Z/HUscax5hVyPsNw5fVvVg9KwpqkQsnMdC7ksf8mM1y\nvhqVNRWqFi3VQgI3fa/Yi0mPoP2Wuk0N6wJU1sPS97AegF8FJv2Qix0uU5hA\nyox2vm4nNK2Dbv5arOu43QgO10UsuNw+5lhdJockVRWFdVsPo0wcPEOLYDEX\nci/Do8THDaR0gzwrET2LzMI+9SJg6w1pY+efxVOfRuBIcrDm2bkx5ZZ+vOZv\nsuYd++aAWR7EM6N9cuCKgEAc/hondJSv4Cj2hIrloSDvUMLvtVBTSdgg89h1\nEKT3z1nA0whEisdTg5DQ1MwCayVFXta78RfWh991INMgJrmDfA4SBO4I/Mhw\n7uoOLo0j6y0wUMgV5hnBBIPFUqrl2a5n2MxYb6qFA00ygYdLmnYwUOgRRktU\nlIw5ygztfGI+2n6Mg30ZauerejaDiaC3UOSH7ueD4PUjURGkyPrO1R8VeayF\nKXBVhXhE/JuMGcLjHMcfLXvXUUt1zntAyJtD/RuQ9+XlL8DvBw7at2ibmEJt\nu71S\r\n=l2uv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxLgry6I0IqYoNgVqK6LHGGsklN4MRDmuxx/GwmkOTVwIgAwXFF96/0ZFWfv2236vkTUSOvXlgaW1cD497Ac53+pE="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.7.0_1540668343421_0.1810139139439233"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.8.0-rc1":{"name":"buttercup","version":"2.8.0-rc1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.4.0-rc2","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.15.2","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%206.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602) [![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/buttercup)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [OwnCloud](https://owncloud.org/)\n * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Box](https://www.box.com/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n```javascript\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment - Buttercup has several methods that can be overridden, which may pose a security risk in shared environments such as Node applications.\n * **Do not** use it in public spaces such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"76d94abb964d7f200f6a935fafe1c724d6b81689","_id":"buttercup@2.8.0-rc1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-PGPhAWr45rRzCuvbIFKUbdX/GUy37CGE7aW/aRR+DHvMBBcJuoKrZRjWEbW/aAa2sYNJBJSsV95gNjSclFgFmw==","shasum":"b6f1b16d9a4a67601eca4b9db3ef0d0a4cc4997d","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.8.0-rc1.tgz","fileCount":83,"unpackedSize":2540942,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7xKHCRA9TVsSAnZWagAAnIEQAIWxol651DHhPxfbfWDB\n636EATH2WIptEqaCqL+bWKg+ZY2r8VyEFakaE3i2MKUo6RXj+ypFBExmJ5J0\nVbOrGkmVRAiH4nEzXB9Cg58vg1FB7J4PyqvrXvVJGSroN6EWuNCvSFbZXGs6\ncNDy16TeVEb0+IEtP+ugCngF9L1gIWK5i1bPyj6GGqA6Rw0aaqhReNyQKUP5\nU4jpY4iWYEYQOlsZ4CrlRp/XASTG/s+xLSrHj0K0xN1CSSydNrfbDbUVbUqJ\niqYXOjZDGILfsQ+hKGg/Botkn7vTCIZy1Sr2NRMoVtYt/4Ev+aDhl9pRuM0Z\nXFGtub+T+/gLVBkQTMLu8gwx9lmyIYU4op2NaIv3PlipllPINsHXnxB7oaxG\nV8ycm/BWeIfnRosN5eNBG7fHBihxejg9NjX6BIqTorLUmAEDxYOkRMXwWRya\nwEDYiE8sInatY7GBJx2m4GPUGATIzHLrEicfcQ2pCcls8rMZdwNA9pVCUQOg\nLoNquVjxHNHzWnBBIb+GEHUaAqWlNd+9qDtd3MmkLNqDec8oHxtWWfCf8DoP\n/RPrj+2OFGiaUIFOEjW+dTl9yM8/2Z7K1+VGMXdBCJ3Z4jfE24FYTgD+ydhH\n68GTlm2vTsEXZ7vr7aCBk8KPcg9jXgxRG9a8zjQlh/2Um9Gxki0ei9EbQzlO\nYPgu\r\n=bCDn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJrpxJ7iXFhATzViCGCr4lz281E0MGp+vEe7cGGld4OAiEA2vNPe9kHnr7xFPRYPXYV7BxUWItMAKz4h1d/zoTBwLI="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.8.0-rc1_1542394502718_0.6521115794441672"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.8.0-rc2":{"name":"buttercup","version":"2.8.0-rc2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^1.4.0-rc3","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.15.2","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%206.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602) [![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/buttercup)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [OwnCloud](https://owncloud.org/)\n * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Box](https://www.box.com/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n```javascript\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment - Buttercup has several methods that can be overridden, which may pose a security risk in shared environments such as Node applications.\n * **Do not** use it in public spaces such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"8ca9bb05dd501c6321e091ff68d7375db32b708d","_id":"buttercup@2.8.0-rc2","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-dIGU4oenkzOBzvYQed6i3QficY0bpYqBsFB9ZX3LrIlEA3eueZWcjfvTLESYUgoSFQNVDeuLhGTqpYyV/bj0VQ==","shasum":"146c83d676795bc5d3f2b1f40ca7a0458a8d72bb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.8.0-rc2.tgz","fileCount":83,"unpackedSize":2541036,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7yDnCRA9TVsSAnZWagAAyRgP/irrkgd+5GiLNmTbfJC2\nhNwrT31omDMapWs3co40RV4VlBgGK+MIW7R3EUpMhvKF5aCZ7vTynN0lnHx9\nEpAUXQpN+3MwcApydmrh+CWGcYeCOaisp3Xqm77JVG5DmqbuEMGnjE4rzRAE\nuL6oXADqlu6FA2ejkWcW5CV7l15vdtzRVVJPoFsT+gqkcv0k1P6mhRqn3wil\nWvzu/JItCvsV/EjKFXsQv/vJ2nFeo1vXwaJud1uQJjllhMUvOUms800UF8id\nYREgKimW/5A0eOX1Bf7hOS6s5fn/RzZVt4nwYc4OkVi/ts82UdMeAinjtn2s\nv32K4GqoX+M6inxF4U4Hp5XSDLwJXLGa/Hzmn6gB9Mn5vrKFzk8huz3Hf44/\ndC/S5rUeBSsNQFL6wH64FSf6P/jtLpCyNzOewbC4o951S/HxC5EkXe1q/c5f\n6iD+Rsf3y0cd/BD803PNrGZ3ediNWdIrGdbWJyBrfch81mS75VC1uLGk0RP5\n5PcNTGF9+QDHPazBRF3RU6uxm9HAr7P6DTkKi/Z2R1bIOFGWyLVHjcd5AsVO\nKwqbeSdJhRow8oNtbXl8oz6/94Jo1c0rKhvYj+YujU1GqXQ/U0+0XrW473g7\n3biuwQC9xLwnMZwKvn8mOSu+MYAW16IgV0qUzZyYj5bcfQ93vsYBbqJ8cCto\nnN4k\r\n=LvEZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC04gjwurJc/N1l1ng/y3WxjRValTgkywccuy2jMmKjlgIhAJT75tAO9SOb62HMIKunsOMgUhn8he+Bu7vs1Ygn5idN"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.8.0-rc2_1542398182490_0.40854712128702264"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.8.0":{"name":"buttercup","version":"2.8.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^2.0.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.15.2","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"c6e3b29d1f71762ae27bc0b85d5a5f5bb8fa7a74","_id":"buttercup@2.8.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-HTd0KC7jxZ4nZ2or0LFN/aJgH5WmkIb+KyP6yxyskQ6PMOAGNpyHqp919GhCsC3Gh05YYz/Wr8ShQiK//OfF6g==","shasum":"e6c27479039c76c61ddba35b55e2336c7e79cf27","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.8.0.tgz","fileCount":83,"unpackedSize":2543474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7zI4CRA9TVsSAnZWagAAheEQAJtcHtJ8KGv386DVt4rS\nMix6/tavoB+U1W3jKtPqFpqgqCuMif4coWYy0yzDKQJkyjOdn+yaXaHLpEe/\nAFWyY4zdxn/S11libF1spJRWnbS50l/7g9AkTC3M9EibTqOxYjJ24EomFcfB\nzZSzm6vNu7FSrRBMrHshMPnZrutQXxfcXq67Bn1pODcAG1Kz0Vsax5llQgfi\nh8vrtrty5RnHHilCzatVITwSHf5Qo4/qI7VsKwuAkkQXN3K/+eft5ckrKaGu\n3Gicpy8+Ihrl6bS8dZ2GSMjUe7yYdtmlEFKUghWbk1fy+ay+pcYOHk90GnLQ\nTrY97d6xUxMVO5DpHvTj57B775c2Zx/hwyJDd/UOWY3JUGc9yNfk1HhgvTU6\nf6y9thS8d14G/8FEA4f4/2Tv6w2zm0xkSkPdKHM0B1j4rvxoaw8Id0C61XEw\nXWkXVi7WJr2i53ZuJIhjbbf6VcmWXBay/ls4pdq7V7Eq/fYpmqCx9zudk7xR\nw5OBjsp36uSlohd18mSHVFzg8cXLoeuryZziC5SmTb96A089TOCvO9lh6Fv7\ndXXkX4G3eX0lveOCbNHJ5uAt2VyZSc4naQed1HMZcCwP1PtNS5psqt6Bo/kP\nxLYmsTQLHBaKY0iM60WiMhgZVCYKhoCoYlO5sVDLmPPwcdrOO2LLq6onavYQ\nlcKC\r\n=7+ci\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+tMOYwsc187vw2N/S0rlzlWiwc/z3lMnx2PSxTa4jXwIhAONSHC4Cgtax/lLazd3IE+C9T3UJUT5gzoS46DkFVEek"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.8.0_1542402615314_0.6395110142129785"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.8.1":{"name":"buttercup","version":"2.8.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^2.0.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.15.2","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"67c3152aa922b52627e89b084230588a8f2ce667","_id":"buttercup@2.8.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-Ke3EfviK/ZJO6rd0igaeQnkMMAw0MBqQvnyk0BZJ2l+ux3Tm18qPr+jK9l7+smtQOdSGSIBdlO+7HPbw2E2ORQ==","shasum":"5c039c4ac3d84140cf14af3f98f48f401be52555","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.8.1.tgz","fileCount":83,"unpackedSize":2542482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7zdNCRA9TVsSAnZWagAA4asP/0Hha+q0tVPDdONlhyX2\n0kZZB8F3zmHJWj/RC5/7ITuf3LPmL2aIjgU70+3h2iskad6RGRWXRSk7n6sl\nMfI80Pz+Dg3Ai8YKJR1DhnFWJCG++mlt5UyfLoCZoRSoE2B3IKIP+NYY9pVo\nDbdv+5yG5cKqjb3Bkm1UXwqw36nVj0AZcXM8zEXSYH06O3AL4/dJtwnTSof/\nRldpsdsFvuyE2HzrpG+NSTBND/uWsNgCxMogIC2naNyYMp/X6PSjJhmlmSOl\n2zj826acC6SdifphGfdBhZvtk/NjPt+dmmnNpZ2RZ+uDYBVH3ydhyEIaND7P\n/3RX3IcnPOfalaRXc9ba+TpzDs7BJL27gp4VKH+G2pk82xvFLxfERVPLTeKT\nMNHwQonOmbV6xbu5a/3gRSdc/YohfgejN/mBfzlfneQhck8gIr94j8ovh7eo\nFXBjj1qkh8NirsyjiSNbVUw2HF/Nu6z2MTcuSfvzERc5n/YhuUAzTMCiXuvF\nB0x2oiRfYT7ShMWkFqZCvVlOii6SzAWFAIJePFN9qxnFipPifdaHIlPexye1\n5kPA8X/SVoqiILa2YI63df351OQ/+fYBDXcWCptjHFFhEXJueuD4Xe6fDgVk\nzRDKMN9E4eoFulf0Nu3T0Mi8vatmyDwIxh9XHtoNhf8YQCsJnoInS+3FfnbI\n3Y9W\r\n=2vVh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA3wfuedM8eHPs+sdHN46WF/r3gJj7hKirt19M2pd3gOAiEA1E3r/J4PK/d3j2ogInsnUeOUFdw/fUp6ZvN6G39m8EQ="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.8.1_1542403916243_0.11816096695551503"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.9.0":{"name":"buttercup","version":"2.9.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^2.1.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.15.2","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"7b0c86a93affc384cadab31bbe209c405c7ef201","_id":"buttercup@2.9.0","_npmVersion":"6.4.1","_nodeVersion":"11.3.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-wSOZJWViRwFOvgfbsDf3WRE3PHp1twVGR6mwmPheMCo0Ut7vzmIYPqhhyCPB6iChARf9XDiF8cjJRWJgnaJInw==","shasum":"10f7f6a85ae21b28c94eb19a03ad66d958e4abab","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.9.0.tgz","fileCount":83,"unpackedSize":2540253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBXE1CRA9TVsSAnZWagAATqIP/2fhGHC9a+fr5nmAJFa3\nCLDfk0fQrsT3UfGd5ZJJMHkgFjW86ddUj1HifXYQt9RefgoT+wG7fIF+3JSy\nvB5PRbJQRyVEmF+dQpnPkIomIGezmKniQ0L+Ot58wjR3zS7A11WaAbz3AgFN\nltTR8BxmT0A5YYSZlNc/mooREc/NQL8G3VPo9BjWZa1UbWRB0F28qzE+nTtL\n8qIguhanyEPY/KAxgeRDefF5LfhVmhnFGZ+mrL5KfrLaTpZyNyHk4F5DmB6t\nYTPcRY3hL3FcDqQzIc/bEp1y15Tq9CWnYGGACi6WKERX2JDAzORskncmVNLW\n38MeNyXYqp564F4nvYOuyepeaI2fMu7r+AQWzWgmExaWMMgwmmf5XjyIT/Hm\nK8w8tOSGvB2F/eY1yU70XD673Ry3/lEx+8x0UXHvjdUrHyxZsoJqA3tce2V0\nfCPGTwuVC+cHullj+iXQ3t1Yp82TNWPqsfXIZwKZBoUHd6mh99h/D11Zo/KI\noptNjxjF59Oiax0NfkZOadIkPG4x3P+x24lJT0PtT/D0TkN3s6jUNF6nPkYa\nhG/y+DWFQu1r06lGUH5juca//qAkCbdS0Ao1weXA7jgcFFRPgvAgJeqSfLhv\nH8XacNJ3BoZn7gibSC7OCWrU1c1vVJkl1Ti4ugvDAlaWrI6D83rmg9RplELv\n72/j\r\n=ljSp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmoyv84jksqJEtBImxkd1I2QQO6lm85HIqHEle/AuXuQIhAN7V5TN7skJldy25112D7XPIUVEU7Ebhdpv+2DTLT3+Q"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.9.0_1543860532445_0.9954463607487811"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.9.1":{"name":"buttercup","version":"2.9.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^2.2.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.15.2","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"f8ea71917ab869501dd387231e890146738a0a02","_id":"buttercup@2.9.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-vng6kIClpnRZ/4bFM6UJzONM9ksF/nnKndJ6qxI8JHJex8Yd8Dp2WzDJrsBfImgoYVFKT3kltxhMqI2iaXqrXw==","shasum":"0c173dbea72a58e41b8533d6eb45dcce4faf83a0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.9.1.tgz","fileCount":83,"unpackedSize":2545839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCER/CRA9TVsSAnZWagAApfYQAI6QRDTwZ4znfwYyKTlU\nZmaeSmoqxCE0UM4sz8G2YE38x7m5PRphEgk68omxqw8AZTJ+5LG3tg0Ni4Sg\nt3nEMy4EvP6A0FuQtM3X8RzA3dNLwUe8mKSZ2LHfdm0Ze+Gl34m/aofasqvL\nJ578KjKnS2BZH3IFT0h96X5JWzImBNA7MYSeMz86LQc1IVx/UgIwGWANzV03\nBJ/ZkC9cDYM+ofln8r/UCHMPXhjKLqg+L8aysWfyzHqoLBj/PyiCtS4b7tOG\n7lpVmSEfwByKLtxBZHq4KDKwq4fTUwVIKHnfmCY+V+ZoG2KQDE+OoT1YkvRb\n1nJV1pHIzn2sMz5pUUn+Lx4jFHYxyWDMOmioRwuyWDKgpgWRTrfSIMcR4ioA\nt61k2vj3w94DRah6EwMAgUIez8p0nO5MTLxJExJS2lVMIlbrmyuK1cpjcpdu\ngewYs6jJvgsbMt5+KHS3Rhn3JbO3SgwrqA6NWkjC/p+zWPmatr4cLFpQ3sas\n+0ZW8tg3l25PpMQHyUNjp09saDIb3ery2XYrodY/8aCqZwGQhFRIoqptHuGW\nfFPReBHnDGrlFRQ+Ks2AjE/AUs5jc1+P5F1GH85AO+zfq89/t0wdbsjxgN5A\n+Chw0fkHDxcyUzotgWDUsa52JJTnKpPOqZ4Dbp6Db3d9XyjpY87dGsBHN7yA\nHKx3\r\n=gBOW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIRrFTQ0IakUKdePSSNeYVjSDR8cxhP7JUGvuUt9ZQGgIgWz1bulX57E8QqcjHxZIBXpA3MWxwiAp7x7+7NUQy1Pk="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.9.1_1544045694830_0.862396434310897"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.9.2":{"name":"buttercup","version":"2.9.2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^2.2.1","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.15.2","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"f21a3311a605398bdf23e9fec360b0cdf8053169","_id":"buttercup@2.9.2","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-Y1OleM8XnF2fXRtMcqNxEW5Q+oDoGHxU5qpNIZG/DuWAd0R5iI2NfBCeNW+HuExY+O8y7YnzqYPVTX0xbwIjVQ==","shasum":"3b86b677faf0d94f2d9767306865c1a0444b0f96","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.9.2.tgz","fileCount":83,"unpackedSize":2546918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcC7jMCRA9TVsSAnZWagAAcj8P/1iMPpUhoIdBimDYvx1/\nSyhcCcmQy8VIACkoaMvMOWZboTTVyNrz+pnVZp9n3iU5R1Bw21o6Vga2Ta8S\n467z9TJYuZ7Hq+fzxNbJe3tO10o7/RGGy/mJ4suM9z7iaC5KpVy20FzTGh1T\nMPR59YrPEq4yIacZ7gnp4quHJCtmbkCiLIqC9T473LBO7H7VyAFrs9dBUqri\nxJqSyg6KOpFf7+CAGblTc2kfIzoM2Rc9541g3L4wyzIj2B1KJ7L3/YDyvaQR\n3AAn/4klU6UoJwNJ6E5IGVvmpYqZyNPAJexJI2ML0kmE1kbN/pGl7/hzNWWs\nPqxNonBVUhTYGcdZ9T9SNNwYu8KoSafYHAidUhT9Ez1K8YZsFnCrk6kQlOxn\nbBKYJFrhS+J2WEkq32++SmogC2Ol5hnd+Av1LLjvJoFYEtmndeOuLfzpOg/m\nffitv6QubIFZNosMO49HuF4/NUwzDSizi387R0mI8fdwryQq/9x2Y888tjYD\njpLv0A+EYefcs9H7sxeXV4MI/GA5L94b76O6BCp/0XwdLlsuFvXoeRYo1SuV\nJmUeui3prRkYfEf1pJIJDWVeFGhXrd+VnMzdaQ+zU9eAcOMvaEBTYWbxpxIa\nby7aYeQ/DGcbIV6DEm4psBGtodGLdQxsEqnAVrbI24HAcPiR8LLcV5xyOb5X\n55tP\r\n=VEuH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8Um1q5SNScrBiBexluckHpFdE6m6Nfb/RSjFfmZvFcgIgEbYAwXUxaiXiYL7xu/LBJa3QL1NpkGOTcsLAEBm1hI4="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.9.2_1544272075929_0.6639472448316319"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.10.0":{"name":"buttercup","version":"2.10.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.1.1","@buttercup/datasources":"^2.2.1","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.1","is-promise":"^2.1.0","node-fetch":"^2.2.0","node-rsa":"^1.0.0","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.42.0","husky":"^1.0.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^3.0.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^7.3.0","mocha":"^5.2.0","nodemon":"^1.18.4","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.0.1","prettier":"^1.15.2","prettier-check":"^2.0.0","rimraf":"^2.5.4","sinon":"^6.3.4","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"6a41d479b6baaf58b210ebe5fd80d221e4bbb9e7","_id":"buttercup@2.10.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-0dY4QTVdt5WOl7cj9mhtoM43eqb5nddPM5gOZddPY39tK3cvq/7utpdu0Gfvb1MB5ytvRoE0GttdXr1bsaHx2w==","shasum":"d2081488c82c62c914bbb14ef22438c993ffc779","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.10.0.tgz","fileCount":83,"unpackedSize":2560541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPLw9CRA9TVsSAnZWagAArQwQAJEYU/n8IrGeUU6aFa1M\nwwVJjGU1ICeA08BMPFjxhlDaySd0k2yGKjuyohYlhrXFxWDwe9VhZ/wg5YcU\n5XGEu/u64SFEHrV/6etmJbmLO2JMxd1vq0lrR3qflZSp2Rx2bS6YaWXOumM/\nAty8TUOihbM6eI2AMtdX0J2sF8BU4RvVEkgya07kOK5KYMX0VIuTvoTTUtFY\n8uRVwA7Bjd2xXYm1fCs2VUIsKdUe8hy9YUoYDrjBDjermfdeZH7K/+Tawzky\n1jMhjTMVHxUilXbjhJtFuucNDNEyvZqNpbDiL9EWWcQiqnOrtaIWtB2O0hiW\nGPQL9fVTN1dZr/P83CeIbOb0anmR0Yd+9OB2W//PKlyYIMOt9Cxl23+7QlE3\nUD6fweVBdKPS1zxuHBvf27NeGSf2Bk0n9OD9R6oGfcefIDqs+8C7pArcdZzE\nr8v8WIbPYTT0SxmYIFxAIHVAs652KTLijzQgPbZ5avtTxUXXrQmDyF3GNT+G\n2ldmqWuAaVBlFn7fX9kWZw07nMaTtUlBGeDyqWMwtPkVlYOVuv4yKVUN5Bpd\nyA/tbwltUKgt5NJNrW/HxFyFGDU2RLAVDrRbWceNs3H1FHW50npMxIw9rDjM\n+GH5IctU6EEoDbj6JfVhsnCXoU8WEKjTnZmK0Wjw14zVaxJMchWdlPDw9FH3\npjT1\r\n=9kna\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAKmENTQH728/wPJ/muAqf3diQCmEqO0lKqZsKv8ap8tAiEA2XBZHvRn/k/nV6yJepZaYZPZCmu1FpgAp7i17aE7Hg8="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.10.0_1547484220581_0.8327419601820134"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.11.0":{"name":"buttercup","version":"2.11.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^2.4.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.3.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^4.0.1","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.0.2","nodemon":"^1.18.10","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.3.0","prettier":"^1.16.4","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.2.7","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"ef2d9fdcc3208ef903e7a1a04e2cbcfeec43e61d","_id":"buttercup@2.11.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-2jt1jJ2irV/i8hrGjEzY886WN7vlXeMd2bIQEpvbwQaBVlQnf+eVStb5HjuUiakiMXcVxBYCvfDe0iTVCmh1Mw==","shasum":"e568a3a45d397c248344bad066a581217fd03cad","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.11.0.tgz","fileCount":83,"unpackedSize":2734304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfuqKCRA9TVsSAnZWagAAeVwP/24TOI22shzw+u3/wA/L\n0rR+xuURV9oIgVJeMrvZSoRAFmIDSQcZruxM5J+9ogF1JMqIo60c8dX79W5A\nocXSSYsORkXHlkc3YJ9/QeKkC3SwD4s10sgxN2lTo9Reh4eRx1wX2t29BOG5\nP147tey0qGIY9QO0CSuUGZ7T0Jodu417m6U3sxmGnID81Hs8b0hGmwVFeqtV\nOHXq/cfCD4EMW6c6/e03Wfog/QNjfnYsbjTEQPKkhlPQ3nJomGjCc2FItEMM\n8L2TXdr89GVZ9h8bo32WgTYWVVP5DVQDKTSeD2qmxiQYPRA1ZQt00XdG3Y5e\nQwyXO5m3D6jHklx5M82xeR8hdZOxFvKW78VgOD3liSKi1hWOw9a7lT9x4vm6\nDA09AqmQwIRlJD8sZZSGqU/MPIV8MO+xedsQb99Meum6f22QC0zdl60uLyNY\npVCLOJDT89jeHaAEwgxYBM/bRDjiV7aGS8JV615CrOBZj5gBZHyDNiNPOehb\nmGPKKNEHY7kyHcTUdU665AFxEQgVrl8cpy7c3Z3lJjk8z1nIoVObUtpan27i\nrsKpQcd9XpK921nUMtXkGJrhEsAXGOL5CKbC/LT7qSmuanOY7DH9cZ9Eh3rp\nFjcORvBe39l5VY4GiGo6DG2x8Ik3BRYmgTy6P1yROQAO1JKBYMOF5ZDbkbhL\nRas9\r\n=xZF1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUnxiIg1bxQwtXh9sATZ9l717dqXBOh1UK/6b6WGmDrgIhAP7z8rReljefuD7QatEVI6tUp3biAF0S1R0b6j0daWHF"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.11.0_1551821450126_0.50806463534275"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.12.0":{"name":"buttercup","version":"2.12.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.0.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.3.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^4.0.1","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.0.2","nodemon":"^1.18.10","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.3.0","prettier":"^1.16.4","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.2.7","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"bb8b915fed36bbf4f536ca80d3457df3ca63659e","_id":"buttercup@2.12.0","_npmVersion":"6.4.1","_nodeVersion":"11.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-ngOJBSS8UKCB1y27OYT3IG/bwSg3JAX2amNbiwRZ3G6qmGTbSbv6CtLwJcGWh6BZpOQ4Lqduor9BGYr3TSyNlw==","shasum":"d36c34b9ff7360fa343fa95148e34868a1c086e2","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.12.0.tgz","fileCount":83,"unpackedSize":3007400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsvPRCRA9TVsSAnZWagAABawP/3rU+DN3zxdxXFbGJ2Kn\nlN+lcbIiHscNUKqT+PaSAR6Gaa9SsWim2Ar2maqoX8qtdGY7dhNM4NAogB/X\nasEOKBOyPA7j7pwXMErZp4SQf8IOwadc1EhExjZUJvfMPPUYtoxYKSfh7TQV\nj/9tdn+x9zM6kXO8Yhcmt8MZbQWy1m6qNuG482+3qF7BYNGw2kHxglKUv+gZ\nO76Qn9zuA2YxJ5rCmUYN7CxraRBgN00+lcZAxfa00DDACuAVdwaByH6Rg243\neSBLd75ikEzrhGOl5pgyBSfjFcHns4lsJsMVCSMOdiijOa6qr1naKCqvOAOA\nmmKhbflPGqCU/1WBLbHnkzTWswmwZzDA4QvEuHW1YBFKdOXlVxp1tM2boTbs\nYCBIZmCslzXmNRipxTHK25LLlB1xzQ8eZ7ypl7WOK28T4gwi2Yd1sXvwvG7F\nzW48h0dsSFtuvqBC7pclmvgClam9ticG31XCcGBdex7zGdca7YGk1CRcPvPV\nolmwM+7/VKdNXLKCdvsJ22zX8yCYem+UMAlg7hwlGp48w9yTzh9iPxoMeoWd\nO9jY0n67bRRbbbGsK9VI4WkTu26VtQq/nPeX3EWsVuZnB3JXlpGvsdUx+6Az\nKCsA5Kmun36xw0hTj825jxQxRw/YIlbk9ozMBewfLegZNr2THQ776tNNDbBe\noJCE\r\n=ozvN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsXD033gvQOhNHONDrwc+XhUREVpaC3n4DukDdBYCVWAIhAIuqF1nDqPZ585R3FLXzWsHJWI4HiKLJHPsuPIbzpkEU"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.12.0_1555231696394_0.887453311696929"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.13.0":{"name":"buttercup","version":"2.13.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","precommit":"lint-staged","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.0.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.3.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^4.0.1","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.0.2","nodemon":"^1.18.10","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.3.0","prettier":"^1.16.4","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.2.7","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"gitHead":"5e9a31ab33917003d7b1bb46cde1d9d5d93c5f47","_id":"buttercup@2.13.0","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-/Q9Nd6Utm8g2B+p6VmPg8OScJFONXVxxzHX4BvY4ImVVRcNXDgEQmlNfw92Bj0TlLl78sDlSKspbqQdcGVWx3w==","shasum":"c9ed5161a6dd6f2ebbea220fef8d53afe0c2dca3","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.13.0.tgz","fileCount":82,"unpackedSize":3004139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9UMWCRA9TVsSAnZWagAAIX0P/jDSujWjdg0/eB0pcFbB\n5/gar7esGhCME0AXm4YQmIurqh1qg197Be9JaQBvl9s5/n6qX5/+6sEpl27o\nk6qHGYzpX3DbbTkbg9h5bfQ2Xj7DpILf9BjVRNZJ7/Xq2qMYROBdtXFMUCTT\nc8uxbDKwp0dHxRqBY43+c5z792dJxEjQDkB9jHVxqOzhBuDpjZgGRlEAIwTM\n+EX96tZH02d5q+1WjZVJwOiqVutLKKk1pg+ZWuORSwpcA7dviZpTsEwfleix\nJXrHHPTOCrU1NH12AL3Xs+/Gq7OxH+adHgpNjJRKiPAdMIYdWcIlhOPxcDRC\nQGAhK5kmo9CK1xzGn6mvB6Q5S824eLN6TOvojZ0DeADd8oWa+AkFmrYhR7sX\nUfCgOwl/G049m24Jk8pDfJ/ylSp47hKB8ZOQ29WgGzc18j5bfhTyJRO+ruTz\n5JCKDtKQCC+ldb9JKdG8/B3ypC+lcjIGra5vmU2tpB5s+o7J+liFKHYLvAaT\nMElGlxTPUt2sny0SWAwAChIcvU6xfQKpo3DFZksae+bCE2qw35k1GIdmcjRf\nL37b3Lld0yH4TMtOHDuXw3BYDhLl3kenl36CGGLa2u9F1aiwv+bF3OGq1zOn\n+5ROBRvsXwLWeIkNDwx+XcZRm6ZS8trSTuhQ+Gy6+VHMVyVISo3fUvOzm98Y\nCWv5\r\n=R5kt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHi89iYyxVRnHdeLCN0gGdUQ5Ga5Bs9/KA8WIFamfvSTAiEAnsvxE+Gtnis24DNW06vwPhCvNb/yG7uB/O4MNCCZriY="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.13.0_1559577365410_0.7725011419835273"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.14.0":{"name":"buttercup","version":"2.14.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.0.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.3.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^4.0.1","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.0.2","nodemon":"^1.18.10","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.3.0","prettier":"^1.16.4","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.2.7","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"a05d36905952a61c83c5ed674c4cc61302946c30","_id":"buttercup@2.14.0","_npmVersion":"6.4.1","_nodeVersion":"11.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-dG4YQKZdO94SS02E3sSW8oUF3IYIsUPfJrZWAGGd8HbQQDWJpkRamQcave6ukDGXlg+THhz3e5w0rfdY3zHLvg==","shasum":"7085435404fd7a08af553a4d88a6fe2389db7359","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.14.0.tgz","fileCount":83,"unpackedSize":3008495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJ4i8CRA9TVsSAnZWagAAOykP/RnFNsmQ+uxzyhUGe+yL\nze77CnWDyAlknoANOHDUvtYLoqvDr3Mf5o5W9MMLoymOJQdOSfsRsMvH3t76\nLS68JFeJ0KxsyNG6+m0Rz+wWUU3Lb7XEM3L85JyvRR5Fn9caJvYC13wLqZqg\nor0cIV3XVn4no/rGyN3gREfWV6E2TQllbGfEbkGpo0UbA6tjzS3U2wAlgWNm\nYAV4AKeZbLqMWq005q3w1sX3QpwXaP0jCCLQdgtZD3KVPZJ4olHLcuQcDlQv\niltjMqCYH8QIm3wzNTi9akA5ySTdlJONp1O6q28vXhuNs+bdzREQZ2LcTob/\nAhfN2VJsqKC9KvdjZkI/IJmGszB96QulKrKXGfByesjM36hSdc87tpRNWcIC\nevDMDeFhmU267+CyF3hosOZId8VWs/KmfIwiZFl+2sjS6o1fwR/KFVcMJo+n\nyvlWe1OJ2QGLdgvH2oo0gR2MB0xOS829reWMya52OQH9Zizk86MYDMwNTXd8\nkw2sIxmLeigRcNd7/WZi4JVFVXFJdnTp1HF32yaD4tZLszsMHwH/kXEq0QZG\nE0Kn1MppETEnWRrwg0FHnbgkiUCQL7QnaXeAL8PH9u7q1jstHysXlUh+yv3J\nZGv+xN7oAf+zufePhYhgpyzeICnFEYvvPsXaL8384yQvtiYRrr3qo4BG64qT\nBrOy\r\n=/m2/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZ33LB2svs1EeCCe1gH6BxYHWYoub5Sw8VkJoJxKHQgAiEAydCIYp0JEEgzv7jbrFeAt49MfFoW5p9lQ/Y6EDhr9Ao="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.14.0_1562871995384_0.639967365101366"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.15.0":{"name":"buttercup","version":"2.15.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.1.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.3.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^4.0.1","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.0.2","nodemon":"^1.18.10","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.3.0","prettier":"^1.16.4","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.2.7","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"5c1211ff813cfe0d21ddb385b90514972857f6ea","_id":"buttercup@2.15.0","_npmVersion":"6.4.1","_nodeVersion":"11.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-FkNzNDnzWVB98fPKO+TcwTjscIKeCuR/Rdz0Eubc6Varz3vDICRyYqQFG/P3vzS0lEEWRMfvlLebIZLrRQYMeA==","shasum":"41ffc2421f505b1acab473a01ab4e68574bf712b","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.15.0.tgz","fileCount":83,"unpackedSize":3154056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLjETCRA9TVsSAnZWagAAM9QP/1MUmBh6SgX9EgcJthmh\njfhVQ9YGcw3URwcyOMSQtp7oDfR3Z+rig48cg2Wz9gWyZ4mPgz/cRFwHj3HR\nR/8Xfx+sWHhM72o2rippH0lL7CUp6/3mBRRweqVQEWyjVQ/7x4KXM7PwU+Ag\nPWGut8YRI/2nPeuX/NSGCDP5EGLwEnPliNsckb9J7E57lPS10r3xLthBl9uX\nSGIYyhaxXPpuDlMyUNEdoJt2KhQWMWQJO4hqcDuP6zC1qY2V8p03aA2Pjvl8\n9CHGqdt667mGbYBNeZvS7tqKfYnJUpth7bfE6hfJaavH9ysJvkfbHTRDMuiU\nmZrD+HLg0ptasdj+5KKpsiViEQpjyXhjuOOk1yh0wsq2a0Px/snY8fgfQQMI\n0IXMV/LadyZJKiAJFfzi4WsJdlpXi9HO2jhSc85QRfOXtsqZQrUBPuLBriSv\ngBxBlgejlRC68LT8BKElz5J05XHh/AagVVGumn+5dE0+TwFWad5DIr5vhOwd\ncgYdcjmYL9Sgx0X66217PC9R4IuN1AyoFdZJP2uvWwLZxNsy3/2OMr7V5X+e\npZUm4mpUFZevk/hk53LpbeAUf9aSwdYlA7lwnMA8tTKGe+sx3GZl2Q7geSOo\neff/32Cf+9xAkiOjNmkIXIrotX5F/xPhzB3N+/y1/ptJpkG03Gyg6ptMJn3r\nMPir\r\n=f6ev\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBWyPa3S1v+UsdLDVJuguRjhdSOrw2OAUMKnb4Ef+Zh3AiEAvg0Mjj7+LR9paPyZz819gtnwgTr3rlQDoxeL8lIr6oU="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.15.0_1563308306714_0.46133420270392533"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.15.1":{"name":"buttercup","version":"2.15.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.2.1","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.3.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^4.0.1","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.0.2","nodemon":"^1.18.10","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.3.0","prettier":"^1.16.4","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.2.7","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"7d6153ec287972ee259eab6b96e9fb1d80a261d0","_id":"buttercup@2.15.1","_npmVersion":"6.4.1","_nodeVersion":"11.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-WU5LyKrmO9iIS+2o0PLG1PKUw6c1EQ+cam6dRtAx+RS36Kq7qp3+Mv4LQdAnFp+F2k/abShyUPSRWWl6uwJn6w==","shasum":"8155812d388dc9f7cd63cf140cf9978d84dae2d8","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.15.1.tgz","fileCount":83,"unpackedSize":3063400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNhn7CRA9TVsSAnZWagAA7uQP/1m07FLL6mdrjP4tAIUZ\nmmxY2WDq9he+syvdfqcc6pREXCtVEW67G3KhlYnwqPM2ezsBdgZSPWg/aUqZ\nDGfwmI/hmN642TfFUoC0uo8zyq6X+tq/RFaaxmNH5CWUK3zyHy8zJzbgWUXM\nVjsJi+2clnNHXljFDn/bVT15hBG2XQCIHlW+vZeZQYKxW8JuFfqv8rV3ntP+\nWVwYK6ghLolPxTgrJonN7hULqUxsV1W8EKHb93rupWRJr1kRFa+xsbf0Orq5\np8hP4uJ1HW67aUTvX8TYbeuX3zw9LU4L7wmpzRi6YuxgO1Nw0flyvaNDc6Km\nxb9+1ylxmCdXdyszmn414scFvZgy/7p5wyfcNL/Qn06n/qBAsRzMGXGU49dN\nrfWURpywbq1zXBFfPM3PK2/n+qKoH6mTVVKxy0nMNiyat9IPNWZgGSjIsDhy\ngilWZssQzR4NVmmsDQR4HAtZQ0X1kpWcnqrewBLbF9cEsPGF0IYXDpZt2ECR\nsvEoExUCFYvmMuNkIwdgn4VFCl8FplKX/qUBN5FkSnJsU/onC9yJo3lIGOHp\n9XGcLKHxV0YidIOFE9cUbCg7lrQ8unzMfsGKcQLkEJaorwxgn4V51yhOBVh3\nEWKCD4qkihKRuTb7VAIlCqYDQMYinb8YPNvGlT/iFEyUSL7UNixAAiMV+FPm\ngkEu\r\n=nK1K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOtspgWvtPelW2SKWSkBq7kaq1/rAPqwaxmya0DnTf9wIhAMz8tisw3jdG7qyLyP73YlF/eU6yn8Os5rvKp1zCb4uH"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.15.1_1563826682853_0.2984831289255492"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.15.2":{"name":"buttercup","version":"2.15.2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.2.2","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.3.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.0","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^4.0.1","karma":"^4.0.1","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.0.2","nodemon":"^1.18.10","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^13.3.0","prettier":"^1.16.4","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.2.7","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"2f68f81f36c299f98037a5b14d418ffe6c8572e3","_id":"buttercup@2.15.2","_npmVersion":"6.4.1","_nodeVersion":"11.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-3CXijkK+NJpzY02x42H2noSEmKX4H8kvMs0BW6rezj0qLNYesKKs2gUxzYh67NvTq6kDlxolqlOTqUaASAsVtQ==","shasum":"a9ec003f9f745d49924fcdd8570f465d18b86127","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.15.2.tgz","fileCount":83,"unpackedSize":3063322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNtfmCRA9TVsSAnZWagAAuhUQAJYFvf9h/Z79BBxhjNB9\nMIkmFJi2PiNlOilf6jPmqdBY6F78kb1IMed2rYXf11FVBdvuJ1J1duFVlrN4\nTnOYGr2Vr+3pGVc9zWZ5+ViDr3Jr+N37bnBfuW3vLhvnOO71laapvMjgBgCV\n1kKhZaTpg2nBMuTJKP3aASJnGjWCbp+IJzAJYlR1un5Xyx8hGb3AJFer8FUS\nLm/w7Pg1/zRdnlR2LEu7+Mw3cV1QM45Jto0wW2wpc59XbTKsP8aaVTr4r+SB\n8DzS9wBiHql6UVpu/JE8UfE1vPZEm4jgSMLHOoguluXmkQjpupeUN//zLBiM\nMh1aK/B2NaoYgdPdmGju3QtD4SKd8nyu/rdYIdkhAnH2oeAgyC1RptAprz1o\nQLPYHvWukKRIPbhYPkaAqZ/W0ue/bGyq3cEq5sxtFaEFVBTtYcydDGlSuFyx\nKOS97n9RATIwYHNM0RRWCMFRaOjElq5tNk/Tq2GGg/OH1y24rXrDaB1yGBdg\n3e4bZAd9YxtDjhoceYq4pNx+gY/iUbzBk838hVMrQN9R9wqtB+ehArYQqwqM\n1mYDvBbOIecucbt08BcnEfjvxVxUrBZPS64YQ0NTojPjfj3wVRDR0S1mKKoV\ndVp9oUTJwUH8NQrtZM0cdWnwKxcmHfXlp7evjdO9SCMxM87Yf+ogV9sy6jaT\nc46q\r\n=6q1c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAYYqMixiOXzHRQOX8b9QL223zyNZHGMCcI5k8CSc9DAIhAIIPSnXiI8JYc4Vi0W4UCuMquOz/pvt4CPjs20g6Qmhs"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.15.2_1563875301227_0.6318872681911016"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.15.3":{"name":"buttercup","version":"2.15.3","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.2.3","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.6.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.0","karma":"^4.2.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.2.0","nodemon":"^1.19.1","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^14.1.1","prettier":"^1.18.2","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.3.2","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"d6f7be5f7d222e8ffd369afb9f8d42c18d591164","_id":"buttercup@2.15.3","_npmVersion":"6.4.1","_nodeVersion":"11.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-4zRBcaCRVu2JT8Eoj+pVaq7ecJw0LhFEbpEp/8LGYjQGKkPIWi0LwLSWCWlsWlxXEORERYr1M1hyR/J2zYc1/A==","shasum":"a5e07fddc96b8b756eb78aad46eb28dc8bbbe199","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.15.3.tgz","fileCount":83,"unpackedSize":3100233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdRIIgCRA9TVsSAnZWagAAspMP/isxnrGA7XY9WejFFCkj\nmP5Ym+Ltq0fMttMKrwObchKGtvWIWCcM4UdIixonkHFAWXta+JMu39hHySPi\n62VxAwaMINXfrC0qSjNdoYgl66CIxsS/3boX81P3MSjJSulUPO4prI4JfbC9\n1qFnRtF8tYiPb6Dl/51azKElcan44wxgtUnOIL4yD5vkc4Hn/jTtN+ke+qJA\n4Sv4WKE64CoZpmZ/Cx45RU4BB3hY09WqVwPrSLj1YmpZCVHlbT2gNGqLWj5e\nKpvEk3ElrTw7Ymh/zIymYK3JuaPanJuoWr+mJnChoUnRzpkUyKZncuzqdkTz\noreH8jCrIzrkDa06f3+dAFEXYOOMn8mlXetkXgNZoHNraFMzzeQvB0UQUTT/\nLGISPK1SO2CANZMXVllv+50GYAD3vuUp6YVjfFXCDrMMEWBiOu/p0fW6hL5M\n5lPvGUJWAdM/HHKf6uitDWbOoreFocXYRZTWNCX9IYb2cE++7+g2XBMDPKmA\nKfQdRohh6Agccr/OUIozurBIJ+tZ7nmYvgEj2lWURfQnIITf+vhtPK+ufStu\nZoZkkmKtt86viozvkXT8Yc2mU2KJE/IEGa4JFxEAXernC63I9Qt7LjaOSueP\nGInGcZGlEb1z6E11SxNwhmMlbWv5go9l3Ls9AKUj8YuB3fUdMmE5HNPIzRgQ\nBL2P\r\n=YCjz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEXY93n5d2SMrCT8q3MUerEYKLiuOaAMVVTMzR7SDfgGAiEA1Ca7qsF0w0ZgTedwkHeB3HVUgIhM6DxUBu2wz2cGwM0="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.15.3_1564770847471_0.8616272647609735"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.15.4":{"name":"buttercup","version":"2.15.4","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.2.4","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.6.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.0","karma":"^4.2.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.2.0","nodemon":"^1.19.1","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^14.1.1","prettier":"^1.18.2","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.3.2","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"dd885427a52166a82c9a3bdf5530df5a17afc261","_id":"buttercup@2.15.4","_npmVersion":"6.4.1","_nodeVersion":"11.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-ddK6EhtGt5ouVX+zBDnCyytw7B+ebYZxp1o5rINz4ehwaRPTXAY1OqqEGhFLWJ1owEawfHgpotFX4jOi86Iuug==","shasum":"e5190df1a72c48dc9d0ae1cb01659322c4789f30","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.15.4.tgz","fileCount":83,"unpackedSize":3096509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdRJ3MCRA9TVsSAnZWagAA7LcP/jeSBTk3ip8tMYfmXhsI\nzNT9bG3lZGGXti5i9fJs1HKxECVVrSReLi3hr0ExKG4LDYD3HnbRkORXPmiL\nzK15K0cPFiG0YMJLN19AS+rhltbbaO4gR8YwFUSOeZaGjZ2tGsYWtOi+E2T9\nCTFKfvPrCR92L3+fIhdKbOB4AoeCqWVxZAddo1QgFVhs7hxJa6aulZMBEbsv\noChOeLy5afE9MJ0q7eVH4Z3rZ65JvLOD6vKfFRskeAmAX/U9oDhCQG5RYA/k\nJZkSif292xoZ9uCom9/EHkcSxNEJ348E0PlSfYCLe6L9G1D6mLzKPCOxJP0a\nDlYsNsCZmmkxf7W5nDuZgz2a9S2qrt0byCHMnfNmc2yJAcvSKWLleu+eHQgO\nePQnkc8N8uJZ9F5ElCoShoRP9bKhOYPtLm6F4f1lNb57Sle6d2LI99KZEDPX\n996qn5+4s5ZdpcxNulxAJXVzOVqEZfMCtAQV6in/a9GKBH/0iT6f0ZHH+IFV\nmaCIzUOzFo7zpxZ5ymrJ48x+nitVpBD3hqhIUFhFtOxYZ5v2XB+LaFCFQz9S\n5CgkMg9/8AD2e6ZlzA5km3l4w6KmO962dfzep7n2WZIr1Yl2if1F30yCMsIM\ng2II/HzW/GWYm4XSSMzUMJUUtvs8+2lBBi0pldmUtAyNTZ/awAoZii3p3H2u\na0n/\r\n=zUkG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHeiF8vJ2uthaaD1RwGCA/VYfB4khcs4ZojWAtRL9fQCAiAWJuFA8o3096W11NtXYk9DmWEjcIMPnGM24M4VUmZrlA=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.15.4_1564777931428_0.659848568199777"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.16.0":{"name":"buttercup","version":"2.16.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.4.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.6.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.0","karma":"^4.2.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.2.0","nodemon":"^1.19.1","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^14.1.1","prettier":"^1.18.2","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.3.2","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"87de2a72744c5958ef0d40da2b2bf33f58b69dfa","_id":"buttercup@2.16.0","_nodeVersion":"11.12.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-ERj0L4Q3shknAAaaqKEu4oy1L8kft5RhaOqgMhdxsPRSJPJnKIVfZnL+w72CWxjd/8yk1oC2K7CmoUqJ+ofe1g==","shasum":"fbc87841fba0055453cfe82f48fc8f7f747abc86","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.16.0.tgz","fileCount":82,"unpackedSize":3251886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdmkOcCRA9TVsSAnZWagAAlWkP/juEj4TCV/odFWtz530e\nzOG+qhnYMYS9TBuPXhsKbVPQmZ9OCsYv3rhxj2LfWRj7j0z8GFl3ctjiTWEJ\nCMjQc+0ZN/o1fDGJtaBeEC5XR6a12jiUBwQGMXPnqvP7uev6I94HJB3Z/mcl\nFOmWcDmFg+d/QSkBCn752Hjx2TtximnWqK7FhXHBRzDkBSk8HkBKjDg3GYEH\nr71mhRzKw16aDRErysl4bXgeMAeIjcSq+0CotuNMSTDMlskGQMwCGteEtHZe\nYw66jYG8E2IRI3ozk6XA7SsV9hmwzQRmofDsD9+OyLTCv2/cKgxHFx0Sl6n0\n7ToHfuP3EUM6Evtu54hNL3Ur4QxAK57sxkJZolLJOzm5nPzjTC4Ijz6ZDbez\nOBeLJMwbNY0Rn8DBD6pM4lTq70wCAyVZExvw0cLD6f0UJF0MgjbiTfkKf3rj\nj8y5d0Bs+SdCYcVMW6K7FJpMzGp+nRzUOSxBm/JFnXXt47wB8jMw99RIYOtE\nkP8lpT4Mk4JrjwT7nUr1b4LSnBMm/1MfRF2/xQ8CNXSbqtxUCI7tAX4SDkNu\nLrE4i1I1BzXWpboPP7DkfUBvgh6aimIChjq3OqJXrYj64PxedNiLz7l7mdtT\nprgJVegsNA5roDBZLEy7jJt/PtC1xohnsgRIY48az8nsRPUzz58G/o4FuRyY\naB8m\r\n=kh92\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBonPUxOJOYtRd1oWyHtZQ+L6LUYA1WTj8PTyOyjxWOyAiEA2mDqUvmHGst5Xg/xiPtXoADLt/vbSKeSmHzqJKjlDeU="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.16.0_1570390940336_0.7650304482195904"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"2.16.1":{"name":"buttercup","version":"2.16.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.4.0","@buttercup/signing":"^0.1.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.6.0","node-rsa":"^1.0.5","string-hash":"^1.1.3","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.7.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.0","karma":"^4.2.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.2.0","nodemon":"^1.19.1","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^14.1.1","prettier":"^1.18.2","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.3.2","sleep-promise":"^8.0.1","uglifyjs-webpack-plugin":"^1.3.0","webpack":"^3.12.0"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"cb0415019d5538f22607769497ff103f273861e6","_id":"buttercup@2.16.1","_nodeVersion":"11.12.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-gi8/I0VYAucj2o0Wx7ma/8MiRaiEdAwjlYvQWhCAzDDvYbxnQ8i+8dZLcbTwmbbn7B02duu5QpqD5rUzHFZv+g==","shasum":"bfc0ca0e3d00434bc40cebae798f0fa5150a7f3b","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-2.16.1.tgz","fileCount":82,"unpackedSize":3252139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn2/1CRA9TVsSAnZWagAA/+MP/ROZVx55zCvbFVCGaIxT\nDZlXHSWEQ0P7jayI7QL5r0NgZ8vzgptB7Gw1je0TfZNDVH6OQ5yBUt+VzFIb\nkEBLArHJw7zouxGmGRQZ87SrdZHxSvlnChFNiWcIrsfnvL9Cr9g9uxsTAGmw\nmgF0bUOPrPZWetfqJx6993DQtKMomCxJ7M359D2ovJK2qpOEaPkpeSsLafxm\nf1CcgbsKPA75BZQw1LxFJnqLZx0qHgu9Ru1eEPXTgv5uRvM8/lHROTM340uo\nlGSqWk9BkKlhWNyvohT65Z6RrnQadOCgmH2ojxjiiyP1Hx2LFsBJpnV/Xfq3\n6dNY6JC9CwWbbVltqsrcGDS4OfioFtRe2lpRkCU5csfmRMbr3ypc7Tjl9Mo0\nX5vTohCOIrYc2FfsHz9qxrfhuqxeNFqxEh6sQgXtFREpTDxh4w/2CdZRR18I\n1FJT09QyUSvLbtycEfs7xrWNk4DPbhgc/f06RU3fR4ho88UKA9Jxp3cEVrkU\n1YeKxEyYxWzBajNwEcGRGJDX3E8ARsks1CVhIzFBg8sAXEJeU+7LEOECsIt9\nYlYRfKDsSvw8ggSIlRcY56X4KRc3rLIWfywqQFoJsdWvqOGTrul24reRdxh7\neeHvQ2WeFxMlpd5sGERmlvmMeRaPie9f88uAsmTYPRqlgxVKZBc8eJL5AqK0\nUjQ8\r\n=BDoQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu00P+44RRo7DsMzWinb728Po2Uw6uH4elJbaeC8aKNQIhAONrGCjZEI6WM9I31RQNmnBc3LVQHba0GmpxKbs0dyFR"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_2.16.1_1570729972732_0.5337572856043791"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"3.0.0-rc1.0":{"name":"buttercup","version":"3.0.0-rc1.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.4.0","@buttercup/signing":"^0.1.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.6.0","node-rsa":"^1.0.5","sha.js":"^2.4.11","string-hash":"^1.1.3","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"@babel/core":"^7.6.2","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.6.2","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.0","karma":"^4.2.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.2.0","nodemon":"^1.19.1","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^14.1.1","prettier":"^1.18.2","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.3.2","sleep-promise":"^8.0.1","webpack":"^4.41.0","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.9"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [OwnCloud](https://owncloud.org/)\n * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Box](https://www.box.com/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n```javascript\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment - Buttercup has several methods that can be overridden, which may pose a security risk in shared environments such as Node applications.\n * **Do not** use it in public spaces such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"8952017959efd2c90f554565d97e98001619801e","_id":"buttercup@3.0.0-rc1.0","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"dist":{"integrity":"sha512-/V4rxiiO14NGwp/Jenm1VGm4Zwh/+DgvIm5xFPYdFp98TbriXonoGk0mUTWKyERsnGdCiDf0HyfvSraQBNUthQ==","shasum":"b35226e4b065bc816ca97d5048361ec11f7055db","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-3.0.0-rc1.0.tgz","fileCount":61,"unpackedSize":2934208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvvNaCRA9TVsSAnZWagAAwEEQAJ+1H+2jzTuASwA70eRL\ncnElG8k9XGJ6Y21XQRdUML1gErjjiRB8X46cCoYPVzG/GwBPGRxKO9sUdHeu\nIXtNWaJrAUaf/t3HUn/GUGT9VdTYq6/kY017YjFkDAfEt/9Xs9Le0SSs4Yug\nW7G8gwnGQa3T/cNYGVgBqfxTzYHP4FdC8wjhjjPdqcFt2zY4ejbPq3x0aFGa\nk5Q1UsSfiWhrkYZzRgDBYmi/G3oNKlgZdHSfbmSQme12fmL9RIG+0im+gdZZ\nNPtqqxW2J2lMN3IO0M7YnmrBEWM7GSo7ItGl5JRcf5qPEMN4DSNTtv72xfJQ\n+8/RtmWPOSmQivwbvUCcn5lNJDAM0xowUXNoLxpSfegtnb1Fs7RTHb20056B\nqdqqtwMH6A6xlG701i2oJ9w7fmssKdAqAhsSD6+pfO0dzh8CUur+vWuWQtnh\nssmIULh+0ei1bIZUWavRBz2PFjbcz0ZONQF5Ftsnm5inFQhju8Bo1jcpKpZN\nMPGLFDB2QEonF6QqBfNCowewQubjeXK5EVU6tRrFjBuwFjS4+fTmWMAKbh91\nsc1m0vclkn+S7JSI6gb0AQxdHz5AWDix9MeoFFwsIw0c/19aIIAd2WFoZSyv\nMaPy1BseArlq/7lUDJVhXFhJdrCMWqHKEJZotK+dWBosR5KJInwbxPcRpooa\nlktg\r\n=RTHJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBlINcdbzLSV6dfrnqvSpbnSsrHUgZMdKQ1SgkKtbn5BAiAxSrl+jD66HSiYDrbI9Ia8cgPagBXMv3gINXEAWOmcNA=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_3.0.0-rc1.0_1572795225941_0.47228413945933667"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"3.0.0-rc1.1":{"name":"buttercup","version":"3.0.0-rc1.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.3.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^3.4.0","@buttercup/signing":"^0.1.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","iocane":"^1.0.2","is-promise":"^2.1.0","node-fetch":"^2.6.0","node-rsa":"^1.0.5","sha.js":"^2.4.11","string-hash":"^1.1.3","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"@babel/core":"^7.6.2","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.6.2","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","chromedriver":"^2.46.0","husky":"^1.3.1","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.0","karma":"^4.2.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^8.1.5","mocha":"^6.2.0","nodemon":"^1.19.1","npm-run-all":"^4.1.1","null-loader":"^0.1.1","nyc":"^14.1.1","prettier":"^1.18.2","prettier-check":"^2.0.0","rimraf":"^2.6.3","sinon":"^7.3.2","sleep-promise":"^8.0.1","webpack":"^4.41.0","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.9"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [OwnCloud](https://owncloud.org/)\n * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Box](https://www.box.com/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n```javascript\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment - Buttercup has several methods that can be overridden, which may pose a security risk in shared environments such as Node applications.\n * **Do not** use it in public spaces such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"c33f982a10ea0bba3b4c252433e6a894382a363b","_id":"buttercup@3.0.0-rc1.1","_nodeVersion":"12.13.1","_npmVersion":"6.13.1","dist":{"integrity":"sha512-wxprnYUglhlpWNQ8uEtYgUcaV2rDbgp2hZHBZf3lk74RHeP6XI5prbMSO8qX6i77pTXtbdyeEMvIyuCOiWDVBg==","shasum":"efa4d51d61c1669b76928a80b7177d907a038945","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-3.0.0-rc1.1.tgz","fileCount":61,"unpackedSize":2938117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/Q78CRA9TVsSAnZWagAAAJwP/0b/XqMEaN6Fb5baD2fs\nkULvmQyq/S/YRVW5cNL/JHK04moCpE3eQK5DwDh7bPHIflDwnKK60CdPYDvL\nm2pMhOIzakL1hnJtdA0o44IxJYN/7v2W20zLt/bBpwT7xLdVVdtVxTmh/fF8\n8y29uKaamgNAq0lRMH4wqUEry0EUQ3SaZ9L2NUjH7O7wDLi7PzO0ZYp4leyi\nqOFIjxRjzQ33A0V6q+wOR3rHsQW+QMRy/UuSXtgNYjTRi7mqufCxy/Jtp/63\nUHMHt2+YLItYy805go3IXh5LnvwJqK0R6GikxVG0tsN1l1Ic4rhmvOh0LgSb\nAllky1qjb7adOQTszA0eRm1EU4PjN1GRPPYRb1/AEWgCR0tiLUwGF17AFvQh\niYmZjP1zYwyzIhA8XokQ5R3ov8B2KDe8nuWJM0UGAKohsOKrfVCWvKbNo3g2\nMsVLqqpD2CWHLbBxaEW9gwPRBuJNZ5COFmJYabKL1swQgL7+p6ZvPoPZQui0\nJudEfpa/UH4kPnsJK50lkfRLo8+tU6WCrRjEI1N1DF8xn69n2KlkrS+M0c6K\nwVS73FHE/617zS7mA6T6DQn/tzqZtyHC+O+EtPibWj+NgzwuqHY0108Z52I5\nBLzGkdnN8qbdfrKda3JMI9dgqBhmgUoFb4KaWwwONn6NXTC0UThf77yQHO5/\nGjDR\r\n=JEHC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBX+9I8MOeHKEVMwr2GvLHVQ3/i3QYTSYfblmyyf7gIPAiBiS1e99Do5llZYQhPAzznurfZG1gV2JIEYSnsfnlileA=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_3.0.0-rc1.1_1576865532197_0.5535230550228378"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"3.0.0-rc2.0":{"name":"buttercup","version":"3.0.0-rc2.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha --timeout 5000 -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha --timeout 5000 -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/credentials":"^1.2.0","@buttercup/datasources":"^4.0.0","@buttercup/signing":"^0.1.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","hash.js":"^1.1.7","is-promise":"^2.1.0","node-rsa":"^1.0.7","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"@babel/core":"^7.7.7","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/preset-env":"^7.7.7","@buttercup/app-env":"^0.1.1","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","husky":"^3.1.0","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^9.5.0","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^8.0.2","sleep-promise":"^8.0.1","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.10"},"peerDependencies":{"@buttercup/app-env":">= 0.1.1"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n   * _And providers like:_\n     * [OwnCloud](https://owncloud.org/)\n     * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"17babc5a23184155db7042413e88ba31cab447ab","_id":"buttercup@3.0.0-rc2.0","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Mj8DU/klE+MDGm916ALvNXLSU/jlZI3JwxqHGLcaEuoXqPI98w4/6yTlqKZ8H/tx/Du8u4JLdrov7mmYxptQZw==","shasum":"5f9edac908dee5f5aee7d2efde38d1bcafe3784d","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-3.0.0-rc2.0.tgz","fileCount":56,"unpackedSize":2052392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeD2XdCRA9TVsSAnZWagAA+wQP/RPob5dhFtz000qYHb9b\nP9RLp0R0Iijf78/nagkZyWc0ILHK1ChpqANG6r8dgkztvfDhbIuEP08CR8Fp\npQG174JH9enuoi+SPVQFnVjOBZ1XNewAiGIpcsYWa++FEt+Lz0golOBzhciT\nC9eUsPB+ENZGXu/jVIOXHP14JwuKXqTSKxEEPPI7oww7nlAACTrcUW/Z/MlZ\nHGcW3dAAAoDwHvBmiEOziPfuR3oCr7O9aZwYaM3uguRqgZDZ/Fcm7xavPWRD\nfz7lvYaB09txYLrtaBHpf1ZLG0oouAHZBYQvnHwN7JFzeLcvrncU5XDs7NZ8\n8pCGa4Ro7cD7ghIeGlgCimKqg9X8xbtKhipY88tOHcdAwq5gSO0fU4QPh21a\ngGDopxwJPwiNHy9m7uDTpVtGEqQEUhFQFXfQj2mSsy2EARyho4vt+km10SY9\nSIzBfKtH/K1zJEaNRBzrBqtGF0C4F7EJq7Xk/uDQBczK7XhR+GRehNJPTr0P\nja02cQq8cwGHD9t6/7OiBAegjk0Knls7gzM19qsGZ3kEvXsak3jri69XK+KV\n3pAgPVhfSoRXO1GFWXQiMCzVeZ4YQ5Qr6xi+dJw3F3PC4GYOosOdmJEHDaii\nmCk2p2X6VHGj1YARlM6t9BS6d/ud26d+NrkVz6pUbGKBgppC1zNvSf9EUVnD\nNl1R\r\n=gU/M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7E5WwncfEd4Ktg1eHtn5Xd0FBzzoJjBLZ2MdzKMshvgIhAL0MbcXfbhqlpaYhzYU9CuSJzBtgJjRgAAoCLvy7Q7o4"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_3.0.0-rc2.0_1578067421080_0.856289510309465"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"3.0.0-rc2.1":{"name":"buttercup","version":"3.0.0-rc2.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha --timeout 5000 -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha --timeout 5000 -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/credentials":"^2.0.0","@buttercup/datasources":"^4.0.1","@buttercup/signing":"^0.1.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","hash.js":"^1.1.7","is-promise":"^2.1.0","node-rsa":"^1.0.7","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"@babel/core":"^7.7.7","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/preset-env":"^7.7.7","@buttercup/app-env":"^0.1.1","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","husky":"^3.1.0","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^9.5.0","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^8.0.2","sleep-promise":"^8.0.1","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.10"},"peerDependencies":{"@buttercup/app-env":">= 0.1.1"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n   * _And providers like:_\n     * [OwnCloud](https://owncloud.org/)\n     * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"1be66a05f67794756da6775816547fac885be6a7","_id":"buttercup@3.0.0-rc2.1","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-bhyObxFRvNzo9bVuDxVQb6a5zcbgTBtUOViDWM6gnGHvtpqe6jtqT6ufSdDGZgVDkRlHJay2MfjQNYaDmz++lA==","shasum":"327ddf72956612b26b45fa9cb960d8271c5ae503","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-3.0.0-rc2.1.tgz","fileCount":56,"unpackedSize":1937892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeEducCRA9TVsSAnZWagAAyykP/3VUTLl9E92P0AqPZ5kO\naIUgqnHJfOjMU+XFE5pvQVe6yDKuDaRfydkyUS9LcM6nhM6fDd2xjScai8LB\nKJKh+o3JXH3x9Hd5GqSDwZu7lxQsMBXbztlMqtDXQOTO7E9sOgaPTGE2z2jl\no8pAbmu7adeWzuN9vCmojwgTWwfik6ELVdQNaEsOBjV55vbjMmUnPCqCWWdQ\noj4JUd9x8ma45zRTzQ5Su4L6vNb/RZiibCanr/wwcxbDM2+ye63Yq29ASTje\nm+247b3APE498hL8yZp0vB63W63mKkUjDZ8obLQRoHqof+9thuiie59DN//b\nr9WGxhBIvtBdPXwAa94DDhwAWhwBy4OSM/r2W2XDnQYHFjWzw1RdlJHgEtVC\nTALXRXtqQF5TwkgiPku5kCwzkAT8fe5H6ZQnLHrTfggF8CVP0Har5oMiE2oQ\nYjyu7DgVZ/c0/zb4eUhU4QzUq7SqJjU+nTIfGx8ukUGzP2E2B/rAsj+EPEWp\nWRE9Z2sAEUakp9DDMs6+hCm9IqR4puUQ01xiL43dsUegx37TNy1tfulS6U0b\nprSSfFE7IEqfB2/O+eZvjOOM/PYcx2qUr+ls7mLeR7PRpt6t7DPIXXLy0nsq\n9Wd1KmOWToSbboKBAVAlLYVTRoYyZpWjwJ3UNu1D/5VIJP1ba0kqNnzZm5aU\nJBMV\r\n=ycOY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHrfWhNO/Xr8TvbI1BZo2uX7QEV5SzSSVtwBeSGL1Ja4AiB1zi02smOVZeSvW96iSbFEX/p3KGrIt8oXfeMUxzJI4A=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_3.0.0-rc2.1_1578228635522_0.5188632843112528"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"3.0.0-rc3.0":{"name":"buttercup","version":"3.0.0-rc3.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha --timeout 5000 -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha --timeout 5000 -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/credentials":"^2.0.0","@buttercup/datasources":"^4.0.1","@buttercup/signing":"^0.1.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","hash.js":"^1.1.7","is-promise":"^2.1.0","node-rsa":"^1.0.7","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"@babel/core":"^7.7.7","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/preset-env":"^7.7.7","@buttercup/app-env":"^0.1.1","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","husky":"^3.1.0","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^9.5.0","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^8.0.2","sleep-promise":"^8.0.1","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.10"},"peerDependencies":{"@buttercup/app-env":">= 0.1.1"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n   * _And providers like:_\n     * [OwnCloud](https://owncloud.org/)\n     * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"bb0edae1dfb37ea64e9a4d576fdb6b5928d8ffd1","_id":"buttercup@3.0.0-rc3.0","_nodeVersion":"12.13.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-9P1Lmc7tsA/5padTdq4UWC16ZUN51diWw6fZaTSFcx1adWSxSM/UAOE/x3vStYDNOzPG7+xce/a/y8t4ysYLyw==","shasum":"001faba3d19112698f9dd06ef225a7ded885dee2","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-3.0.0-rc3.0.tgz","fileCount":54,"unpackedSize":1904045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHgPRCRA9TVsSAnZWagAAYYsP/3oi0fuTHvyEcxuD4c7b\nxBzS/cj3MLUsScwlzkB809rrp4EYP/x213KYMTeYlbsRR4FOS1Me/gkAsSUx\njW4cfl8mEQJZXZD1ukzbZFRiE0bABZofV6qG3cXnrSt/K56aPYrpWJUEN/u4\nmtm0fXnRptxjeVp0yr8Ogl4ll4zLMY2JFKn4/0jTRhl2WErLyqTrVljU8i27\nHBId7mk9IlXSP9zBNKHBG/nisQPG32J1rNvMmdKiRy1vf9D9RzRJ3Sk+8hbr\nu3yBpDqaSYbDqrpnU1obSEmrAdyB2DjJSJDHIcpc3gFfqPrj140spPrRvAOi\naq0DVcxNdvWYj3pbk7xUnw9Q9GQiQ6ViBhSH7dUr/W13KOYqUdzR9vBAj8lM\nzQlRMxhteODKaMcVnnEk6FrGJIaNPcDynC5vREHbCzzCLP0yqqYtKDvoeHcQ\nAMa20fSJWPL2PNHi/5A2fZexnFZWsaKaUIuRHzrH+lkc7aVM39i8Iv/Ds7oq\n74rN7v/HgNdgSK1MVdVJ0Lv2JtMGBHdLacEKGT8MlFgV+aScaZyID7Uf96Dt\nz0xZNhjCQNT5c+ec924nkvVTqcvb9DLaAieG913IrGi5l75pTB0BJwVaJa7C\ncWf3L0ZENnRczlrK3dcrCRYh73Ci4nfqSfLKcUI4HoxDeRva3R8Ae3MyrOWI\nuC47\r\n=AnLx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMXaMP69ah1Sc413XOaIyH5YMlXgProrIpI4ieKytU8wIgR1HsqfHDFYsZYLRm9iWeBMqfnkT5u4WV4Zx+vnrQYag="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_3.0.0-rc3.0_1579025360960_0.0010355295455988234"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"3.0.0-rc3.1":{"name":"buttercup","version":"3.0.0-rc3.1","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha --timeout 5000 -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha --timeout 5000 -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/credentials":"^2.0.0","@buttercup/datasources":"^4.0.1","@buttercup/signing":"^0.1.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","hash.js":"^1.1.7","is-promise":"^2.1.0","node-rsa":"^1.0.7","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"@babel/core":"^7.7.7","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/preset-env":"^7.7.7","@buttercup/app-env":"^0.1.1","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","husky":"^3.1.0","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^9.5.0","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^8.0.2","sleep-promise":"^8.0.1","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.10"},"peerDependencies":{"@buttercup/app-env":">= 0.1.1"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n   * _And providers like:_\n     * [OwnCloud](https://owncloud.org/)\n     * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"ae5240b2b0a767b639909aa2eaf603ddc47dba1f","_id":"buttercup@3.0.0-rc3.1","_nodeVersion":"12.13.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-AsiRVhnFY7kqM7Ap/99mgD+0aAVSEnrbFAFDecXezsYunxkgqV8ukHyzCeaIYSu4rqXyrB+sa3aKUcOHB1gLQQ==","shasum":"be3880a5b1a003a57d59465f282fa3a30149ac10","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-3.0.0-rc3.1.tgz","fileCount":54,"unpackedSize":1904890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKy2ACRA9TVsSAnZWagAAa3cP/1g/cbASzqLwW6jVFle2\nr4cjT9WgvkyZCmV2cBNXP1taBA2v31lrUP+DBopwUG3G2/ChuS4I+1bm2djK\n1CO7cvvyPFFb91q18DoAx1yE3vPOZjawjN/JiYe3PLx6cdoKeE2bJyIS0QzK\nc/v0JUIKDOr2kN7HC4znGQst5N6GDP9kzVFaQveEnDTSUhNhG+1I5hmJJXCp\nlBZrKLaV2NtHG8mk4d0Q0F0Bj7PS69V154o6vyEp1flmaR/hwS803ioeamzQ\ny/hzGW1aNgQHfRpvqAz6bm9z/1/la4UiBybl1SKPYiKhbUKQ6ceVlmJo7MGP\nBhg5imW+2IS2CEYPnNLeVpDMIs4jO+fzWik6XbjqHU4nxwPqHUQSo76eRBok\n5mDHZG+n6ibEQAWiQmWk2bL/SYm7NtjbA6pQ4PZ9GY5bEkSCey3EDWGTtEVR\nH6id9pKdedidrBiITkP5EYAM5kTseC+ncvkh2K3aRr9JWdWBURaYNyPJtvc8\nhGe8nVDKb/wEHlWf0naxV5qpoZvLapf8cN3yPG/1+11MbI/k/mDiQuU2fa8F\nZ1il9HKDtLvgS4o1CjwIv/6A06Ed6CxA8vzj1jR4prPJw/Dzut3qJPCK6Wnj\nbpP8Gn6ffZduAnR41UF2Frl+YiFdaqSYHerea1SaF7X40/KexDbhwZoFc6d0\nZfMZ\r\n=TtRr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqWCifyzQsIFDJykgHJVFsFGLrHNE+GGErD67WrEfTyAiAi+UwtE+gknAdsTqQ+Gnt/CPabP+Flh+l8JdrWwBT3jg=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_3.0.0-rc3.1_1579888000426_0.5696748906070153"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"3.0.0-rc3.2":{"name":"buttercup","version":"3.0.0-rc3.2","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha --timeout 5000 -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha --timeout 5000 -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/credentials":"^2.0.0","@buttercup/datasources":"^4.1.0","@buttercup/signing":"^0.1.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","hash.js":"^1.1.7","is-promise":"^2.1.0","node-rsa":"^1.0.7","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"@babel/core":"^7.7.7","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/preset-env":"^7.7.7","@buttercup/app-env":"^0.2.0","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","husky":"^3.1.0","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^9.5.0","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^8.0.2","sleep-promise":"^8.0.1","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.10"},"peerDependencies":{"@buttercup/app-env":">= 0.2.0"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n   * _And providers like:_\n     * [OwnCloud](https://owncloud.org/)\n     * [Nextcloud](https://nextcloud.com/)\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"50c55224f86f073da18ada234cfe54d26e261d9e","_id":"buttercup@3.0.0-rc3.2","_nodeVersion":"12.13.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-3GSH/riddDDRL6gXtqVYdDRaFnVh5Uff1EClXVn+z6BWQCIEe+WwkH+4Ai0DSx/c95QwpQ7/fzcGDt7aRs52gg==","shasum":"df793d1f4893f39c364a803311ed997519b9f2ea","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-3.0.0-rc3.2.tgz","fileCount":54,"unpackedSize":1357659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLeWICRA9TVsSAnZWagAAlEAP/3ia4zwFVB47rn0NHKU4\nepcAMqXTZ0RfhYuDHXPhCIuFderyh/ADE45DHnShZTXvsjOxZcn3Ev03R8N8\n2+EeFiFLn2YHoyP01iAFCZDiTNU/DYoRVvmJQiJmkC98swTlZMlnev8vPN1+\n22skw42en69gbXNGDSEuAjsJg1IjuPLaw5dAGt88PngNakZHxO2LNsXlVCxO\n+OSu5JAdZf/RxYlwmdlKCwiQjep0gbZVdCwNIAbAHOTlmCOcD8xpdAJ/7ftx\nRdK8rMXxGWYkgG/J559OViQRwG6RY1/OwDsflgMqE9IF1VFRVojvhUK3qfrH\n9mtxlfK6d1cHte7T0FFy16R0xvFxRNbgAJGcYDV+Ftxhf/qLu/W1YvPo/Wqq\n4JEQ9AY15wEt7ub1bxqtBdjJHF8z3aYwBNFeaYhMYVaIJyPs2hUVGn4yTbZt\ntw/wEV9tkugsSM9g9c0SyVQw7WCxXE9vDi3Yrya04ADv7dX/WWwTFHSKXylL\ntOF+TZTf1Tpa9UC8M9hwnCA9r5AUTv8eDsIVAKKvr3Jq9BOg139gj+Oatt67\nmQw+s6P4tnkDYvUPCdRu0hNeh5JwQcgvTfM4uz6V5r9lhw8TorLWINc7W+q1\nOO1CFA2DaAKRD/N0NzD7nssaSQ6/3KdBOajE923Ecu+UUcTAe5m7WQXYMgsf\nw97b\r\n=wDph\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPuQsF8JjlCMdFh5EphoJphMhRfSeGGwgS1ZPlQ+fuIwIhAM0VlHbIgWJFDSHCvh7oRKxA13DcdDK0dBjs15wZRp9L"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_3.0.0-rc3.2_1580066183892_0.6689144059638001"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"3.0.0":{"name":"buttercup","version":"3.0.0","description":"A NodeJS password vault.","main":"source/node/index.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack","dev":"webpack --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha --timeout 5000 -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha --timeout 5000 -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/credentials":"^2.0.0","@buttercup/datasources":"^4.1.0","@buttercup/signing":"^0.1.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","fuse.js":"^2.7.4","hash.js":"^1.1.7","is-promise":"^2.1.0","js-base64":"^2.5.1","node-rsa":"^1.0.7","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0"},"devDependencies":{"@babel/core":"^7.7.7","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/preset-env":"^7.7.7","@buttercup/app-env":"^0.4.0","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","husky":"^3.1.0","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^9.5.0","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^8.0.2","sleep-promise":"^8.0.1","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.10"},"peerDependencies":{"@buttercup/app-env":">= 0.4.0"},"gitHead":"191ed0cb00a992896cb6082c3837a9c7e20ceb53","_id":"buttercup@3.0.0","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-HGhB35jlvn22kOn9Eu9Me5olqHtHPVRudqlZoLDrnfZnPcZ7OzXFMuku9XB6SPbwF3ikTap3q61F54Rlk00mCQ==","shasum":"42776eda9bcf11abd78fe1bc3f8f54e09c030a85","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-3.0.0.tgz","fileCount":56,"unpackedSize":1378796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJebj+fCRA9TVsSAnZWagAA8OMP/3u5XTa4ZpFLjMtHsInE\nR1b8oZeCVOcx23KhEtuFkN7qkPv+MvgqUJeWY/T5Ccai8phKBjRIlnS88Aw7\nwqci+4p9FQgBXL4T4apCFYi/B57rCXD2fZVTHgE1UXvfjteA25XIdY+VtT5Z\navyV+UQtQlr7qcgy6L4MsxqosemA3nsu7DgHn1DwZ2hd1aI/NvTsNgKPe8b2\nWZyS0EXFePRLTe9P7lh1JpHJjVfFFTfD1e+st3qZJzD0FcE/yZcuWOBMn+bt\nY4iuYzzInLEgLbib5YhuEXsoGiOD8PGTKIaHnhPNvmygvQL7+0lj2up7u1ij\nNIumNpkcTR5iOMUQTdb6j13+k9QMNuOGuNy+VcclROIAT6MaL1kHrGag6/vg\ngPof++M9gRGXJ8Z7VO3EupcTPNFNa48dvJyC0yG1xjtvCAtvk/d2LthRn5nW\nX+z1832HYJxalFwSf8VitfGy/Q7E4vr6xeBO2hzNgHDYBNT9zScCYUDxXOOo\nUfw3k47rKi+6SAmhMU4zzFMioNTHVzQKp8BNsUF31qni2fn/sQxZAm87vXGi\nzywYxGoeNdNKL16wPuGnX1c4JaexFy+H3p8OpXG+1OgA/yozXGub/BSHeZCR\nVmUkfZW2rHyQ9lv3vPwqdCIEWuwAet2hnLpJQ+VcoXJkAWie9laSYs/7Gbfn\nGGRv\r\n=aUcE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEqO6Z5SvMDdXtIt1AHgQghy+WP5qkHx12ZvSNNyWC1gAiEAi84v0zYC+dFyUEKqMG6FrxmFhW2tHVDymgT99Ea5mN8="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_3.0.0_1584283550617_0.0789462590082568"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r01":{"name":"buttercup","version":"4.0.0-r01","description":"A NodeJS password vault.","main":"source/index.node.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack --mode=production","dev":"webpack --mode=development --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:unit test:integration test:web test:web:production test:format","test:ci:node":"run-s test:unit test:integration test:format","test:ci:web":"run-s test:web","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"mocha --timeout 5000 -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:unit":"nyc mocha --timeout 5000 -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write","git add"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/credentials":"^2.0.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^3.1.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.1","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/core":"^7.7.7","@babel/plugin-proposal-class-properties":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.7","@babel/preset-env":"^7.7.7","babel-loader":"^8.0.6","chai":"^4.2.0","chai-as-promised":"^7.1.1","husky":"^3.1.0","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^9.5.0","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.0","sinon":"^8.0.2","sleep-promise":"^8.0.1","webpack":"^4.41.5","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.10"},"peerDependencies":{"@buttercup/app-env":">= 0.4.0"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"1c136eaf0cab4227adddb7cc0f02b0220ff99871","_id":"buttercup@4.0.0-r01","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-7xUqq/VCyHIm3/uoZttf2ZKlTPB5QVAdwfpHazvgfj6qFWR11eDL5dtHsG+LwWvZ6mbYUz4n/IpxROQfPeeXYA==","shasum":"496ae3276c12588b1f65a50f57ea216865b2d936","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r01.tgz","fileCount":79,"unpackedSize":794361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelB9GCRA9TVsSAnZWagAAZ+sQAI2L35I8JrQOg0jC1Sab\nCt3J18/fVSisnwrAC+AwLG3xWxOi3DQ3l3IFC/Hf9qfBwPlLUMJs9KXiYa6I\nnxcAVp6mNoeJ6apHEPsiZDL4VcVGNvqb8Rf9OTTqWI1G0/3d96Zn9GrxIYnP\nvt0gd74FsbqZGzUqGINXYqQehcvMStkEnt2SDpJwK3WiN84moreawrTpdJZe\n4NQL36eHmObqZuYZM0NpTJ+Lu4lo81+Rt1hi1DIi7dSR61/thcpoA2nH4mHA\nuZhwGUFzMShENE/n9tU8pSNutwA7eS43eI/J/bBOxJEdRKadTUAUKmazDvsM\nK2qHhueIyx6NbVn7Kfau8WrF80+VIzrGfzPK+M9J9FUJdkr7kc1zy3jQjGFJ\noI0OXTCXmbtxcAVVYRvt/POOhGqeVy1bnMktUnZPhOk/smYO+RpASB0raRsz\nrFB7zuru/XK4QZOFWdUuTNnzSWkgAThqo2bDwcmv1+eAjhYz/kp6Mj1q3Y91\nM0t/FaurGpWmD+UWK0GgxreyldAJFVp5Q5T04YBpyYw60iQMeBKgHV5LIjOs\nVCfX3361ZFm/SOGw0uP/ihKU4791OijGd/cpK+MmJWgEigt63+EGUEdHXyD6\nd8okkc9N3/aVz7sUqX6i5ItZ+fqbWN7t/ZeEO7yIH+ayNxXyvEowV9K4MBBp\nI6Qg\r\n=WATN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGGeUli1Jm+2K6Ysv3osiiTuVUswK9nJSUEKgoa9xAAfAiA9I8v8HC+B2vfUsauFohDvMZvB8qo9UmIQJTxULa9OwQ=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r01_1586765637829_0.9992302072454555"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r02":{"name":"buttercup","version":"4.0.0-r02","description":"A NodeJS password vault.","main":"source/index.node.js","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"webpack --mode=production","dev":"webpack --mode=development --watch --progress","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:node test:web","test:integration":"mocha -r test/index.js 'test/integration/**/*.spec.js'","test:node":"nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"mocha -r test/index.js 'test/unit/**/*.spec.js'","test:web":"karma start","xtest":"run-s test:unit test:integration test:web test:web:production test:format","xtest:ci:node":"run-s test:unit test:integration test:format","xtest:ci:web":"run-s test:web","xtest:format":"prettier-check '{source,test}/**/*.js'","xtest:integration":"mocha --timeout 5000 -r test/index.js 'test/integration/**/*.spec.js'","xtest:integration:watch":"nodemon --exec 'npm run test:integration'","xtest:unit":"nyc mocha --timeout 5000 -r test/index.js 'test/unit/**/*.spec.js'","xtest:unit:watch":"nodemon --exec 'npm run test:unit'","xtest:web":"karma start","xtest:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","babel-loader":"^8.1.0","chai":"^4.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"21c0057c9635e7e333945371c4b33eff963e6e69","_id":"buttercup@4.0.0-r02","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-SMLsnJHVlXUCppf4ICEUJw5nbdmoR3uiGgYz4iE6Jbs9W3s2yFFgcKn0pj1TAt1uKzCWfFUdq0pMY/q/rn+B3Q==","shasum":"62f2c4ccaba0fda33e238e5e3c2ec3fe23f47985","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r02.tgz","fileCount":79,"unpackedSize":796971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenKY5CRA9TVsSAnZWagAANBEP/02FH0XkIJMqcFV5qqV+\nHPEFgwKjBSPZQ+ht9SNYoT7VNE4y7rtGMOswOGobUATYRMxWFKhDYHXlB3um\nAxSxYdy2aITewl7xEc0zPF5LOvSGu1g47jZ2EqUZ0p1Ttro/baIXrrxnbfCN\nVZqKSNRiWw5bBb7Ikm61QtfiU4Nty1SWQ3sx1WotmFa7q9/YhWzlU6S0XM9C\nKTLOg+SD2SvJrAUBhTyEKIqDPW4+5vgtIoXR0sKCSdbgzALPTXceGukl7Qz+\ncILf+QdwkAgyEWV60gGLslDxex5oUiOz8mKw2X2OPWNHVnF0Bullo81Um06x\n60vX+PycFqk3e97lkIOhvB/x1ac2q6MWern6h8PYs8UeZcn5KHWEse/Y/7Yz\nAru+CArhpvlfFRGRevl/CuPJLDE+TA9O1ne7xXTkDuuEnroVoHkXheKo/vOm\n28dGZz5N6MT6zzWwQXkSrIItuRX5ZLGRee5G5TMzDlGILHamNIYCQtKrRCxw\nyqBY1u3mYtbNwMGuTRqRtB2J0cUGbLg0VkT5p+2fXVL+AOnHPz+npu7Yc+qI\nz3VM0pQuEfOWkDpvnh/WflUwWJ9W9f1o/7tmxOCTVgcVtpS+VpXnHVDHfaJy\nxOVDX/tJieXPQICwJfgpnDh0RRX53vPJNL+WqF68dxNqjNMOHoDuVS+bDYGI\nPjVk\r\n=c0gl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEa3GiF9Drhzfx/hRwuEFJV7NGrCF21NYxDkLO77JMY+AiAxa4DL1yAal8rhwpcThDSqlE7F0bMLoTWzhP23UwUKdw=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r02_1587324473033_0.6152737653383884"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r03":{"name":"buttercup","version":"4.0.0-r03","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-p build:node build:web","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"npm run build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.1.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.8.3","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"07bc91a034382d46884f701f6a05577de616ce51","_id":"buttercup@4.0.0-r03","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-qV6e3zZtYDDWZZLIeNz4afjp8kuCvW4BU9+tVaYbBTWI6R3rnVf4Rvy0qotNBYuUrM7RlQUWl0sEiHz1goIsbg==","shasum":"01074a91c9ac136675547987ce11347df732a9ff","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r03.tgz","fileCount":80,"unpackedSize":768508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuvRuCRA9TVsSAnZWagAAbykP/1xYnXorW4L/fZ0npwjb\nSyQtj9rLm9h9dYZTwVrTtcJpXGPP36A8oY3elDnxr5OcpizoLXHQf1tzZytE\nKD/pITk6JLgO3aG8ocsgrp6D/Oy43L4UnTVRWIlOg/1qDEcqSgapKlBjTlXw\nRAv0kTrC4M+/hmTLvJpMyVLSIBpvLQiK0M6woZNHzsaxxAmeX/PZmD3O4Ux5\nMfWlyL47s4LXbD1W5Bh58L6Tem3CgFrtaqrjseq+kH15PyAZ+PNrfu+cfcWm\nvvEESrUQyL8Eeu9+Gbl7IXGGWaeEoWlYRqkizsrdYkMSe0UjMrQnLguxpWDY\nDuyxSoAyixhT1NlBk399lbueWcvPogOmPSB3tV0k+dRgLWOhhl2iKdwFOU+U\nQarTfc0I0Ee7QdFDI0tiADWl43fsds+QFB3iB6tPaGqRQdBWnS+diZEBJwxl\nkIzO/AI0db1X9cTntupqQ1FA2GPQ3GImwYBV4MD0JRDkBMBFLy9R5RNk3/sp\ncNEIK9b1Cmr+iNlAGnptzpFmD1GGxCxnT8HmxJx5qaF9cRHXnG/pM9C6Iwg4\nTgd3KPvyxneJzjcXk7AsVyr8oz1Pmx6EMHGrgZmk9jIF4Uqs0VLifNhCw4qi\naMBVBZAu5BDeQK3yV9A7Q7+Z2/VP24mp/pOPJJnSARlKqMPb/fRVREk1V8Dl\n1j1R\r\n=AQ5k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGCqzz4HKorQR9sENqhWAItg3i+JsfYu4wnUlWRcJBPfAiBg0bA5ox//r+pp82h5GBM9b3tkz+E2fuFC1TjiWZGtgg=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r03_1589310574378_0.9136328920195127"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r04":{"name":"buttercup","version":"4.0.0-r04","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-p build:node build:web","build:node":"run-s build:node:babel build:types","build:node:babel":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","@types/node":"^14.0.1","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.1.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.8.3","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"900fc24d0eb567acfa65fa3fd46a0f111b878622","_id":"buttercup@4.0.0-r04","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-KhpV73jfomUsuBmkbLOD4tKlsWmxRUJk5kXONB0e/io/9bOtaw/YeqMFph3DnCXo6z7kJgwQDCgLNVXkCiZHxg==","shasum":"c66f935b6af215061f6b917308d5d9c57cbc9590","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r04.tgz","fileCount":80,"unpackedSize":768598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewSVACRA9TVsSAnZWagAA1gwP+QA5AsX5Vh/BpAPtzUgE\nNO6wLvcxP0cc8JSrGhnfwoLjCfG3p+eiWLyiQfsIBIpbGaBZndjX8UK2+tQl\n7zRluxvsmS37/JMdlLfonaJHRrUbSFti60AfbgQDf8NesMFoqrnCnhE0zoOT\nxdc1PqZRuFiuT/Ct2Mf3LrWfaw9zUprhEmZZJHfZJLFlFuDVTBn8bhm54N3x\nVeYrnPYAajKeyr5ggf/YxCPsXVX5psCUi19mFZ5Rn61sI8kxaXVvLMinof0e\nbMzVk2F2Cd/9zuVoKOAo6X1RFfMJk24I8QXTABAU9V2Gz2pJQ4Rzj3P1bjdr\nsWdYXhqLgKDeoUPsT7nKpBMkq8++eTDemK6e2y17q5ZCsloLEewVCDjXLOP/\nC5wsjaCo4XLOGRRGjBi/ZLV0JQ6cqmWBBk+nynOiP0njKlTJfha2vmVZQb/H\nbSc/g+Rflkzgc6n7I5sdVwxpu8v3pf0VnNITmpDVDEf1Vc7CO+I1aHvpq6Tv\nF9yyjiXCLihrZgmMULHKADE7KgiHRy9qhN1LVj6rSijp0o+VLHTjcixwm5cP\n8fY+dO7LZmgRg4zp3QcuneHoRxv+vAze31t0DF+ubfXYwDeuvChtkbFBs5qJ\n4Zq/kW8itRcL8X8aPK5tZYHlgWE/M5V3hPEDaCc9VO0u/pVbZLmU8lT724Tk\n1Scy\r\n=17TS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDG0CrRsAtUuF3NkWRcw7Cetc/XqsqF0weXx+AssmD0YAiEAg0gAvVVJmCD2HlDtrQp3tv9yYlkKpLGtw5YXwxyohqY="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r04_1589716287433_0.8619918225155092"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r05":{"name":"buttercup","version":"4.0.0-r05","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-p build:node build:web","build:node":"run-s build:node:babel build:types","build:node:babel":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","@types/node":"^14.0.1","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.1.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.8.3","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"22cb2df28b0ed73cc2d739e58dbc2f37906424a6","_id":"buttercup@4.0.0-r05","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-xvbd8o10NxmSNFPo9xffbi0+2iKWbxfzcakzYanoGxX8ZV64tFrkb6JqEFyhm1AEt0dkVZauiZ1XmiO/YYwdyw==","shasum":"bfada1c99c5ec2b480cbd3f8d3c708b075d2782b","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r05.tgz","fileCount":81,"unpackedSize":900561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewSXfCRA9TVsSAnZWagAARAkP/1yvT81XIpq76aGAojOH\ntdNo6PlK/1uAri0VLrC9NVg2NrnTHqdlk+oTii0rJPYWFez0z8VjoLGdoF+3\n8htwbi3chLV3qs7BvcltAiT8GIU3jt/LyXp1DS08r7Q6WawgGRDXuSvv5AU+\nN2ct6pP5wKZejwyD5UUj+9oFv1gO2G9x2lMp7W2Z/KxVvM3IU2kQttO4TD79\nfkvfNJogFMJJ1FWE19in5SFoQtlUFqJfxp69lqiCMkTZC6q4FNi2UVhvIGBW\n+P3bHzz8f6M2hIBJuFZaBy6YugOcgLkWDNHvVoHsApTAJYkEbrI1P5heoJ4p\nGiUZAineeK633ZdmGOmrRHPuj1aIBX3vypNOP3M3OfL5N83xAyWYeou5eqS2\nC0hOJoz0iE1M+sWOfclgXYhFybFPucHXHyKMegDKbUjY00VxqIc04vXdIwl+\nByQ0VycZ0LDqcNO2rNj8hyYEdfj3FPdi5YU79wbew6Dzs7zg+pLJB8SszN5V\n+CPXw8tIwaMGCc9Rs8Ew8ps4DYpZ/IfiX7Sn6wZ5+DdHmVBGR07bcVwGNAIK\nolIsyyQXrOKGwbJp7oKGfr9jVGQ9iQTaT/7uSeWHXDY0GxKu62bMLWY2OqYX\nJ7Gh2nasAPr86BIx9OD8G8yeDpK+jRu0MzgmfcGkGHTMsdkTPcX/LedKUMyI\n9rlz\r\n=vVMl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHzIZ/zdKgIqLC1O1EDK2fLPmyGbgm2UY3dzzTYwBEwTAiEAoblpsHDqZ6bESFrNiXofGV0fefve4kHIPphWllDMePY="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r05_1589716446754_0.6106770667620118"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r06":{"name":"buttercup","version":"4.0.0-r06","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","@types/node":"^14.0.1","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.1.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.8.3","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"184e36f42ed09523b5892062f39d9fefd69c406e","_id":"buttercup@4.0.0-r06","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-bg/Na+ZuxMOb8Bg1TYMU/zywxOlUP+s8K+ulOgd+o5yX4NqpOLPoicdhYsR7PE5p4eRRClEplkwA8Jb56jsrGA==","shasum":"28cee57910a63da10b6fb02d9eba92cfe4c680c0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r06.tgz","fileCount":82,"unpackedSize":1032529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewWWeCRA9TVsSAnZWagAAbdoQAKO6ZNIc+u7iLwf5lKmL\nqNkCK733gBQCeLnVgjXSzRunkLgyhtDqgD/PaGiIINGQd0FQlDpnD0BhJ6zi\nCleIT0keQGcXs66liXR5ee0AcfvfEemPE+Q7WK49bBg3OSS+rb9t70Ij6nWn\nPBEDb9q00ktcbhCW/IIcJZ7S4j9eYMwCBVWZgDApXiWhIIR7WJZhp13DuFGk\nIIaWmyeNX+H5L/eerECYRBO9tGWfX4k6ebuhX8fSYcEUb0Odp7RDs3h5nZvy\n/wTVKQUolQc/3OLlwQaiowKCvwyilj6/KKjC4LQiARJJpM1UyYhzp9VZqq98\nHJhTfC0ZKYL8yvNz/Ip1gz6G6VP/MvQFqAacBiS2sTu5vR/xSTtV29AuSau+\ne7eZ8IvwPHrcbQlTzQaYAueeMzjRxVcbBAt07849I12iZmqK1qFL587x26+G\nTmEQr5mnI9YMKNJ/mb63dIrCSPbCiZlB++1fi92RCKq3IQmXaQWXXDrEQu4C\nu3xkOr0rQHz3/WAQqBYrfAZlx1jllc9LuszPz+GXJyAw2ZDgYMhhGobqm5O0\nxJKtzTT9yeu/der4Cq+R+GtZwerPfsTrwbCLt+fS1an42zTZzIiPzqid+l5v\n/m/Zk6wOcoLl947e6Jj7tfN7r7r0b5+WkCKt1bN2YbnKN1MSnQ1Nm5+mH8xX\nOCSv\r\n=iaRR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDZsNagwsIdxWnXhiUqbWyL5UjAzXBcKDFwBjLGwuULZAiEA3BsrOsT1Wl1NYojFNafHW18/GCoXr+NsDti5mslQvoE="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r06_1589732765717_0.49080814752598934"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r07":{"name":"buttercup","version":"4.0.0-r07","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","@types/node":"^14.0.1","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.1.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.8.3","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"a948d427dfd7c04cf182529f7eadca8bc290f790","_id":"buttercup@4.0.0-r07","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-NexlUzm+aCDXWhCCPHeAB/7EfS+klg+IPC+vMctgWUjc/NC6wwT7MSrqaJvwEdbYiBXE0oD8GD1dkLC/JIC5UA==","shasum":"6da1f700091089c7940fd86624f48ca821ad5289","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r07.tgz","fileCount":82,"unpackedSize":1035775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewrzUCRA9TVsSAnZWagAA5zQP+wckLGZ2z2p4g9Er7M8/\n/gHfIibD5CIc3n2POaPC4sQHLV0o78ewmyGJjmDdEkM1C3yvzgHFN4bQWvRQ\ntx4sWuF8fTwZaMVC2yk7ZLg9I9/sV5/rhMAK4dY1Snhx/qPoThdyRsFTnWy+\nvKngiCAxGpLZU7tIcSKJ/Jw6jOCs1Xk2kLl+5Fx7kZN55ITVhStY++jGxY2t\ntrKVR9WMndy8lIfoUmIbC42hmiVzcymOO4tgwdeytEpgWdEeTJyLgb5QhBq3\nEI4tVl1m58Aj1urjV/bStZojjOUCh+1K+VBLyieTUCa4OG5Aj+3Rvzm5oUPn\nGJ09fDJTXF/o9zQg9rQloc0TseCn2WcrdPxJBoZGbYSZFFl7JGcP+o2Iw7JK\n/NQFyiLzDta1r8WXKLNg28QgPwZTX35W2N4BS2tUii80f6Klv3z2Jktks+u5\nCP36x5wfVTUEx7iOcZ+bweljfDV05lSS3NfghFjwe/xIiRmB5LgYeiJWV1/f\nBZ4lNPDWZ+ut9U7VDLxR10iRvyb6omEQjRt/qWt3G9AVN/Wbg3UQTVTlZYMQ\nQxZgYC0ILuyd7f+6c3z/OBvIPLk/c+FNpFwi5qM/+0EPg7/WlRGB9veoBuin\nc6K/0whypJAr12cXtmT3urhsxMZFA5joh4lCeTmaTn9UbmWlq0/RvSxbbz34\noxps\r\n=cIaG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGhjAzECcEddptXhYTBXFg/bojWvM1JgFqoXPCZl4kWwAiEAk4p6BTKXAUCZ7naAHwSbImJyA3GdkTlzQkDEsgUyGP4="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r07_1589820627653_0.0073141255557038765"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r08":{"name":"buttercup","version":"4.0.0-r08","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","@types/node":"^14.0.1","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.1.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.8.3","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"e7dd734115b0e611150766ac7b92e61a2cfb7904","_id":"buttercup@4.0.0-r08","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-oqVZdMjnNzsUXJ+fdWMQRX/V4NEFYMhdxeolD090X9hx6JOmFizE4Af8aT0vWKmixoOqxdXi8vnVwd8+ODJIng==","shasum":"0fd544c646605567527a8ff7cfb7f7e90d2c4def","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r08.tgz","fileCount":82,"unpackedSize":1035953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewuXBCRA9TVsSAnZWagAAIoYP/3MI/mqSGdy83SheCEu0\nNSpJpoAa4XQFmOSGECM6IZcIgVFNyI4hETqE1j0nx91q6gosc4tg//4B+QdQ\nUDtipfJ2tmjMwzvXAkG9TgXjtByczaFlblJDx/ooA1F1KiBedGuwMVWQubQ4\nYEkRmPBfmZ7X+zSFShiRybwYnD3Vgqe7fFKic823wSaKzMk0O7O3Y1oOAK5/\n3GVGtm4NYpu241NbXgHjsU8LnrByQpuhV9uFDP7ucfY/63YYeslu219gkSTX\nGl7+DjC89hK3IMjM1I0cw8wKK+o2Dc9DToSP2MOsPZtzZULJ/yGaHHsF5HQh\nZKun2kQ4KHbD4oc5kZPP1mbj+ZNk6J/NjwEeWrcz2XDK/v69cazckRsZpMF6\nojXg9ytOuXNGZJC2ATppoUyeP0X40DsSCjqumxGR9XH6s3mtJ9MzgAintM4U\nM/8DtCHo14G8OlJgw1A9srhKkQE/C1VTym3OwzteJZkI4fSNoRBODnOPA9dQ\ng7vaIn5s90p5A+G5oyB7kdQK5Z4X7blVeMlMiyNU7LxVgZ0C6PzX5+PrdI+k\nQC+CamU4ublxIwVjyR2M8njn+j+C9UU3CJg3Ar/vZWOnitAoCSY5BcKICFt7\nn3f5wTsG6wuqgrwqOT3MoahI1TetO6M4p8HMFqzlVIje9FbvFAlpMDFOckDC\n0OnF\r\n=jwv6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBEN9Ol9Rs0yuve+PMY3yKKSX9NowI1QakkpW9AFNfBaAiEAsJCEbz3UQ3rjDXxwTsZNTqsHUKQXHoDaW06uf43Pd6U="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r08_1589831104582_0.773752385902196"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0-r09":{"name":"buttercup","version":"4.0.0-r09","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"run-p generate:docs:node generate:docs:web","generate:docs:node":"jsdoc2md 'source/node/**/*.js' > API.md","generate:docs:web":"jsdoc2md 'source/{web,node}/**/*.js' > API_WEB.md","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","@types/node":"^14.0.1","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.1.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.8.3","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%208.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a password manager written in JavaScript for NodeJS and the browser. It's based around `Archive`s that contain `Group`s and `Entry`s. Together, in a nested structure, these items act as a secure store for a user's credentials (much like standard managers these days). Entries allow you to store a credential's username and password, along with other miscellaneous properties (meta) and invisible functional info (attributes).\n\nButtercup archives sit in memory as an Object instance that is built from deltas that modify the structure. As changes are made to the archive, new delta commands are added to the history and saved to the archive's `Datasource`. Archives are compressed and encrypted before being saved.\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Deltas for storing archive history\n * Conflict resolution and archive merging\n * AES CBC/GCM encryption w/ 256bit keys\n * SHA-256 keys using PBKDF2 derivation\n * SHA-256 HMAC authentication\n * GZip text compression\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Files\n * _Coming soon:_ my.buttercup service\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) (or for the [web](https://github.com/buttercup/buttercup-core/blob/master/API_WEB.md)) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup @buttercup/app-env --save\n```\n\n_`@buttercup/app-env` is the environment bootstrap utility which configures complex core utilities like encryption and compression. It needs to be installed and then initialised **before** `buttercup` core in order for Buttercup to work._\n\nIn a Node environment, for example:\n\n```javascript\nrequire(\"@buttercup/app-env/native\"); // Bootstrap using Native (node) functionality\nconst { Archive } = require(\"buttercup\");\n```\n\nTo use Buttercup in a browser, you probably want to include the `buttercup-web.js` or `buttercup-web.min.js` file in the `dist` directory. If you use Buttercup in a browser, ensure that you `import \"@buttercup/app-env/web\"` to correctly bootstrap for the web environment.\n\n## Usage\n\nButtercup centers around **Archives** which are the structures that manage stored secrets. An archive is a single encrypted data store which can be read from and written to a variety of storages (mentioned earlier). Archives are made up of **Groups** and **Entries**. A Group can be seen as a folder that contains Entries in a tree structure, and Entries are like files in that they contain secret information about some _thing_ (website login, bank account etc.).\n\nTo get started, we should create a new Archive:\n\n```javascript\nimport { Archive } from \"buttercup\";\n\n// Create an empty archive\nconst archive1 = new Archive();\n\n// Create an archive with \"General\" and \"Trash\" groups\nconst archive2 = Archive.createWithDefaults();\n```\n\nEntries can't be added directly to an archive, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst archive = new Archive();\nconst myGroup = archive.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Archives, Groups and Entries **modifies the Archive instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Archive. Archives are saved and loaded using Datasources:\n\n```javascript\nimport { Archive, Datasources, Credentials } from \"buttercup\";\n\nconst { FileDatasource } = Datasources;\n\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst archive = Archive.createWithDefaults();\narchive\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\nfileDatasource.save(archive.getHistory(), credentials); // returns Promise\n```\n\nLater:\n\n```javascript\nconst fileDatasource = new FileDatasource(\"./user.bcup\");\nconst credentials = Credentials.fromPassword(\"masterPassword!\");\n\nfileDatasource\n    .load(credentials)\n    .then(Archive.createFromHistory)\n    .then(archive => {\n        // ...\n    });\n```\n\nTo see all available Datasources, checkout the [`@buttercup/datasources`](https://github.com/buttercup/datasources) project. Credentials can be found at [`@buttercup/credentials`](https://github.com/buttercup/credentials). Both are bundled with the core library.\n\n### Considerations\nButtercup is an encryption library that is designed to work with very sensitive data. Using its APIs in a public space is **strongly not recommended** - any bad actor could simply hijack and misuse sensitive data passed through Buttercup. Use Buttercup in settings where security and privacy can be ensured:\n\n * Do use it in NodeJS by directly requiring items from its API, but ensure that your application is final\n   * Be cautious using it in applications that are intended to run in a shared environment\n * **Do not** use it in public spaces or websites such as via a global variable\n * Do use it in bundled applications and executables, such as within an Electron app\n","readmeFilename":"README.md","gitHead":"e1b0fcc73f79d6295e0d7db568d0515530c1ca32","_id":"buttercup@4.0.0-r09","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-qfE3XZrsDHCOVR2nWODzR2Q11zayXrRQXEHbat7hk3damiaJse4R2LDCnOpicxc9Z2BVWcL5lEROWX/5tne7xA==","shasum":"c63fccbacea33de63174c700b7cea47358c73c58","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0-r09.tgz","fileCount":83,"unpackedSize":1042931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyOsZCRA9TVsSAnZWagAAEwIP/2OreY5LckiP9u6kGwpt\nA90/Wu+mh1kZ1HjGYVGQtI3TSh/6jtv29FBCyzH14ghv0FhM3l1btblGe37P\nOR3bcKumgpl9PgFsf5rpZTWyRJcSPbaSXh9RpE4z9MeiNLEvcq+3WQFLsH6L\nAjBTRd6sG81+1DE+aDb4z/oxxFOUVTOZsYoA5Myb2m+LesExFYHD8Um/n5Wm\nOROpQ7mSxgETH4UKWEJSE3ruVTA0QYRFBHuZjR9hvqdlMkEwNhXTPrD5vI2U\neHcS430IQSLm3btVSU+fQGNYbSwWO7GW2gN3z9w4CeTOgNvnEhZfNw4rBTU2\n4Mrgb6gkVCE494UBBjsl+UFp4V4S8OjX7mafPBZrPKrKmWoz45eEbyLPfy9b\nJ0kKv5lHi+MBYjUvd2uGJazUf/kCi0lkIzGj2B0liTUvgYhMXc2lN/Fb1HxC\ncrUgP8k0G04q/to77trvXuCohBW0nLhPwOwu10CsdQzh7voxvKwWvALOO8aS\n9+OGTS0GwGPps0Tye6qxjam7snjR7VQv8ng+PK+5FyMASjfgMWCVF9FHVP9j\nkyRVSW4k07bqqV6G5ZBmM3QkguGVPH4Si24BKS2mECqprCl+jAFkVb585cIg\nAz8iaCWnTxhloh+iu0BkAXzcDSqxre80GMsPS9rfS2RIY6QTCZvQf6CXgoCc\ncqVX\r\n=MAb/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEPUqXamUYtEpGbFvHFcgd6j+Zs/dBxGNZ4LFS3ApV+1AiEAnFFiPL6YGKbCeEISTd91d9LVZhNFwZ0TSAXdtdHM61k="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0-r09_1590225689227_0.46868468480168524"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.0.0":{"name":"buttercup","version":"4.0.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:archive":"node scripts/generate_test_archive.js","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.0","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.0.0","is-promise":"^2.1.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^3.3.2","verror":"^1.10.0","webdav":"^3.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.9.5","@types/node":"^14.0.1","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.1.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^4.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^2.0.13","lint-staged":"^10.1.6","mocha":"^6.2.0","nodemon":"^2.0.2","npm-run-all":"^4.1.1","null-loader":"^3.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.8.3","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.5.2","webpack-cli":"^3.3.11"},"gitHead":"3f3ecc1a537b9852eaa7d21f063dcc92dc955504","_id":"buttercup@4.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-XEc0bUaHP8lYBpl1V0q3SqykQKarSXeyoYx/R1ll8va0L88WUp6qDNCc7TjnqBMt4BRIWfRmqQ9usqGBdb5P6w==","shasum":"fba3af6c70c55ed1aa6df260ef4e5218167db863","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.0.0.tgz","fileCount":82,"unpackedSize":938445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0oJJCRA9TVsSAnZWagAA1PwP/jJFOo/FCyvxsYb4Sq1g\nbte3s5KhWAMOm9rD83qymp1QvOcODeGqcGMowNtPCsPPq5wEGumWpHAZdxSb\nnSO4Q7NlDQBtlKAkgyj9J3FEB2lUsvAslmIbOiQmiFGMJpHCHckNJOpvUYgj\nYm6IixBsH6iDlEyqcfwWfZTezJ0t4oVpDtAS0d3P8X91oc3ojmAhtYxSlW5m\n1EskKjDK7iqN3F82InXnESOzts0eKonWEHOpILsfngzMFA2ynlmoXKvrRncg\nkl8Ob2DsrKSnnE2/XBNMSf6lfyUqJyxB/WOe2MjXpyHaLzepIycqPwo8s8NN\nRQvKABNeldMcP9U3fIyzM5WVa+MU65bLXp6pxlVoSkTKY1UA4vltCvr9kYCL\noey4zPzdqMgOaWMxmCMHIU2kSAEU6dkm1jhnm5jRcsudt+8JUSaVjLrlRwso\nUitDXgdf4QOEPqyKsm9ewoRo164TM2C3j6c8AdT9DTY3crYvT0rBNrLO13H2\n2VAhWvXeZzzYUoeAJsZ5grMCPT5YF8Op+bsXlPpQ8vk1h85yhS3OJVPnFgx2\nvFdfx0NBhnuZSXIlzhluZ/93475cUw9ArrEPzFxVdMHcsGoiwzndp3lVdtbX\nO/kct52wa3QktrCN6174BBbR3lCS0AB/LOsRXmho0J6xNTtQF363XXQC0kXU\nMh9u\r\n=UZWn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICwcKSGRdmKoJgLFbCzodjC/dMmcN2IHQ7XPF+BTwmHaAiEAqU+nTksHjlyaihnurYR5LinsDoBXtvfCoH3QZwE6b6g="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.0.0_1590854216599_0.6679125224171267"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.1.0":{"name":"buttercup","version":"4.1.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"7f9df23b07765260d964de0550121cdc17daf892","_id":"buttercup@4.1.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-k0IBlvzVr3luor0d5zskioHNkc5y2J/pVB/I8/Vp8gTjsPTC1QeP4ulnicdfZNgochkvG0TpkB4FdVCcuDK60w==","shasum":"a58dd7a2a133aeb88d0ad612d9a446f5514f69c8","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.1.0.tgz","fileCount":82,"unpackedSize":926104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe03d+CRA9TVsSAnZWagAA12MP/0k88g44fokGiML5Brky\noBQ6x9Rr65kHqCj+N+XQa5VQsolBWjJXQLBDW1/Q26WuGxvtSS/5/2XWCuf3\nNvUeLnMstdndOvHorNpqbgui1Lv51LvAZKD7rJr9dXQ6gG0CLFb1YPGITJy1\n37S/8dYJDiKZ9jbDESqgwYW/mIk8B+IYIACTMnLDi/SfEEa/g8Ni94JA04fe\nl/IygJGi/O5a1QOOhZ92m//0DC/9E9tIhtsf3tkEl5nOexP1pGENa0T9n/nY\n7Fo+WymOhFUoZZoCYUq676BDKNyiBgHeCtZiMZVHHw33bIz7egOk3vGzM6hP\nem1ZLztrGqUOtOvxNASv0w2Sr+9ZomevoU+RAanNDqdMPi7J2Ji6vI2svJsB\nSVuQpPW/V1HexuUxCUtzSPrFygDpYjImbgWe4ZKYyUEU7jWfze5lbJqDAsTq\nDN2D/PB1sF9y9/b6v2BlwzI4XjwMjeg3uXkiY9gW8+nbautFhHRJ+FxL1oUd\nw5q9VKFWjB8NeWqRlIFsw/jG5hGqj15K8LYuIPDsCi8ROg4XyWkXVtGI9SJn\nlGBSXAtEsu8gh+02CAanxKTle4t6kjPhMuqijCdtI70E2GgTYSKTzJAdtuCV\nA0Q/TZuCaaBsnM91OGOUQ/tKrfzmV+calSOxyD1O4hnEba1LX9QTKRF1QukP\n9GzX\r\n=Vewa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDK/U18cV7pOu8uhlVPpuZVVunNN5NNqhgDsbOSsUlwnQIhAJgHvXlvQRHOh6EB9Q6Kkw3w0kA4FOQ74r9/LBOAsf4O"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.1.0_1590916990243_0.6223557430585629"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.2.0":{"name":"buttercup","version":"4.2.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"c9145efd4aa3492cd680938896bf3eba3f280b1f","_id":"buttercup@4.2.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-vjIlwv5OlTDfFXBcZDrpEldxMzaApwR1m5RYZEe2oGZNGT24XFI1H6xHiR9fbXQIVjBszFX02TDJIkuOR6K4IA==","shasum":"0c4c3139f4eecac43e06cde1fee10d181d351ff7","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.2.0.tgz","fileCount":84,"unpackedSize":1012221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4+WlCRA9TVsSAnZWagAA5v0P/00jl9R/64JjzNEDZZzV\nAklzLxHmhE5ZpKfBHBJsgMfMLyuXXrQL+2ZYawG3Wig/dlIOvCq2Ra0tQ/XB\nMiNAZyTY0KrNrewXdpvCt9ttdAA3wa8P61iQvY0IbhNlLRgrilfkuC32WJT1\n3ihiQnpofkQHyQGzaS3CCzUuzv7YurdDnhL6D9D9GVDCVL1Y7/8BSoWxdL3u\nuvn89MrwkjA3S+rKr+qXRyqmJs9ig4l44lnfeqCQC2O527m9fRA7af05LbOw\njlqfnTeMf3HJPt9i202ggwsCa86xBT4OVYB1R0T+96cepa7BWhU+kmkcmN2U\n9uQW7Z/OwCQq7GpQUiVX2igztNk/wGu4mluI3kYsP4YydN+vE9dYgU1DADjf\niQlmI+IL4xQ1bGwCldGih5vIkZybf9GPH12v0as7vx1mks4SFLYKOCxbEYUs\nnnDLnaLuLoakO1WpdLH26z6p/eP3vYOO/wFy8ioqDyrFiwwwwzhYaX01QCiS\nsY2ruD2nZNBh/74geGPZLtX3vn1VfdWl90HpUQl/D5y8+o13ViK0xtz2RnfN\nhHNq0R9zhC/0XRTW/OTP5Rn5tiZH9ymPgA2BLYs54UDwumKd7Pin4nRhBL9O\nsONiygVHVBURFggbRaP9t028Vh5tpvY5770g+r1vlDy5HVAUERXupvdnNHP2\n2ebx\r\n=Oafu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5lzt0ip53AwIEPrpalv2VWkExTz3HeKpt6y4NxFNy+QIhANWNCYJ6sFB88Y1F0UTSL9prMmMkwFr+iWVZemdKtIAO"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.2.0_1591993765214_0.965414519240511"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.2.1":{"name":"buttercup","version":"4.2.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"1f8320a750a2a622d7b878f59248ce03c8fac87f","_id":"buttercup@4.2.1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-CukAisWX6EbrGahCrxt549EpJyovHbtPFGKsg/9lYRNYe00vz4R1C0o33GcYsy6w8S1ApIvP+I+j+Bo31J7HkQ==","shasum":"c6d5ae81822791136e9248ebf4bcd1d52782b6cd","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.2.1.tgz","fileCount":84,"unpackedSize":1013055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4+6uCRA9TVsSAnZWagAAAx0P/2EArVyaNxNpkWBMpymE\ncp/Jk7LtP//qG267ff9oYb6nBVo/NcyIPMnRK4kO9jTNnQSZbZtu4clMX9dc\nB8A4F3VYzU7Cr9mUUYvccrJqTefbBNFRN2ofSTGvxNrs/pwmQJaAoaqc9g5S\nagBNi8K2GWYkEIm4iJBaMhVGCAWd1u70+Xp/t4GCFkREIc5ZgIFb/iu3DVlP\nSqEWH0Kxi8+TYWQuD5xKHdvCpZQLD+M+OvJ5JSVi0Z8++ZjNLuuZAB84J3AI\nMFZyrYK1MN5XpKmuxFz+Y7Cd3YhprIkJZK4DbsnF6uXKhq4VoaVfJNi3/YNE\nK+ltDonDP1uDXbN+Cn8yiNZ5SSndk4WEOPMtZHpl7/CD69Q/+jKDOkB6d9fE\nJkVsRuCd57jou2isE0tP4kS3N/yku6zYWK7GJ28ztxtHM0h335arwT73VUpY\nEH7CnRjSIGmxm4AP/10Dbbt7Y3RiVZwUupZFGJ7CCLR+pGWJOEVvlcN343tL\nYn2+nxdo1rB+OnG7X/pVhNhFVEGIJlO3ut9jH/0UBQ9hictko+3I+CNr6ci1\nNtYHkYGmn7vHkvjfAVoglchh+buyc20drkIOVmW0sOHQSZchyEW67gqm8OhR\n/4c1OGhjmscRp8h0lkA4vMg61chf9fplZLF0T+BNgs96B6gxzF+/+MUo+rIk\n2TEt\r\n=Z/Ue\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID1Fk1HISoL1+L3KpjGR1hmZIP0SwMpkWSiCSbA5QUGXAiBV504jNozB/+ArjMA+XrDK/a3MGOYJ0bFrz1gz3kB3Rw=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.2.1_1591996077852_0.6950225092516387"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.2.2":{"name":"buttercup","version":"4.2.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"575c53f95d8aef3b2440f7433892902e2d02732e","_id":"buttercup@4.2.2","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-5jIDkYIF8pqfneL22BdOBKW4clQa3azvaiX6aDp0bDnvew/m0LviVGAQpi+0hmfjiiExoXeB0crnp5SFqVOF6A==","shasum":"ae67ed32bc8e6645e6681b5cd4c100920000eb72","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.2.2.tgz","fileCount":85,"unpackedSize":1017598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7lhxCRA9TVsSAnZWagAAozsP/jkgUnvKXRbt1cSuGtCU\nXg4TcUJx0IDpn6LXsT4eyYWvXkXyZ9YZ6bOdcc/pYz/HUD2K+Vnv4cF1wGTl\nP2c1sxnBnIwRgMgkj1AhIQLyibJl5/r/S6DCKc17YSIRE/JWMi7JG71Ef9Dw\nLw6YeCzH7EWSqrUDXr8fNK/9M0zODGWm+OlSU6tFe9bUC9n84xJADvKbEqJM\nv1XLX+Fv0g7oNjg6Jgr746LnamFWw2Mw/kAY5nh+CtOgnNmRYLR5l5j020Hd\nBNcbC4VLpoVNwY2TjSOZsrAAeScHctajHpwWBYoGbwvQTveCkN+rO1KgLCLu\nF3oShwABCHrYb8Or9WOcdIys5nwftrbxMsB7md8kQ5hi7PpZq3/WlifZ17Hc\nSjn9aTyqrHQS9unq0OPLpyRI1Du8s8aGfq3hsWLmEWOspbnbtfzjgqxzgLRh\nGoT63U7p8svIYXZMpsQlTz29PizyqHN1L5dRrcJIbTkau0NI1kAGxvAgkqKG\nObMS6rpgeYFRGQiwEcOEqxledQQIOpIkFeYbLx0dAod4Ey7n4Y+F5ZRjkRNj\nxq/P+KQ6gr3rSLDKVHHPVBY5BLTkGTGhcGOo9aGxfi29s3EDe1jW9TImMIup\nWrFmznsYpeFmXenAUE99V9Tl8rOcMOuktncZXOShBahdiMZEbLcrAC9J5i3+\nbCEI\r\n=BM4q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBArp0mVjPQdB8XsCRS20rtHNi8+x7gGNk5c8Q93Cd94AiAvMqoEilMNPpbx0omfCD+vrOcchtqrIa7FzvpBOsvlgQ=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.2.2_1592678513030_0.37054026634347426"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.2.3":{"name":"buttercup","version":"4.2.3","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"27ca0ea92011a62f742b4bea2a248ca6a6e24ffa","_id":"buttercup@4.2.3","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DT5N7jdOCP+noBgh9IiQ3Ei85tj5u2L1WbZzYVIR7qCE9KYZqYCaknHnRQLvkdQzvixERYfIv1oG2QTllP+C0w==","shasum":"39569a58df25e373b15ff2d6fb9e56c7db43c2a3","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.2.3.tgz","fileCount":85,"unpackedSize":1017415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7x4KCRA9TVsSAnZWagAAy+sP/3+6upuxVXXKvFbFIH+p\n0OtWkk4s87NHgtBRVaR6KpK7t9HlEfnfWiaKGx/MjsH45Fm28NW/9Ztre4qA\nqkczONulkAwHS1pf5kbuj+/wZIsIGSuJtEpdWQHtvnlI+4MKiQU/1LgPTq6Y\nCXGqg0f7e0bbjKGYf+SIlOG4gq9OjYhhIN+2FBaLJi3YnKY9ch0ia/Qo8g0x\naCpc4qI8xNEVszxUnemGU4gx4eCPVbQlq4HroUPiB0P2HyvhGDt3hvIAuwdh\n7iSx9PxKoRXMJzzyOSj+dbkbmgaeqBvHg0m8ismh5TdyhkOfi9Mhqg/CBFLF\nzOcDHrjGto+6u2BsFeTxWZdaIGzGLdU8nXRihXTAAgdPuwXbGSzEHXHPvZkB\ng6q0Bj/EyLu9Ak9mrgNMHkgO/zoszNPWKz/5j+gJwIYHXO6kfaI8P3h3du8O\nBWj1ekveWSDCGoMXq2hue1/5Fc4CNkX8vtWD3DAnQkxz3QvGsN/OBJ4ukU5M\nLacG7byAObXc9KcBjenqMzqWVKv7x3owoFRAnt6dnT7PRnk4p8Vpait1nTyw\nC1p2ZmW0w7scAUHaCIl0kKgSww9UImP0ANnkAYLgwFjmENQjt2UEPshjTmke\n0ORrCmPpoaym/75k+qB7vTgoLxsGyamMLlHjFU3+ExvDGDuPBIUy+jhMWoHW\nnsS0\r\n=KR7Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNkwmfG61AQgpjarSjs+FkDvCxy+NL+ZkbgnUCndcZSwIhALpTa0OdMaXnLeOaJgk9LCYT8A3K4ApktM/yf6l3aAn1"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.2.3_1592729098165_0.9447333078300719"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.3.0":{"name":"buttercup","version":"4.3.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"eb3feab00c59a736df280eada41158d36ce643b1","_id":"buttercup@4.3.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-S9xsgLM5yjiBfOXGEtNbndTXpX24zInqROlPCHIJdYyrXAKl0kqSG7QzrhUaNQo3hBM0gHJKVafIsm3xaL0Vkg==","shasum":"128026d2fa6dfef289f51817f9dae5bf10d86ee7","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.3.0.tgz","fileCount":85,"unpackedSize":1022440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7yfeCRA9TVsSAnZWagAABaMP/jvYYnHFJCJTiemYNbKR\nU3DX5x8YaYSQTqPeEq3XQEX9Vib/Wc+VSRgEVAv9u490+YFjmbZpsZob7/D+\nayhzPHvx/D5A5bqRz/uvxOICb85gdRlo9frs7HfRwyTjipYplYJYAjKFqpmv\nVSF76j3lIHX4YO6IZ2AzovF2o1Bo/cy//tBP155nx7hzc/rDoHTk5izzSQKe\n8shdN60Vz1bLTZWqylX/chYMQ7TcdONn6ruiEucoSasx8ZH0eBmMhEGRZ1BC\nfMHmEq754lYCiOx8yP7EBAEsJUC0eBVXLX+Y/TUgPVKQ+Jv+QahqGOO5ABZ5\n5AHxcCh1cFuNQovJtX1a/hqALk5jy340G2hy7mK17AOd84APwxrx121rZVM1\nHUOC8HqMctTZdSv0fWYJxUTomZMQXLOCb/w+heZqILdvrzdwXNg/ReW2iy5j\nzA36mO6Xt8Ke5+Lv/1mDEY8OhD3PB43HK/k+4eZ8o/cr6g0Bs5Kpax9A4C/X\nrERgrcGBp8ZmrePTXNbhSag3PbRMuYon2fQonDnDCXPsBohgQsTWNTkIhgfB\nOteOiQOJxPhP+4cFrEU8h0O0zpeopksA27HYiavUzf+sipdW8ttqIn581Kqo\nrA5H0slSQKChm8k8R0cp6ZLl/q+VQ2HfIRsFfCp0qhxDIRu6HBbVoqeZefbh\nl4vg\r\n=bu6L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF7QzLVSuXmdRLTXXEV9yunUflD/9dSclfP6i2/+b4J2AiEAvklu7YckcZhbsWOz6merXWd9c+ZYjWn/KgMJiTu/Ls0="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.3.0_1592731614495_0.8832524786478619"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.4.0":{"name":"buttercup","version":"4.4.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"4ae3b951d0303d3e4356d318697850e12db4e1c1","_id":"buttercup@4.4.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-jftaEDg9wYKk7+712AwXZ/u1wZ4hRCzhiDFtpiL+a6RTWgChAsRAfhvByQlKUxjfhf6zSKsAsmHYCMCi/P5Zqg==","shasum":"72814dada0309305a6ef079542a7a6f089e395a7","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.4.0.tgz","fileCount":85,"unpackedSize":1024612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe723pCRA9TVsSAnZWagAAPnQP+gOiiBcpyFiPyCbVQOCj\nV8+4ifPDFBlTOCwx/r6ISyFPgXt+bnfIhSBrmdLOsXYHDUypV7BJsrcbZ2Gy\nDixBWAhdF1QmJB2B/7ZgIDhduutjTPRearib7vv73es1ImrxvqZArxl5kXQF\n+3eC3O4jK2pR/sTCSY3DXf3JkOeS7Hi28WYSZG4iL7F8D7QBSi5LF8qo0jNI\nNDapwxJfa0E4lf9splKuoCTPHA4ma5HUZzhDii6YQJoyFn3DyUCEP74lTdFX\numvKbOfAppa4DDRWjLW39WxMfGjddFjESs4euq/gFFirTqBBeOWtauI0oSoH\nd1Isf1esNb3RhdRPZ49VZmg27ae0sCfuhDhBAU6WxwyI0fs58Omg5RRnFnZ5\nZU05dyMDNCuAtWTKHJHlr+rM1tMOrGj+ATesYy9IKeXtaPZXEx0+53cT9j8C\ny5HbOepdIKAYenQhTxJqtSP7PXHWEiQZhkqYrm9uWzdf7Ec6JYnMrmJNIyKD\nBilyA+vLpzuiM/0WGhy2sSENu23XoTcdvRWF4QIDEhC3Ls07ppGIVJ4kFsug\nRwbxpVgMsYzp6MkFYfvrlkF1Tz7ss5sqSIj2ANL1T7tuM9wgiPhCdIpaLwPu\nUTDZHMmlVtCQqxjPOFkO31HgqoZre5REWVU0T/BBZQoW5N6/xb9EDjPq57fk\nRyLB\r\n=vSdU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaxa9eVMp15I70xCyu735QgARK/oQzOOrLhPB3Vs6wXAiEA82We26xeiHTlTv1y2Wi6hV22Tg35uATjeQYw2lwW2z8="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.4.0_1592749545081_0.1923743367452484"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.4.1":{"name":"buttercup","version":"4.4.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"845e622f3fe8e742fa3dd557e0ca25e63771889e","_id":"buttercup@4.4.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-luwmjsOZczncB8ianGFWPHNZ0aUiIDKkMcEADwlVbO/bHkRfrF0/L5bHllCyPqdf7uw8Bl4PaBG8+mIIKyv/mQ==","shasum":"c305ae29ebc8d68a5ea10e2603f81258bc6c2ba1","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.4.1.tgz","fileCount":85,"unpackedSize":1024825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8O29CRA9TVsSAnZWagAArxoP/3oLVgQqHampE+CX6Okk\nMvYj4cn6q+9IXnXyOxoeRqbCe05RTjcaVnT8DQ2wzNQIWZo67/aEAg325n7j\nEAUZpDnm8IjdqpLmrj6+dKU9XjSzApobcjc4e5xVqvwCXILMP4arl8ruyOxp\nBc7VTftSDGsUCtkJ1X+VBNNawNlLXhzVTmx3H+kuz9cxKx122yivslTlIfr/\nH+fPEQroZNo9hoOE8QwNrMHOvBulTc2ZLMJtFqrw+e8PzR9DXiJJ4UxpV5c4\nsKQ4VEOJlz7PGY4jVomHVe1QHlh4BFNNPXY0y2SOfOyJXF73jHdbi2igIBj0\n6lWkWtYE8yuk9Ct+Rq4T5W02yPjRkSX+6EqHD2aNnbn68g0l1BzKbOpyovYE\n5FoTXbOD1zIlNxvMb1OXV5sVod2QQXdqOnGXK6YBwnV7DEDB2c9MS8PMYyFN\n6XpxFaEWc+sPOX2ecTd30M3IesfUtCPQlTA/ZJ7M97JvRVE5HR/E8QiGrpBy\nocW8UMQpiuIaHShtBA4MxmF+IdHkXuJyB3ZITUM3EvQQiFnds1+4vfCulXx0\nzt4TovyUkyCd9I4xVdZEHBIP0up1RS/PGO5TNpC6VKrcGO6ucO4HOARTfWAU\nVP79uUuNdVBnuwBdnZKcUP1xbUyDQLV/bGriY/p8A1iv8aK8iPFi7ZSXtbrA\nhcv0\r\n=tjTH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDjcnl8nGYYcYuz7b2Nf5aU0SGaIlWm1gosIC0HHHN8AIhAMr/+4s20l6PpTcR3Y63343ReOrMhAleS03+agFs826P"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.4.1_1592847804309_0.5616805675175125"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.5.0":{"name":"buttercup","version":"4.5.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"e670535eec9bad58cd1290ed894adef6bd8d91aa","_id":"buttercup@4.5.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-MlhjMqzolnUipD2VK1mtMVlZETVJ69i+vx0Jdm+anRbgDJQS0FTrRKihBc/9GqFhinyJcmxtSou3OW3JsEeI0g==","shasum":"02979ed0f0f9b8423e48e2c426febdce0286f4e6","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.5.0.tgz","fileCount":87,"unpackedSize":1026993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe86bTCRA9TVsSAnZWagAAZYUP/2g4bTmaKUeqJedaR88O\nhBxV77SRR5ZIfaxnWLra9xuuEmChLyQ3scohIrV4fjDJsi+tdBAA8OgIqDSR\nODNU0me8cjHeXYzfSatRddUteY+H6qV+MbMT+6c1BGKJcrdGHLNKIPOw3wOn\nGgE0aV5EdM9+2cNqgC74f9pPOu8muCjcYM29erKuZPWR4RnPzWsKyJQ5OBup\n7JbYcQRqR0JELrHNmgDoxj1lR0BZVjNG01PsIHCnT6iUewRbyQf4yfNAT2vX\nVJ4iQkucueMgMdJ9/J0YtWd7wyXq++udg+kkOGzdeNeAx6Wh4GcrXbPzaRYc\n7DHvr9YLAF3KnSs5csLV2D3opMV2t/sI2uVtL0gmsnFmCR2Z9T75qN27daBr\nmHzCtFmfS5uuKAH0nhFJOMD6/5/uOA9LkwK839dCPMKLKBwkhbiaV/FCKETR\n9FC+4f973NX1xE4rn0qDaGsDDslu8jm+WpJumm5gqV67WHwaDzxfxvLQP6/d\n8h1oU3k5bBZJWN5NuOR8YBL/PaTLK0Ig1phXf47GURGpA5GYoNTomZFvSWSB\nl42rLMFLdYXWrW4W7jEi6QNi+N0jS6i/XWZP5eJXA9SuXTifYC3xq6yuimGp\nKNJMAwegE8l0543XOPS9H+/e1atdq0jpz82IgBoOcCdbzRFx2HWaT81Yf/5o\nBMKO\r\n=ibay\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFuSr9qG1ciCOb8ZJ43FMlAAO136cPVNeiNR4mXoFWHdAiB4RHbneL1KgNbBsLqw/nIrrztA4SpYAyCMh6o3JwSXvg=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.5.0_1593026257924_0.3032518651040961"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.5.1":{"name":"buttercup","version":"4.5.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"6840bb357121f291d8bfa8562eb8a8aa1b61cc38","_id":"buttercup@4.5.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-H0g+M/tq15MO9TWTJoes+gt5bMBt6aYw39LnABM1PqX56hVGT4ClP/SUuarJjpWHSS8jtYlcW1IywgnraEpKcQ==","shasum":"c7ef65fbe3f4e0a3ba9a06eeccea12d2da29ed84","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.5.1.tgz","fileCount":87,"unpackedSize":1027148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+LEMCRA9TVsSAnZWagAAEdAP/RgOh/CZEF6qtAfE9g4U\nUg+HodS1LnqiOYjOf+m9tZw5mDjWfoM4nrBrlVH/c6mCfJK22z2jKiSe+I98\nJSJ+BmDiAikObqVV53O43j7uir9Mj3KyGLyw2F/TpO6ClMgOefLoRCAl1MqA\nQAjrq621glB7aXIFZ5O1o4ZaC2mBujjgO1P+UH5QvVniTUyabZlaEUYp6VbB\nk1tJmgV0pG0wFMyXnFbbfmagJMXoF/LEgTcqtnqHS2n4hp/cIqFLTQHb8p+9\nDpLyvtycTYGAUGS2XYg2KURYCsJNE/B5tKgJ5+v1Oav/gRa3qss6q8JhjADc\nXMXlHiLrPVU4YoKGl5VgiI+4oET5fGiXCwlPgCpkC3wHAFpBLwrLjDlTOWU/\n42fu8s8zwuZXhPMCjkYxowgYNAPIN9EtQlKCNWPsQMy2Ve5WwPs20Y7Ht0Ug\nGFllJ/9J1j34wBfulUU08TAp5EIhiuuQs49M5K1LcdxCaxs3SogzXvBeqFwh\n+sb2KiX+9uE5abIPzezzZiWgUdICHbO3kGuCUHPdkgM4DgpSov6MKmBMxwGZ\nXuonsaOeiKvv2I6Lq02X/tMO4Toc+XJz7tqoBTalbDg9iWDUImCzFmCGp6ML\nJhD+RS3QmrFU92Ufp6Fu4ZVHGYgG9+9/nyFq5tpkDvOFXEbBcBQ/eYBBDt+I\n+Iat\r\n=X4z1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDysFuXlBUjI+0R2Dnv3eo+TQk/NmVjk59wLQH+whbgfQIgInvbbGEJdLJe+5xTXnCm5FQVT2AhigUKwMnPSwdHhTI="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.5.1_1593356556071_0.5245353391126659"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.6.0":{"name":"buttercup","version":"4.6.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration'","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit'","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","foreachasync":"^5.1.3","fuse.js":"^2.7.4","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"8e8b5f61e86cbf8793a96175b02841d2af31314d","_id":"buttercup@4.6.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-w3mEyocCvvQ+grifRcqaiV8dyoDCw0G0XLvxvOmIpVrjNMnpkdVFukyxG7peYDTBWH2Cy9WNfCbqIPBWDXsIBQ==","shasum":"2c2d0a8dcbae67f38a06c536008ed58cb9b002f1","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.6.0.tgz","fileCount":88,"unpackedSize":1047692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+306CRA9TVsSAnZWagAAECgQAJjNOva+hy0PJA7c98Kg\nM2rynlQMJCpIFjEWflDN6esooYbiRiRHivz9a63/64LaLj3jb3IGRm/rdQER\n8P7/LHcbRhmDdmjGRKx2Bbqr/2p9sBgJCF55M+SkLhIx/hzZonrbX3raV0Jo\ngboyIHeGCFl/wjCFKIkIyVpH0wyquwrOD7IMCtrze8KkRKdbIhSZVSq+MnrL\ny+G2CLypZU7PRudjiWZN7HM059NIlBqVBdpZ3vmstuAl5LFYreDfVZNlt9Hm\n/2tWYbG7dG9AiR9mH+p/Wktw00sVNCYHZKXbmagmV/+5ZA54DLaRQtM/ZluN\nlUtrBgKRaEXeUMIWyw6S8BCm0TB/AilFP8uBPlEAkDe73HgESy/ljXPCZqR7\npiBi0XC1XTWD5lMujcaduhUKDrwrgBh4zSGpx+sOwvOQN5etnVwJ1bZ0dcdp\nNrBwpUoGrrrDGWgHU/nxO5neoEfgg29G5NVUkCdFZJXFVb/tkv0Sn7rTlw6J\nwX95cyvlCaR6g0yr5X74AtWpCBgdB6yAThs3nKsKSq0HWNAbn8RuZeOaKrjv\nIx2WI6MfUdwzCwo/5a44xwfJ2Nj1GZhZHQobNw9FBIb7GVtCXLiLbQzSn9YG\nN4n0ABUSqHNGn7gaTnhKRc/L2fA34RwEkAMYYE/pdI7kefwAMPA6lmcg7MwT\nj3Gc\r\n=IU/P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiudVAsWjBLDj/z+V2iXGqmC6DlrxfdWFzy1eEyp7uGQIgWPsx/GL7xKHqR40BCFKagyCwgoEALqW+SFvGb/hJf2o="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.6.0_1593539897513_0.9546471386804503"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.7.0":{"name":"buttercup","version":"4.7.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"cfc948fd52f0a6fb5de6053570ef2816be16aae2","_id":"buttercup@4.7.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-1j+AuaU7m4BmiYpowyZZjoDFTGgUIKGOey0xEYMvsipJ6F93s28QTGlfGmJK6Ryn87PExbGsoyyMY0s2JHMAjA==","shasum":"378b96de41dceb7534c2c94e79a20b1e46ae188f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.7.0.tgz","fileCount":89,"unpackedSize":1069222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/ju+CRA9TVsSAnZWagAArUIP/AjR1cfRnGs4Rm6imkm9\nA8cxAyXtmAleAKewS7ZC83E9awaKCMhruB1k+YQAYn48xEMjEuTYYAT2GjcF\npBDKS7i8P7X+hKra7sUo6IQSjYBm/Zr9SALt9ILGf8yEaTi6wE4mIia1DMrX\naCTvj8f333/M567KfJpPaftSaGF+ZrMypfUUGZrx8v66bdOsf1/EzhWHhz1W\nD9a6rJS1FekHntNbOIgccNJ5VzQOBcK1adxvobT9qWk/TSTZgBS9vCeNv9/Y\nHgI4EtLNv07W0DVH9JcD73MkMpYLlx0CNDW+ZK8FQhfNhuBcnCgi3/zQWvpj\nyD4TO/1So+cHZaAq+UEMB4loPdmBnHsSTzqNdFZzxaE+DhUWtnbnxKZI68UQ\nRvNZjc8zDjm+YxZo6av3cMKjO9kOZF90sIfgFmsnsYioMBGfmOM8A7gDViid\n24qHNwJhtEWQ6OuW419y1uu9u4nbkDqOPOPEwn3GVYSqU19EOHgIVpdHps6t\no97NQDUA0U1kAcPvoc2dJjk9p8Q+VyjoRVSNvDSkW0gAXs4atGohz7qnLco7\n7bWWwaxBKV1YE6mP7TJg8+bc197VOuR2zn6mSpjo5EZIp5iEXYytROOF0JOt\nEefp3m0VQXYlQ7wzZyBYQdY7vaSfxy1Q5vs2sgorXhWrefyJ1YggEBoVsdQM\n8iRn\r\n=/t8j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWjbSS+5rmtdQMeQIXTNeAzpSrEMVmyj2ULICZtOpZ7wIhAMHiLH2EkSs/M2x5TJCfF+OJU0XHec7Di/JjOU0EjEq/"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.7.0_1593719741625_0.30263207105312695"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.7.1":{"name":"buttercup","version":"4.7.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"gitHead":"5cb8da5585a9511f0d53d86465a07eb3e490f516","_id":"buttercup@4.7.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DDhb0OcfUPL+B4zUEbo1ZBNXu17wlql8FfLZn7wRkYnf04SWHckLI6or94NXu9PdDMekSLsvfsmlztajWoBJBg==","shasum":"cb15c7e6c06a7839d7be03cccdb9ae7fb805228f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.7.1.tgz","fileCount":89,"unpackedSize":1070633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAefwCRA9TVsSAnZWagAAMPQP/i0y+HtRO23kCMWXp7Yy\nMeqMbkcoghQwht9R9d+ThchaPMszLtAmL6PVzhyhKreAkrutnenVYyeugDRH\n/OevKVR8urCDXcCDlD0ytPuAcXwo5yBxu/XhuHrdrCltLMQPSaOLivyIqj7w\nAgBEAiMCobqhBB2mIqkJx4ynbnbICku8gYl+mPdaSQk1XTldN+7reDK5MHqZ\nHdlkkpxdOn4HMxHrKWjwyVKqLMLSz5/wYPRvFK49Tj4L0Z01GSd1Q4pIMN2H\nttKWU6LXQyF3yIdGAdIx+DBlfQUClOKmz/oct4RKy8Ubtj1LCNa0BJ+WrPtl\n334k2hKbmK7UOFbRmupQrwm75bCmxtYq3QAyQZi64Ed8QUJFszt6Rlg6nimX\nx/d0NKC3CZXVSCWi2jkUKs69lN8leg5P4jbo/BptJTEWwNvWB5sZD3pT3fhF\n3J+f1T6zpBCIaQGvLqg/KIFQ1sLWUj5mLfPjis1Z3oSKyo+QQ1zCR71sc7vR\nBPNQapaMSXIW1xUcgKW9xprrh9pQ/Qb8myJJoz3g+pQbDHPNvKipuDVdZ51s\n0awwtvt1jE7MdNkZro1po00g7Gq5yoLjnSqzqiD+0hMOC3BXGsoZR8Du3fwS\nbiuDLTl1DwWpgRyceZlap7Lqi4KOH8CoRtVURQgvOOQXlCBM0DqiGOlkpIl8\nawzR\r\n=P4RX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4PET85tJ2p8b8Yw+HiyACEg+AeAMvjwcM1CmnfjjaGwIgbUE3C5tYI8J4zhbZwY+0SRoukDjkEv11+vaizwBJE70="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.7.1_1593960431828_0.527965254353661"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.8.0":{"name":"buttercup","version":"4.8.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"c8b6de091a57131d9091074da3bae4e27881a60a","_id":"buttercup@4.8.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-In0fYkN4XZSn2A5FXrJsiOaQngRWI6gaTdY/7QN57OHk7GqEUc/p2DD9QyBcU0CnO12bDP0a2NeHnEmgNa3tmw==","shasum":"f2c8a655568956243746ac6c5cb0780228826735","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.8.0.tgz","fileCount":89,"unpackedSize":1074574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfA3I4CRA9TVsSAnZWagAAvVkP/RjdfpEDY5qlz+ghoX9Z\nPJ8L8x8S+cTxfA4VyIgz12lXQG8nds3k6q/65dwhMJuc1qTOq1eYqzHnyFVe\nUc1zBXOC0UFp7c7HxuQ3NrJ4TirZxsCxTL40q/d4HS0uhI4j8UF0EeIEaqjO\nbcAFTOIGcrY/F9w0WPuyvB+NJWJYRisNjZuk5Xk8K1AugjKr1gpwCxFHT13e\nAW1lU7jdLna9ZnmD88eC5OqRx2bmEelM0jCl98w0rbQlntq5o9VhJOXjBdto\n5TQFyVtv/8hNOFuTW3nONljwno20GNVIYW9937Ba9Bg1LkolOd/xxrc4gsL0\nO6S2Zh7ioJtLBt3I+IVEwjxzQggEEN7Csqaz6spai2h5Uu7WxQgunVaOkiBZ\nFGpcYlF+KYhm8MZWnyPE3odtOyWnNuyjFWhLDXGqAD/LTuebMUqoR607eVn0\n8JhNJYsMYd3cZ+8Aj2x8FlokBssoME/A6gy3Z67M1H8TCjURU44WO6hz6Ewm\ngbmFaHCrRNV2qXNLxjoUIDv0jQZubrbdHPfyC8Hrl7x+sDnSN8r8blVMlkPB\nc+M2p44QfAhqNaBZYJHB399yqpeYQKZdJu/db9T6wGfob/dtShnaqXGSooB0\ndHt2nb+ImuQFEZBsnpWVJl+DvKkCwpmR1MzCFGM4bQ1R1t219ggf1w/4cgJX\n84EG\r\n=6EGn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRZZad++yoeL8mVC8/uKPmhK7axrpRxRuVw29OZ/UE4QIgaGCXWVT5N7vILM7uFgwyoiIWb6RuPsUHlLjFAlhfYC8="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.8.0_1594061367501_0.8868978210483478"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.8.1":{"name":"buttercup","version":"4.8.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"7504efcad96c93735f6fa4b2cb6f9d2adf63b0fe","_id":"buttercup@4.8.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-xjC02oE8e5DVLYHPE9PVM6tIDqN+Tg8G+zw1YoQcmJi73BFC+yXsME4hPFQWg+sluxHi7zxjBPbkMnOIxfqfCg==","shasum":"c0548e10798b219afd4ed154d237f3e164adda11","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.8.1.tgz","fileCount":89,"unpackedSize":1074946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfA4Z8CRA9TVsSAnZWagAAEc4P/1BLYoZr2dVKq2d2rvk8\nYcZJuhCN7DEVpP0TF2UDEJvlCZjQv16BxIIQQMgpIAgHDUUrLK8kMmAW/tTT\nQ4b4wrNh4+a7QlfQ6HCy1qSFLavK3s1KTJTJ/QOfOgUruLCWmg6sb0jAwEtW\nxfCK5cSeLmQsoPRoOtR0kDCeEqTpqMrz+uNrB/uRr3zPggLKylM2x+yT3/Tu\nlSMApSJSQxGE47w/+ByGUCwz65skfz5Wq1LbDOaz38iKX/XYiVoZ577ptHK6\na4+aLXhs3S5HmoXlhdHKMO2jvoDs2s3sFKTFKkFDtaBxRtwaF6qtJ5wdXX1H\nSKyIfgjTCBGJTY1TyUsa45bhnY9aGZG/bbWEOVMlwVKqkBKer4KwXFKHAuKS\n2ZSaOiNO8EdARcz58z9L4YYuX5qNouBsIb6bgWHhKBVVRU4vNt1RXYs8T29G\nSYLhDaw60KbbzgcT/qKGjsbcarVUIa9ZVU3+tBSw+6Q49OALbR9jxzdYGCBj\nmqghYRSEukVb9RG2eyoR1radKHC/WH/+g1J3mGE9oyFKIBzssUKLAuhDAuIF\nyX26qy5oAfmRAO1nlfGucS28GKsFYyS+E0MMFOEOhRmoPx9uzGkg9SR/Ecgq\nABsNHLgbYL1GyFF4P4Ffp/xtRJp0BdvQMHYpetSeUfGNnhJCw6250p8fzhHQ\nUPST\r\n=+wZq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhi8JVPMhy+fNgdkN1/AjpudpyhmniFTzzeLAkVoR5yAiBieZ7+2pqYNlDhSjpej8zFwNtZJsnGx9Lp5kmNpmbYew=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.8.1_1594066555705_0.6499301143245848"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.8.2":{"name":"buttercup","version":"4.8.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"c1c67f174ed619f7c430b8b46afdfe295f92cf87","_id":"buttercup@4.8.2","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-2yAn9wDiA7lCZbHp63sXLebLebz7ktr7h8ivN8F34WrKj7dueXRgAyM5ptdiuzT6bh2gy0vd1GHpLY/RWa74Qg==","shasum":"cbffdf757c780649b46fe998179ec35be1fafe7f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.8.2.tgz","fileCount":89,"unpackedSize":1075025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBGYMCRA9TVsSAnZWagAAl7AP/iOS3Kow+9pRopdJAUVn\nw9T/U94cJbfgwZo4QYIzm+K0UVZ40DW4BLPns8SswVsg5rYknArKX6oLZC1g\n8ulsRK9/Yez3i7tu3w56KtQRb4ZwW4+2ocoNbF6EeXIC/1cNk62Q4zwN+HQt\nodTbNGNkFwBxQkHD2KYod/t4h9Mb+Jw3CZJSttZMJeQ2l1qHy7ax2ai+LYDQ\nSTwPZ6kqP+IrhjetnSjK2SnZJ9I/MkJNVVjSIMPxUrA6UiFtKHUAlWnLa1li\n4wCfNIagm9tgLmPjnUTwTBdUukyJ/t5H6iKFVvQJZ+QYG9DVkWNwfyOH2Qpx\nM75QP5riOBKdyWX3IZ5q/te51aYHHZoGxEMVZgKuxwwXh5rpk7wlVTKMnnjT\nhJ7L6pImczEzxbIjQRvCm+wsZrsXm8Hk4smCXRfIj2k2wF3hLc6GzmgTUwvE\nHNmQr8cTlVltlppXbuVwP+nhnWicJ1oEQVKfiTGH0x+YNl566RTyOliomiiF\nMtm02lnLA2Pcj3SivqGms2H7x2cYCzgymPi2/0ExSbd8M0kGDedwKusiU27C\nNKAWWMwXDDHpIlbCzPAAXvwFXzawLshAhW/x5ZXkfmsfsfWj6NVkm9MRw3QO\nD/tpDuDfwb+4xCX8UqVEbhbjx/e6X7cU55nA5lndMxjlk6ijzQDIBjwaBdxM\nJvii\r\n=iDur\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA637A/qpPRosiC9bUDQy6YPikuyfB5OByEpHLVGhflQAiEA6Aop4T6m3V/3wAesWVqkFe1PYC2VWZ+l+mUw86Xweik="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.8.2_1594123787951_0.908238637522905"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.9.0":{"name":"buttercup","version":"4.9.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","pify":"^5.0.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"6ed9520696b62988c0a19fbd9ffaf96a5a104765","_id":"buttercup@4.9.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-xmKTSTc2l29+RveEWRBUsLI1Yruq2YV3BlA6tAq5YDDlMzLboJRr8BSGtMXH2XZayxlE/Lsx1QwQ4M6pnOds4Q==","shasum":"237a04856395654272da4877f5b753285a7a9a39","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.9.0.tgz","fileCount":89,"unpackedSize":1077275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBIgLCRA9TVsSAnZWagAA7hIP/j03eiMfSoR5KsYY5gPo\ngXsOW9DtpKd35YFjUOyLUOc//dbjukZ04DAgU4KaT+Rx1nyHf/eKjXpPW93N\np57Yjdy0oXwCp1PnSJyY2w084g86/+80vVjGpvc4QSank3Gjm0eGjWw1byYu\nAIq16NEINj92RjFNpDSyV2KSY0j6h84TP+s4aAt8vtbAeVLvtAbqTGCk03uI\n3bTysXU0TO26svfh36gYjmT1gKDeVOFLOKto/w/LENMAXoKouDzAqJv0ExTf\nsFeV6ev0Zr0o99KssPdTbjgf/8vyHu1cd+RIxy/bmdpNfCcjissVPDtYWFI8\n/H0B1zGG0smewsKBMv7oZs1fmqWCy4WPCGQh6nO1+Airq+YI1QdqvIKpSkpH\nQWetu6kdghN9QOOgDl4pmHNuDtGJnioDQj2UdCeel+NpoYNyZt+FLWqytucA\nLp0qqXi2oldhtoaW5dx8mYZ266LEUq6BRPoyhn3lQEudjFwJFoJq7Ip4fmGy\nUy/OWZeQSmnT0MWulYs4jxwdDfqbJ9HfMYqVJzUovNVyoBquGGrypp68ne9X\ngud4oRWLLdBPY/lmWwX/f3bzI0xmY4GbYJ1BFo8RPl2uMhm39244IefcHIHe\nNsCjhPWOiLXh2bSbdNHiFrA8KsnJwsWkvBT490l5FbtSMBPZEfBaABUlhtAv\n5LAn\r\n=LHFS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHHQqmzrVQrMW+tXo1OiAHYr16TaoZcz96bzs7/hS6LMAiBcvdPza6xyiP5bMW0DJwccMKF5iO9X9cxHBk0guhTKIQ=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.9.0_1594132491251_0.7964534171664648"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.9.1":{"name":"buttercup","version":"4.9.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"b091c597a6ec7b95c1bc8c9b4be437f510e964f1","_id":"buttercup@4.9.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-STfzkXl/09JleaS/U0h27MEH3dSgILiOWuLR4N7i+WYWt7mLE2XY4N8QB2cSsNe8g7utBB8zI8/eXN7DQ4Oa6w==","shasum":"84d9b2f32c9862fe13c4cc1988338b3e4f73c1aa","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.9.1.tgz","fileCount":89,"unpackedSize":1077373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB1KkCRA9TVsSAnZWagAA9VkP/0dGOzrnk/sPdKPypGqJ\nVfgkmMtrZawxx1w1M9NkGa+je6cTdZ9AhpxxvPKl4zE7CDHX1M+so6kGLN6E\nhm7IfiagAIvTLzVCSolrkrr5Z7Go9kWhf9ff9CC3OKeaULl+nMcTUT8x8h+1\n0xdCLWkfxi0+SDcztpoJr8gNBZLFCTEeDGtXdWs8nqYgalUr5Z/IazuVhPQ3\nHedyChePmsBGdpF7MAJ4Y0m1WOTSNfl4UrwgGZ+EFJn3k/dPbbXD8w16Krxb\nt7+7biEkzfiFOQUZ7A59cMM4Ng4+ZE1nqCoTHp0/Gg+Smy4rpL9DdVKvXrln\n+sEi8qI00S6qjgxQNPNt+Hf4YakOFE7JwWR2hpRSuQN7PXWFH8s8/1CDq6gN\n7ac9G9F1DmJRGF4NVFFH4aTq0zMF/vCI2MaOsTvQ1cgc5sjFER6nbpmEiYX5\nIElzEqVqyujP34+hhp1HRlm1I0/vt/1swszEgPb8R63tt6WuDlzA00snNZOJ\neqVO7UBCzhLRUat3Ic+JgSNzQ5YvCvTN4T141HTB6Oyk3SzoAezYT3dbG9LH\n+P/11qXb/fUUE+rfQbIZzenWMhBTSL/C5n+VDWb3LsohHRiNSSu3X3J5BiZw\nPCWNsUW5gxz2Utc3t8IYOS43gOyQsypGHNM2F0AXyYxZUjbXtwGCeELICmEX\nRpQF\r\n=bXDU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA0s5DNPoKDT/wJyFDjzUjhihE7sJ7HVioK9TqKoH0XIAiEA+vG/NAEyPdtZ/ZcMAgrdMM1dUXtjIPoEiXUIPvNAPiI="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.9.1_1594315428431_0.4263525168655562"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.9.2":{"name":"buttercup","version":"4.9.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"7cabb403eeaa96a25d4add2695773ca2defdac9d","_id":"buttercup@4.9.2","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Hj6xRAaz5MK47LPrFymm3S9HM+2LYKSuIImaf3aVMQmGyZup5iUeE9t5yWzGFcBog7I5h3F6OJW+oE0TTS4b1A==","shasum":"decbd28a01c0ea1125db239aaba51bd28ddb53b2","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.9.2.tgz","fileCount":89,"unpackedSize":1079458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCa8kCRA9TVsSAnZWagAAquAP/3E60pgCxLKFAvgTmRCM\nqpyrscIb7NLzh95ZU4vrI9Vhq16ajLjQrhD36nujPHOvSxpGK905p+YkW++7\ng4WjbBLzY5nWnpx3OobWsZ/s859IMxVtGp7JtYqQ9pOJCI2F98V2xdws6aEv\nb9BVWTJoFm82bWVhn/XJMqonC38gFIIYHgBFhjAM2VozxkLmH6sDgevh0UTT\nqgrvi8vIVdZDw1WySu083nAOdgV+7xD/GoficuwwKTKRv6V32ebKkGJtlbJa\nnfmBH+vJhG8PSprh4WFoDhHVGJr9tXu/A4FCFkVDdo6kmV2HqRDOrwUyQKUE\nUSRE0VWcOqyLIxqtatHwUO2b6jJeU/kiVEQD1edALvWFIwXSvMSbvrAGSqb1\ncX1yPMB05oQkakC5jJEdM4G9otba79uWGUbpv1sNPQFr+MgWCOX+Uw/0YvIm\nN2WWiIjot0pJvrVTqeb8RWgfmtLgTExEE8Fq5f7r1aMGu1zS7QtC6WyOnoEW\nV4KgbEQHX8oJH1TKEXyh5YMczc24PkR8so1X40//482HemtvIyXwyk+J1fbP\n+LT4mDhv/Lae0p6upl/FKbEFS2pdTGV6qKiWpI/aJFuN7+NXkBE3z6VP+Wz0\nF/ZGo+knZxlj8dFlAZUY1iCPHBwMT+cZM/OKmjt3ErqYwnFkIOcWjDy9kaaY\nEuJB\r\n=JgOI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHP+n2mYs39plIfuNIEbmEFLUAnMsxhsu3BOy3n4kg6XAiAHIuq4HSPw4n5ieL+ARDcC7vJiRUOLPvVcXSL9mfVOCQ=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.9.2_1594470179840_0.7480878030160192"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.10.0":{"name":"buttercup","version":"4.10.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"390405f39a846bba8f0b2a60ededb30bf49944eb","_id":"buttercup@4.10.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-rHoI2aVHtsgfNd7cDYtb90vvqvYiPl4467qX4Uey7TzWaYs5dyhDkVBK1pH4aRL4ktbrQEIn7uik7CVH7q2l2A==","shasum":"f40ae115433e5757a0fbd21a754f6f47d685dd53","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.10.0.tgz","fileCount":89,"unpackedSize":1080045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFgwoCRA9TVsSAnZWagAAq4oP/0WMcRAnVPvZDPv0LsqT\nN54qOA7yk14VIl3wlAuJvZ0w21jW/ZfvRKb1aCd8tRZh4eKMTLX4d9cOONkR\nyuIZ9BsvlkeNBWAiL14OorIcmzXmLK//AZj0P1kZUKKnTYpUU+SvELyvsXtP\nyBy27xF6+bee1doAQbre5/NEKjDZ+ykxSBczcrr4ErWXnomQe7ZEUKo7axNK\n8hIJnLo3R04WxoP2P/ugD0KSYluQB1fqDtRnLkdHKwI9vzHhjyPJknva4wMT\n+RSkByvlXxQy346lKWEX9WC2x4e6EfIuAYbamF3QAfMtFcdnxe4ddnhwP0/W\nBDS30emCL6WMlbnp/T0ST5OxBE+lY/AtyqHNXAv/BPdFFuDiU0ID0SC+2Q0k\nDnGVuXC5QvIABfqDK5zNw9+w/8sR+yrMOSlx1CoXl/hxnlCx3WiYq0rl0kBT\nttF/RquCD0K/+YcSMrZ5PDqzc/SWTocGracEb9MSJLfzEFNXEDZrQV6ViCyd\nIeAMIfMyYtORbQCEIAM1JJ4t+wIiB82HTFgliSdzhawOoSlHb4dR3SD81zr+\n/QzAmzGYWX0UB8nxEXOKyGwXv2e6iI78MH5Ka7+uo1/V79F9fDSLGaXNNZOw\nTJLZRjwWgbRJOMMMPfncn1fA3TZxAr2mgzzyaj6m+H/DnW+izcCba2cMdXW0\nAi1X\r\n=7yA4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8lgIVs6DT7G/kmKvZkVI6Pxaz/Dgw/DFGZI0+eiMVpAiEA0cVA6QLdwZH98cDrVH771RllHYPkSmy3LnRkjNGAK4Q="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.10.0_1595280423013_0.04875192566400521"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.0.0-0":{"name":"buttercup","version":"5.0.0-0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in our own [**My Buttercup**](https://my.buttercup.pw) hosted service. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * [My Buttercup](https://my.buttercup.pw)\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n_NB: `@buttercup/app-env` was previously required (on version 3.x), but is not required for core version 4. Please uninstall this dependency, along with `@buttercup/facades`, `@buttercup/credentials`, `@buttercup/datasources` and `@buttercup/signing` if you have them installed. These dependencies are included within Buttercup core version 4._\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\n_Buttercup core supports Node version 12 and up. Most features may work on Node 10, but it is not officially supported._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without affect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 10 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"341fa2191272ee45c6653ef7879748caa1a59090","_id":"buttercup@5.0.0-0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-BOd08y2LI1sQN13g/0F0w35msUN4F87tyfskToIlgAUYxcpdXB/Kg1iljIBN7qAvLVhKFJ6FmjdLKIG9YE2ZLw==","shasum":"d11247dfcac2fc95bcc4bd246225c867225ae3e3","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.0.0-0.tgz","fileCount":209,"unpackedSize":1082460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHdvQCRA9TVsSAnZWagAAtfoP/3tKMp0qn1LLOQmRH5zI\nsxJAr3PwXrWYYrJIuU48cIi8ePQoayzyTn5dLQUl6o0DTAIKW6fNWRl6Iv6L\nCm+jLyGJV3R7/qKbIR/Zk/c1pj7q1llV+dxhVdMVoixUC14fqF9cV2EeGPGX\nnYawZ3JD+qgRFG8kRsXPKzh4b04u4RVOiY9uC7qvsvtNtcIkY+FfmEBtJNor\n6Zqc/VJ52AQb9wOblMPDFTQbAdfO0k3IqCJVaLHYYt6PkKuYEfiKzL8G6BsN\nVU2IHjuiz1SVh09ZlXVSw4PlUzKKhbnqaSROw6u9xsit2TJolJG7hESTMp2w\n2H+JJVmETLlhk2mXCQFKetgO1B1mmVFViTMJiriWXP1sx8XGBnWk1as5VkbW\nCpHn1k+fDBmRv/cAWn7sMx2WhO2vuPNFEocA4JYRhFuC8Oy2AvXNxRpKNq49\nSaUf8DBlMIrKS5Lsx8AOwDBW1L6z9H9quL01lGUxeEpLT2NAsf30tkdEc0HX\noW90ChzLPilNPeAVUI2S2jELAIBZZMLcTZpBy5iiA8YQSQZTcrem9stLZV0H\ntqMIAYgeZ8egn9yXpX8wcSnjGeCE820cSflU8LCDaSdNbkeURc/Dnk3lQth2\nThwjc0EjI5LMk3+VeRGdbvh9NepW1Bl3hoak4F9QqQCnbNb5jFTw9GYIsRBa\nAg9r\r\n=ahUa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBqj05Wxyld49aQ7NQlTnIsQoihCkVU8RG0uQCnXK1FKAiEAxQajhxnvhmqOso/A7AcVk2/wlVZsspCZUoCytzOeIaE="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.0.0-0_1595792335869_0.6689570399805806"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.11.0":{"name":"buttercup","version":"4.11.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"041489c62f56ea8247dac856bacf77d03f99c985","_id":"buttercup@4.11.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-/K9JZR6LOBjlMVLgdWP3btGpXSw6Q2/XksrlibSpGsH1vu59yIEJNuJd43NXREqE2IM4OyjltDW105W09uPUbQ==","shasum":"63f6f4b1453f524cb4aeb4109748bce07f115e1a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.11.0.tgz","fileCount":90,"unpackedSize":1082523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIBHYCRA9TVsSAnZWagAAkNQP/3Jbeehhx0qhB9CTZzCr\n3f2Hxkl+NNzrfodHQHJy4eVY1GXj2+emAtxMRAa/gOYo3Ffvc9uBRT5k7ifE\n/wgLiMDfkJGkrdnshZyzwngvZS8UkHM12IoiD6czj9T089bt2z8NyIWyGCtU\n80RLR67eX7eA0w4iKCxuxRklJsrhCeC31GErNKui4P1i/o9mP5HTHrOW7Wpj\n6V33/JknWxas+wMUkr77I2cNeBuBSEExcJSag1Dj3hAEAoBDvi6x/vmz2NqN\no3k2FRr8QOrWvVt9DgMaykkAD09423VffH5M4Em7efp8RC9EgMA2Y5HP/Pkv\nFMorPuz5pMPcjsS01Rbn744m0Hi9i7vDISWYMiUdjiYd43AAV1GXngiCXsyl\nPlvMBKxtErohxbizLEC1bteeKjd6Ahmi622RIJ6kv3IYX3bUY7Laj9/2YkA2\n6BdLXPvsJFAYQpfT4+mHYBnwuQHdR7pc37ENLjzl4fQ9UpvGLav82y6v32U+\nvMTfRgnK+rJpKy52ZT0tkrrvFpErZe7Vi9LuNu2aResz865kIFxuOBrjgqfM\nXz6OGLH+iq15npOjyZSusxDHoE78wo6ejb1aATNaeqjtfFE6kVr/hTFlwRJg\nT2Anu6Cv+Tyo3Eqxcd1J/GK+m/VeEqJGq2oN9g16HA3711h3aQq4XOECTM9z\nl2Ct\r\n=xwMr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICU9fpjOcVFj7W1L58BJgrG05O7nJb5it+tFSb8eu2+/AiAB84WGSQP3t9KI0R45E1YLkWISV4ZShi8ks/Q5V6AIEQ=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.11.0_1595937239949_0.8001815437658668"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.11.1":{"name":"buttercup","version":"4.11.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.8.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"a8010458f663e48b8711451bf417620fadcb6805","_id":"buttercup@4.11.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-GmCi6xwWhkG3UfWOhEJz5gLPKzfKHAXI82j2hx6gsGPG4E7TRCtpdCthAKdtrm2YCyeQtte05o49Gxtf0FVMrg==","shasum":"b0e9e241ca29292035309eb7dbfbcf145ed2a07f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.11.1.tgz","fileCount":90,"unpackedSize":1082965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIBmnCRA9TVsSAnZWagAAG+kQAIUG8il8uON8r/qPmXZa\nY/60dPjfFii9aqgteW4ijUzWUWqWwJsHhOd4mWZfyxMaP+hhv8QlpwZSvjqh\n0SI8fJrISxOMc+253Z6KlK+dfuhynSvjj3DFrplbPekB5c74rBNH63CBDcsK\nniqe8GIsvlHcoWWsnp8zkdB2OToJpaBeNvzPWNIlu0BtbJtzl2YJStoxyaNI\nF77MAczL8mlbDlIQE5w+hKIWBsJRYjPGBJ8q1EAyWnyhSypvNDr//C3Gmz4i\nGIcLRWM4e+a6HCG4g3vdcrnUNhTrmAcdI/0iliAWHJQK2qni0eQl2jU6nBra\nYtTuBKjMr10ZS470Z2UUoGynGpjcLgO1Ziqd+GgKMF2y1HmKSgLRIERw8iBJ\n66MKf2BRi7H8R69DeckCfstw65XQEgr2JhKMLpieqdQ4oelWgNnIW7V28TK5\nq8i8LSw2HlWzGR1C3mNdkBbav6saeMfy0PRPNwrUy/M7zPwqhZYbjYRlZ5T9\npXXN5fD4KejbxQC/hCPWuv2pDvWoLlwkrYaC+Fityw8kTzwooBfpgwzD1dh+\n2a7RVn0utrLzuSqtvxlUWFEpOvucNIUyhSrOFED404EBI05b34nxkm+puNx1\n2IwDkEFwCFBTKoUhWYqCxJ/0Mi2dPyomAf/UnBeiWTKBMZG3qGNmx/xSwziF\nWPWc\r\n=NZSs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEsiZIThwDYguhb2F5DzIU293aRFC5P3iWliSP5wXyPBAiEAv5pJAf0hzbhpJajKWBNGtN5jt2lwkBmcTmtTC0ZXK74="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.11.1_1595939238645_0.8959292211145955"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.12.0":{"name":"buttercup","version":"4.12.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"8c906df9183ce803cd56af8a39854b5486742824","_id":"buttercup@4.12.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-dozHEE/z082NBg5W7o0X6LRzFQhEhYgrLPSuVSGlrBv89dGdP76bHsNDqRk+iFb10ArVXwzXZ/2Nt5Tw8mzukQ==","shasum":"2f315c92f94fa03dd39c546ff51c14be7c5b95ae","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.12.0.tgz","fileCount":91,"unpackedSize":1095282,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJcWtCRA9TVsSAnZWagAAPzkP/1WTMY4qDVnP1ll60Ov/\nkZ12lBTW0C0/HLZEbA+EvxjLkJdLRLCnPNMk6+j+M3jQpt+z6RY6fDxoyZH6\ncJEFKN4/tmTUP7L7vH3sCOimm9KCQKp5h2tf4fyhSCoofGWtjAukSm21AegB\nSPMbFI8V+rKvDfZA4MjoDmRiRs3qODtaxLUAXu6tq3i3ar6MXwyVybC7M8Lx\nm1jvjSINl2GUUUXZzS97nwhC9PK5l766gKa2D6gt3cFQ3utKCSXtxkyYhyLq\nIgwn1TOBuq6WgPFS/xur2favZLiGxC9UiA7k1eqQNhkEy+pjg1EXrYkR7hp9\n1VaBK5LQkI5OHKrI6RGqWEHQnne8RW7TfpV1qB4gD6cakscafCMPhkYZN/ir\n/c1S7m/0G551uhh6q1NtbiTBFvMqSPMz1uzeW8h/rnQDKLrLYAGqZmLoU+0U\nZQUuwl6Dxui9ODyi1HRtc2+k/vMIvwYTZJRTLEjQU9xvwRiPu/ol47rHCTfP\nwjWKQ3z9TZ7Vq3iYvEbuHbzJI73+XoyV72eXrh2gSpsGQx2sNli9empMW7EI\nfKYdbjzw4nDp2IrUiLhIwnowouG2gt3aTUqh3x43hP+AY+2lfchlT+BFYCGW\n6bDjATEToN5jtDG+EoH+x97jmnAABrmsn6R7F48W86nlnGnK1pqXOzgwzK6i\nhuwt\r\n=yzN7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC85GRSxcyjIXpl6rA91CadhOmJHUZexSi9lJYXEsuV8gIhAMEOmmB770Q5e/tmS6z7k/RzQLNsutuiti8G/LunX1Wc"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.12.0_1596310956666_0.5353974001567317"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.13.0":{"name":"buttercup","version":"4.13.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"7678196e9dbf593a2947dd184bf95e1797bfa037","_id":"buttercup@4.13.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-gkHmn6WmSBs7ks8P/MszBWa8aSOeqvM/6Y1zIad7t2dISPeQGCMW1xcHJb+Ss4vM1GaYL96jIfp7lL24X5DsvQ==","shasum":"e726008f128f76136f93ca431ef982e5df80a5ba","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.13.0.tgz","fileCount":91,"unpackedSize":1095474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJqr0CRA9TVsSAnZWagAAxMUP/1lAx700zUJqdwenS5Ic\nOasOPTwbwSjpjMLQRwWsOTCmGZtnfGPJ4WkiFtWz41ht4o4d2snqeoAqQpbV\nnDE1LDdTeZKxD2DbL9nVkp+3PTB6vbG0iumjp3siuu94Sw1Zyn/USrG0tUzY\ncKRNYtHsZMdxbfDQREZnAq5YB+MNiTEOkqNkoxMTuLlUfHQRb01FRSd9wI//\n62VrDw4ZbGOCunfYC0OdG3VD0KB0KV7bT81svSrBJWhDSWwtPCTYXNaz4FKz\nBBzi+SwAPufCb/jw+kvBxIHwtjw+w1HtV8UXDbvZ4El9UTZ7ZghA3bji1W6R\nI9arZrRlNM5KSE8j9IdNQg7o+sf3C9zRFodpb7/r2VdXIQ4Va3uQVeMUGgo8\n7wTmWfVT2OFHnZdCP0EPqcLKcFYbFoyvJR+9RmfZ3l8prfjARGaJ3Z1FUvtQ\nAEzT2b9aDUWQu85Mro7lvVpvhNtrb4wvXY3Vh2WcYOeTxSsKN+tzVkrCvpKF\nzDXORgQ1fxcncUN9Z4Dv15sBessHgcUMZVUnaK0tXRU/TLyY6P1mApIrPgfL\n92gMf90D+pZ2uzhnoBa0nm8xdFKPtSkWiYJ8rfORThTMDwlxRFaHsw7vyWJx\nze/5TwYhadVkF4HvzVj3TS1A7NxQAPocaHefNtBSKtfhLXXRQNkuM61zeVM1\nGVAk\r\n=hzUi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCZg12v71PZNOuwvxvBIuJcVEAhjsas2dLMUnY1WVaFQIhAO7lZBjW5IFIDZQ/IEeVFdzUvCGWpjGb6KUNDn5jqR2W"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.13.0_1596369651788_0.5716074308545165"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.0.0-1":{"name":"buttercup","version":"5.0.0-1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in our own [**My Buttercup**](https://my.buttercup.pw) hosted service. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * [My Buttercup](https://my.buttercup.pw)\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n_NB: `@buttercup/app-env` was previously required (on version 3.x), but is not required for core version 4. Please uninstall this dependency, along with `@buttercup/facades`, `@buttercup/credentials`, `@buttercup/datasources` and `@buttercup/signing` if you have them installed. These dependencies are included within Buttercup core version 4._\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\n_Buttercup core supports Node version 12 and up. Most features may work on Node 10, but it is not officially supported._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without affect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 10 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"60bfbf40d5f00a21a11155e775c75c340512fd75","_id":"buttercup@5.0.0-1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-TR5XOhhChEGA5ZneIpVurkjG8BiCfnTutOryI15snGqsAAeBrWAfNgasAWTube8WNKa/z/OY1eM81HXnRMU6Jw==","shasum":"630522969e3198acf3cc041298ffc2115dce299a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.0.0-1.tgz","fileCount":254,"unpackedSize":1203169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPBGJCRA9TVsSAnZWagAAn1MP/inpG8jMyz2T4MIOkHrk\n74MXic0s8MyZgtZq1rA2vk8Mqubi15kyoIDb/qdD5nnYahoLwO8W1N8BHQ3u\n2BleipPHB9fLuBwD32bJs6NzIPfEm6pWtwAyozVRyywT9kbcAeIlu4gh/y+O\ny7QP16CKX2KGUeonZMlQKihS7NzknNKSi1i5ZXlBiBm9VQgFSUUjegfbAmwh\n8blaShrpuO4kqRTsVlUL/CxjLlRIrjxZJelUbn7FAmtXqclhPK605yimIBhC\n4nLiq9UPLtJ25ajEr+PSGheEhSGx4SzMfqwlDD3Ef1Rz3eXjdxV6OyJXBDiC\nWM+aC4C75Su1x1ebGUf28q8vpN4Mw+FfjRFEl6nkQfN4DN6BiVj/ONHLFOJh\nSI4/socmQQmMHuBgAqLlHOofWvJt1Y2LvZbaUAlOnvtEWd2hdvDKCs1VvZye\nunKr8lvaaroXtnPxWiHUkBWoAu/+0V+rWju1CYW1WEGXLwukFUMTkvroMII+\nRma18OYb7PTkJBFBQBzGPZuI4FVp+n7zr0aZFaAwLdCkR7rZcwCiRc7p0AEF\nuwoV9a/0RNTZAn71k1pQ5W5Phs8VV90iACP0cQ2dbbxmb0gfOf8Pss5tD2tP\nPqbtBZo2defzlDFlXEtmP9RkAmYvHOEsc+2S44HrbrB7wNZsZ5Vf+moXuxrs\n0cM5\r\n=3l3t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCs/Wv4odRG9Jqgn3tyApQpBQLGuFF8f28BidNNiTPKNwIgIsJld7zvnTIr197z01MpV9oxhJbgOyiXAouLRG1d7sg="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.0.0-1_1597772168711_0.4078240125009356"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"4.13.1":{"name":"buttercup","version":"4.13.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web build:types","build:node":"babel source --out-dir dist --minified --delete-dir-on-start --verbose","build:node:test":"babel source --out-dir dist --delete-dir-on-start --verbose","build:types":"./scripts/generate_dts.sh","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"babel source --out-dir dist --verbose --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/generate_test_vault.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node:test && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node:test && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node:test && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","gzip-js":"^0.3.2","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^2.5.2","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"2633f1e69d14c0c0bceefc59cde5b08308835bd4","_id":"buttercup@4.13.1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-s3RQSJ6/qR8mHw2UV7xVZpLEpVfInPHt30ed4hN0juzgWO5tvULw5PWouR9c3igSrpWfknwrwl7QW8MeIxAbgg==","shasum":"7ccb3ce4f6c7fc7b213a3bc8fbe9440c1ff8fcd4","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-4.13.1.tgz","fileCount":91,"unpackedSize":1094894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPUA0CRA9TVsSAnZWagAA/KYP/RnTAFh2fDetAU6sHU6/\nfoAQVU9BxFhAq2YlBGuWsgfRo4wZaCt69H6VmIkeOX90132u0UPuJt/4gz6h\n/EbuXWuZg32Zky3vIHJryawipYmXqPL09nbyVgOkfACqjS+lRY+ymvBQ/yR3\nPqcfrqPBCbXC1SYcp6kW0KlNMG7fKXuzvbkVXcD7zuabQxpo1vEMe2TvKDTR\nt9cRjsWQjW1B2q8Q8UpKbYDZv9vuyrGnVvVmi5Tj+zLx/2iiGf3y3n9I+dE5\ntW6Tu1yr7vlo4f/adnohNHHhSktaplXeLXGY4dVdz38LIdcBY3HL05H2GcCI\nK2joXi6pNGVSFSkV5vYyB4HETvWKsGTRNf/LyhuOg0S7mD1e5qwlrT0EOdj9\nEgVq/1lPHdQkR8e0oCEQdJrX7qs3o2XweSd8H0dIvWIjQL+ofyP1zVycImoH\nHZoWD7V615loHYCmvFVOm00QklJnIp7XrIcjgA4UIAJVtFzm4JpTkGyf0Wbf\nb3gYsSshaINMiVNeMfzXIu98UMXrGsUfe0orPE2J9zqnAZ1ZngUk0V8LqlIf\nk7fKNmXyTLvPf9dnitdBo5AvNMphComdBmIKnXWuFG1p7+cH7OaFR75jefgo\nw7w1DmIGifVGQzvMcdAXQCuVoLTxuTVbuDNkOAqE+Q7ysCc/ryhL+TP89XJA\nw84M\r\n=Y7bE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEZvQZ0jHUxJfjMlHkOHXUIHxJoBR4KCwH3P1dwaCFfUAiEA22POmICquHQF1uvgptpKKMNquvV0fAxME9N+X9Oqtmw="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_4.13.1_1597849652438_0.06572755728604673"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.0.0-2":{"name":"buttercup","version":"5.0.0-2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in our own [**My Buttercup**](https://my.buttercup.pw) hosted service. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * [My Buttercup](https://my.buttercup.pw)\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n_NB: `@buttercup/app-env` was previously required (on version 3.x), but is not required for core version 4. Please uninstall this dependency, along with `@buttercup/facades`, `@buttercup/credentials`, `@buttercup/datasources` and `@buttercup/signing` if you have them installed. These dependencies are included within Buttercup core version 4._\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\n_Buttercup core supports Node version 12 and up. Most features may work on Node 10, but it is not officially supported._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without affect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 10 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"c8f7c9bcc86f966b35989f507173b26ead1039f8","_id":"buttercup@5.0.0-2","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-wlm9Mt4F4ZnHp2E9EVzmGkIlOiVetbL6Cb38/n2lITYiB4iCJx61ExdrZ08HF3SBoYaBN9RsQBsHoJHjcrX7qA==","shasum":"be592d68a229f1bfa1f8026d4e83aac6ec2beb70","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.0.0-2.tgz","fileCount":254,"unpackedSize":1208616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQWPlCRA9TVsSAnZWagAA1V0P/2IYEX7YNEZYNhtDctxz\nGuEHMZCSYzx5gtqgw15W5ABTRsPSFA6j/CeclMikKhydBExBPf18lZftVW/P\nril2GZjhoRaZ45POSDnH31hEF6GwxMA+n8SvoPUOS+OK8lWjxL6kCxRyFsh2\nA5fhwJYM5NEfbP0YmPLmQ4Yc5AyBxWXYWZ6lJ0UdBW4bvrB31P1JEgC9bFWt\nGO0iYzmXqurMa+Mbz0ltOIcmfUWa8bJoSZZoJARI+Aju3QnMSYpHqNTGRkQx\nQXkHSbpllinB0sZm4Tw1r0BbvRWEHsIc/39f7Xdo8mkOz/C43AW3KCDdo9oy\nf/oM5aHBx3CfNYpPt1Ajmd7rBdGZkEdZlEOslCUBj2tjhs2t/4ZR2baZ5lC+\nyPWIalxrjOvX0RF1q/qFrFBUGeVle39QNzDYzp8zky5DRE7nBsZ3kukwa1GZ\ntfJy7Dc/tdsSHI205u7MaNiy6XMkZ7ZjpyBGzJqXoCX7fgIz2Ah60vy8y5Rs\nN48SdNoYFGKcqnGxS/mgl6tivBfXv09NGOf3kTnAWcSy67b8002ohVs8hAU3\nvTgq0Nnu+4nkK6+XlIf6ZjZCsJoEH6KoeNBz3hi5faJ3GvtZSopGgx3iNxV0\nNtSNWQCTYfwMSVNFkfEcfMleDa+5qr9unCup2zQEJLsvp7NqJdS2A/nVAHQf\niCgo\r\n=PX1m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGuKFdjoTZre6bomz8SGN1U6JeV7baQJ6uaW94htpbmAiBHREkfJpTaRyM3pO9k1Wk7ceXar0kPfQvk2vTKHzQ5/A=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.0.0-2_1598120933256_0.6205490547615584"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.0.0-3":{"name":"buttercup","version":"5.0.0-3","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://www.npmjs.com/package/buttercup) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in our own [**My Buttercup**](https://my.buttercup.pw) hosted service. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * [My Buttercup](https://my.buttercup.pw)\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nYou may want to read the [API documentation](https://github.com/buttercup/buttercup-core/blob/master/API.md) and [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md). Please read our [guide to contributing](https://github.com/buttercup/buttercup-core/blob/master/CONTRIBUTING.md) before creating any issues or pull requests.\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\n_NB: `@buttercup/app-env` was previously required (on version 3.x), but is not required for core version 4. Please uninstall this dependency, along with `@buttercup/facades`, `@buttercup/credentials`, `@buttercup/datasources` and `@buttercup/signing` if you have them installed. These dependencies are included within Buttercup core version 4._\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\n_Buttercup core supports Node version 12 and up. Most features may work on Node 10, but it is not officially supported._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without affect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 10 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"08e9d3a6842ebf9af381994e748b2c28c5f15dca","_id":"buttercup@5.0.0-3","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ix6lDF0ZBLVFDhcb2RGMvFy5cBdlheBkgNIW6CoqDN5Ycdxfy5CaME+1yB+HLYQV81SbKlpQQ4VRLlFj3APqkQ==","shasum":"505099b410e00144c03fc6a157559ebe87595b0d","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.0.0-3.tgz","fileCount":254,"unpackedSize":1208560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQYmiCRA9TVsSAnZWagAA6rUP/Aoq0fBOBDYp94yJTTek\n45KJfZGiO4MUhm5hSGqKpXA0hMgrNeMTyXttzTiIIk0akECXpoOBsC9ItHxu\nyJxIzVOe6Hk2G36Z0Ijy+rnZ2MsFIOwXI5epYFZu2qZxOsND8IAXnEif486d\nL+ajjVr33svblM+vFShYXFzpo6OPVk7WKY5JTL6beNOJ2zghRi/HOcqLQK/d\nCyvUnscLvYykDcleNZKYsrrrTUsLWM2InyTlx6s9rxE8FY119bi85hHo7LcW\ntF5Q617ks7DLnPlI1i3KaB0m7lOhKHINHdcY0aDXVRovILLQSR9NF7heWDbT\nB4vmH8C9cH0YNltXftcsnTYYTzuWfvi5FOhL9S1X5SpsdJC8WdaIoZfobz2t\nUTZ3d/SrgWQK8bEP932vpOFNlVmwRXMnvPr7A0VFuZ+7plBOrFHMN5tJkj0l\nTORxxyn859GmcpHPbhQq3MTjsYl6XqFt5+D8FpoE+owa+x/PCuiVWR27E8wi\ndSU2r5iFZ3/BoxlzGFfjSiRMAsCaTVxzdtTmEeR/pLnF1Qaf42nRfaXBiuGH\n/QB4O4PpUfoui79+eTEf7lovktX29L2Ad5wcLyMxM1eNf5N7A2qxkDUM9ogD\nS79zjbP14+HIycGZghugyIxRf2yqD5Vx9q4kMfGKJXDQ+Zz3e6FsXSEeoZ81\n7v3s\r\n=eAGU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIElCugGPvfYSTJ5EFbNUXMmwo0YBFF/KTZTrD3UO2ub6AiEAmPsKl0cARLGeXnMDYPjXyLoXWCZvQpIkF1I8MlvjilE="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.0.0-3_1598130593498_0.4779784604019772"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.0.0":{"name":"buttercup","version":"5.0.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"f9a6d7615544abcf61b30050159e23da29a61af2","_id":"buttercup@5.0.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-+0HZ6Pgw1RImZmR2nj4Xbso6pYUbjXYvzlGKn5E0W5A3WtBpPaYzXeOsKQ1pGPh7SXQN/9q4gm/X/X+uG6tNMA==","shasum":"578fed64488bfb429d30438553791b5b22694736","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.0.0.tgz","fileCount":252,"unpackedSize":1040022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRB6lCRA9TVsSAnZWagAAXEIP/jPFDqM80vg68VSbjeFt\n4b+5Zz13Po0/HC+5DLh2O/hD3LuBmF0kSmJATnEzBVJuJc/rcMFF6Jt9nD1h\nQ6d1qiM7QgSWdhzU/dbmktCBPX62qHuQDH7y+0MCrnG7p0MRablTqeAYi5t9\nfBl0rgXRvCHBoorYRCCjgd9dK5dznRp/ZmXE1esJUyddGoH5i/dOFP//Usfp\n0zax7b1xj2qL9/semu5pTu+IZ0SDDmzObmHkqhYlViU8h2VxAHkxmSuDqysa\ncH+VhZag55rnHesobrtHpF6ZJ3UqY/653dDYIIJC3Ys0BjmZ/DLw/81c+eMa\nOrUkZqqIoufoEW9cwTKJycH5fDVN7imxje11TV87qUjeV68CRGR9nlHrwjLO\npihz6io9D9DCoeQVg7MPjw0Gi2Er+PfaXKSlee1MWhU7ggUflXcsgHgpOWdZ\nCsbLzmcmIOKscOAxKcrWXtgTp6p40uiUTsmwcO0DbaDk0BewbHD112s2QvTZ\nrVQxc5UZLBcPzXuLHmM8UULhfN89MRIIKoaLvGS70UMMyPMN1RP5k4DXdWou\nYc9pKhUP02i7fdiOXrrpTEmmXs8ToQXptKNErispXqhh0wu5VFl0PDlKk9iR\nylC/2hVPjdT+6i0Uxx1k2XGK01MusKmfByPH0Gn112+PF1EY9nfDTzx2cLVv\nFfsY\r\n=qMIo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhLimPzZtG3ohYPJYZGC10o4uYTlrO40u00KRWvK+uvQIgDOYgeTJeRj9PtJC1GpwQTLnsIDSUmznO5wDfeNyAk4Y="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.0.0_1598299812478_0.09379010830750034"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.0.1":{"name":"buttercup","version":"5.0.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","verror":"^1.10.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"c8091bdee239fc01ed1c0c3c993238721c572f5e","_id":"buttercup@5.0.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-RrxdI3hGrowJRU8pUIoc9iCYEy+O7Zi5zzQTC1SxOBTQP0FvITFtfIdWAYPZC7yiz5gxwwTFJhtSUsLcg8NOUw==","shasum":"51297792a09f6d7d04e53bdf4ffcdd43e8b0203a","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.0.1.tgz","fileCount":252,"unpackedSize":1039876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRpzzCRA9TVsSAnZWagAAIuwP/2pH2YfJJSTRqG0tryd8\nZIroEqUGo62OkbXGkh/CEfJg8RXNKE5k4ZTxhCRyK8LgNixKB9FoGSiSgj5F\nnHe34J1NlaiGFzMAqtQYwqRS0ulB7/SB93vdD1kX6K8wGX2mdjKxLg925uP0\nu6VHiixgfATDAGMypF2yL0p4LhCwS7xkLOOBwj8XbnHeuD7Zkr/fwRz5XRPq\nDF5yQRyS7dRGmaB9o+VTZ4pJLLo31ChLERj6BTgg9bUAEdqWQFWoA4Zw/38D\nJXf+1SML2EGZ0wweqeKpeDS8jilxMogDoIZjzs/xAzxZgw/TBxCzQ4OU/ouh\nrrXvMqsybXdiPQPegKYVo837lwpSM9kQPE+S2bqGPguzLZvaTB8u49feRdxI\nIWTTo/N5HA9fgbmUVGGEL3wzoNPFKy5zH1/A4FV/6wixqVfIlicEJx+2WtzE\ntLhQn1IczZdX/I+lm/2Vgzmwp/jPKzvgM6GBoBG61MRMaOvK4HmqvqADhT8p\nyNEXK2tXJY4GXCV5pXOIy4RNxp2f5vRejNOIAeX9LmXvHRyCHuagydeWhdS8\nGJVm8IO5fbXo0rBL4C8deZfblJMLlz6wi+QzIYCpv+b1Wk7jOaCS8X4Ld+R/\nAyY9fwRgQd6f0PtF+T8P18tuRIp0+dt167zvtBsoJgH1VJ0J8upMsUgg1D2D\n1NJq\r\n=Cq8H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMw+LK2KDYxuZn5M9Q7rNxVEgodq/GSMaOYv5uV6i8eAiEAn2NhPNLqVzqUwZC/Z2AmW3gRxz5ZrW1LqEGsJoBd2wE="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.0.1_1598463219087_0.3485346109420695"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.1.0":{"name":"buttercup","version":"5.1.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.4.0","@buttercup/googledrive-client":"^0.8.0","cowl":"^0.9.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"03a320cc2fca6a8ecb8cd3edcd4e689a654963ed","_id":"buttercup@5.1.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-rSFotKhYtauSc5q6j1f6fxO86+u6Et+J+g6NSJwtqjWNdkB1qndU9Jaaw6L+v+TKldynVaTsr2HlAjf/tg/ZSw==","shasum":"373dc0c274a2dc3060f5d691bd45f68d17fdd3fb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.1.0.tgz","fileCount":252,"unpackedSize":1042675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSlLCCRA9TVsSAnZWagAAPrgQAIQHvkS2YJSHVJ0GkjkS\n6MxawxEri1KSG+sEJugmboYHPRYFB2rFYRdV28tuR5Fa0N9SDe2q6BY8cbed\no9jx/q7pYvnnm+cVxWUdsSx/qqylHnorDVqCcxKdmMQEIDfbE+0jhaEBxM/T\nDEj/yw0eMDMdGkAgkM52r0NhgIQsxgrk7mNZdEmSBsmV4YEObuGrWD3R0TCJ\nQqefpuIISVzzgzf4YcvHwFF8eEN1k+5HFPnnDTCKFEjc2/ji03Dt0AmiD6VD\nwvemTfVk8rLIeR0wCzlRk7nErlxWuHKCYEVygQM8n8lTn1UP8iINpcdIE4w6\nxr3saU1xcnUUPQ670WQ36qX/u2PnvoZafKQfXfDwmod/dI++MT02gNRCWDR9\nkkMK+ixmCGHS8CPxLtBO5o2TRrFsLB8nJHnXjvLG0/LESdjkC5ufrS29BkDh\nguezIZHMLOzMfp52mlGqfnVPmYAI3n88kwXsAeAlh3s1UwdI+IP/2zT9xTeH\n5TdibUGQBR5WQqiMMuXTbC/mR+x8mH1wFGQuQHqWB4jnYmTHx7uUqVkRsD7c\nS5IjCnz854nvYcJ6obK2GUaFcdk2/HYDuCY5/HW2RKgKU4qfGUPA2nFLm7Hw\ntklavyqw3RsuuHMgtQSfxJnCHBi+eTgH4Hn945BhZxvWoXfQ3RROb/rdS5ut\nFDlN\r\n=URO7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUuhrxvS+Y51slHh8WRQNqC/V8nGsA+ZdQdjh2aYtbPAIgbE5AHKB4cq8kRpWPIR9xLdZrQu+1Ut+8XfCRjl0xENM="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.1.0_1598706370326_0.28363722754368426"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.2.0":{"name":"buttercup","version":"5.2.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.1.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"7c3876f2cb7734c2610f6ad7b74c035ff09432d4","_id":"buttercup@5.2.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-UxwxJ9J2fbpZWuau6VTYrY6W2WeNB9LXo7IuCRkrsXSipX4XoinUBOql4pu4Uu0el8b4HMiflE6SgtL7IaTROg==","shasum":"4a8deb123d08decf7e2a17c4a0c49e32d23569bf","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.2.0.tgz","fileCount":252,"unpackedSize":982814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfS2xiCRA9TVsSAnZWagAA0UMP/RuN95TgKfsQP2eTazc/\n7Pptdhl3MdH8ml9dOQX5ptZpA6GwmSWUlt4lNRBDqfyvUF/2CQnevID7EFQw\nGPTBeZF2SnK63/4PJaewBxK6jhiEgtqjk17gfzG5HvLzqlMrrhUDMQTOoEBU\n6d2AG209Kt3oOIJHHOBxSgObCdOcJjZNBp2FvDqnX8jd+upVJ9P1mVO4T0Tp\nmBwTVUOQJkvWoP8mMIJj/iGIEWpCslMdb1s94ln8NdtjoalRTu1Nfrw8vIrt\nN4fIVAVj9QsW3imzd4j54yTiLiFInqDRz2j24+IKOJ9GJrBSEJpua3LJdxKv\nNDQsU+cLDd89j/yJFYiuGZu1ROExvT5yQSDhvZeXf8NCJviLj63sBZBSbajo\nCtPiJKZqn1vdKyuOnSj4IA1YCNZKp1zpGPOOEOuFY6gjasIPWdGm5uYTeMUn\nqL1DJ+ImLjhKeitjyvRxIdztyGVZ3e5Su2bYSVch+Zj79snzsCPMrjGxNLll\n0TJl7rUV1WqR7wc9H0UvQpqY/W6nyDiuoCHA7jT4KVVKRxGUxzLODhpE4kMX\n+dQdMKG0fKEu9OxMR+AkTE+PtPdwFhKg3uVTDkyJTxmBomTH16NYAW0ADCp3\nm1ilkrafo039nc6/svymhuaR6vrPCLKm4+ndLy6UsWWF7DxrUiMwj3aU5Urv\nVhbE\r\n=t8E0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGhYV4utX/LAbcBDzG9nPfHDxc8ErBI6qsLGZ37HFdSiAiB9K8xQ2ivdWiHNikl7HLQ9Lm7Kjae6YakiYvq2ZafEEw=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.2.0_1598778465885_0.6600615494135729"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.2.1":{"name":"buttercup","version":"5.2.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.1.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"1c5d64e5d3b12049b3402d21465612ee65f0a1fd","_id":"buttercup@5.2.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Lggz4/h+qEz45gW8wvEZBLPdB27K5iVA7eA8tcQJwB8djGKL7Olkb11aRF1HtoPCOlXF3hB7c0NwikVv0K8zbg==","shasum":"87bc8633e43da0b28daee010f94ffd659f172242","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.2.1.tgz","fileCount":252,"unpackedSize":982739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfS73tCRA9TVsSAnZWagAAD4wP/0337SuVfcDFyFF6fYBk\nIjumqFpnnhKTm0ArRnWKI7St+cILDL9kLNdoY26S85PR//BLPHTOgUB3nghI\nzNUctosA3YttSEGwVrIOM4nGsaPzoWtGv7izzZlblFu1PkfTDOvXBYee27IP\nv70OUrZw7jWxQbKf/zVcvADyPBRYK/8QjfiXT877pCg2c/Z3FbPKt/9Z6d+U\n6mpfFNLB+nFYwvJADAD8H8UAd0/EiGJBtuMsIlPxURSKe3WztWy5N6QlVYbs\njUI4DefnqU+LGgrS329YR54BWdDhUqpMTHIFHWGoIYFJvvTjUNN0YWfVChfd\nY9SB1z7BxZO2j6pu51mxsoPs+pVh6MMMB41dzl5ooqxPkpVQOt8IOX6yy7k1\n1/H+eWDqSDIl0SEaUx/8P6wYyzAN8IuVInYzoQebTeo/bH3do/NXp5suXxwa\ngW6YhmQzd4cYgQ4hx3ow9ewMC+qi+Q+zODQ0WlIigIPKHt5MPQ1dLWhFcY3j\n8e/3Y/D5fiNUJRzzO1tX9t3Sw1P1I09UtROEeK3xYljoiTSPaVWgjya2sHe2\nmxz6yvzxs8gR6m0hASeTO3LIZiy6AEmLm404j1PA4xdscu4lkixQChLcKYD1\nTMzPrLi/VLZ8RX4y28aLCFm8jMu8sUpMxJFkPqDs5J77uvwAORyMgXi+eQ/G\nz4Jr\r\n=3XNB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIECeMDiGtVy33ilbjBlV4LZ8U9u6GhkRMEHvToMAqsqFAiB7ZhoCGEXZO81HqyDdnLl2ITpd/cIIaHAJJs7Ycc0MDw=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.2.1_1598799340576_0.5599691125721291"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.3.0-0":{"name":"buttercup","version":"5.3.0-0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.1.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.0","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in our own [**My Buttercup**](https://my.buttercup.pw) hosted service. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * [My Buttercup](https://my.buttercup.pw)\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\n_Buttercup core supports Node version 12 and up. Most features may work on Node 10, but it is not officially supported._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"e2de978b55d9740357a1289c6ecfa490dc7bd428","_id":"buttercup@5.3.0-0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-MYRsbMlvjDuS1hHFYJVZ9SeOTLx+PzKbxDSNaAgp9GPB7yqYiCgSZToOiIx9GEgzfdeuupFRGnV0VefCzz4uyA==","shasum":"d9635d041ca7c802caafa6612b22e0da10253229","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.3.0-0.tgz","fileCount":252,"unpackedSize":980903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUTvqCRA9TVsSAnZWagAAlCgQAJzNFIq0ZNW2smqP3QdK\nkpTX8zbNwoYoYDxbxlepZEWKHX8yoPcZHf+ckN93QdRvjuB6aOgKaOwHa0Tq\n+proTc//o3Y5syZI3ghDSv2lJcE8PrQt9wRf+aHHpSqUAYtzMseOOsRGweRH\nHl1v/6Edu8x+KyA4thxIEHh6YdKbPpvAgUKeiLKDZQg9juPdVDkqhAp0pQN9\nbh6jyBWsxE8skHfU5pTS8z9BETN1/o0yL8864rGNwbP7XBvWFha56cI/pt/V\nPvujWMn56nVsW08ZmTViJPDvtCsNMDu4cmIUsryZg88JtWJc8F6Q5B+o9ufi\nCXCbBmtxEJLyUTmofcaFbsRL5JNhBC0FCPutjoMZVVJYDrUSiFowu59rU+jD\nr8rR+DYJ0vC8GBvVYefE9H2x6vlA8IUN/Xer96JlGsGu4rF/Tyvf2nLgM22W\nLnUQAFQr5uc+34HgWEXucZPBtXW0HN3C2dNxKN6r40jZFvm4crzl7NHpDAve\njs0gYrM88t0EOgPqnhRXVu+q9Q3sJ3rVwdZa2U80B64KvG43SWKHu/r+GzN2\nTaT03xshPIcUVGUqM+PKAuAI9JtwXcRCr/PxxkE3gHPD21eL7IGbY/sdvjpo\nIothpubJ5KY3G/HuUCUg7oGx6OxwY5ruGtqGouaN5ROyPpxPJbrG8XjJddnx\nY75I\r\n=+HiQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSG5w5kndemx8u1RbxwTKSkemWFzbtzWkIHzxHhOKHCAiBD0f8hqWseteue5oNWAN7iFJbTgtuYynng/VjA4HfceA=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.3.0-0_1599159274096_0.7396692021955134"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.3.0-1":{"name":"buttercup","version":"5.3.0-1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.1.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n[![Build Status](https://travis-ci.org/buttercup/buttercup-core.svg?branch=master)](https://travis-ci.org/buttercup/buttercup-core)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in our own [**My Buttercup**](https://my.buttercup.pw) hosted service. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * [My Buttercup](https://my.buttercup.pw)\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\n_Buttercup core supports Node version 12 and up. Most features may work on Node 10, but it is not officially supported._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"be853e71bb7403ca787b17baae8fd467686f0c2b","_id":"buttercup@5.3.0-1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-HYpR8AlUTz2J/HOwHmnWZtv4w0l43HnLbwE53rdAYK5YS0DXqZphAxxw2UKkhI02DQYNTS6gvBqTt6E2WDAMew==","shasum":"70e69d0ef7b68389b5a559226e76a20edee570ba","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.3.0-1.tgz","fileCount":252,"unpackedSize":984742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUm6ICRA9TVsSAnZWagAAaDsP/RFBb782DEWcDFb8f7Cv\nUqx8jb1dWY6sLL8myentZMKdPQEfxLz9d9z5WOeB48zrgOwdpZKKQzVb0IA1\nXUbGWdCFHcyuyfs0PipE60o0U+yFB+kOfsL3PQerH+hUhJqrJjR8oWNnrOXs\niQqgtZ7WLw2dLrdttTEwnORSfyTgmKwIji6JZHvBRHx+kp39DGCJlbrVt4JM\ndA/bPFmvkGWLDMANS9DwbsK3EWXM+3OjFnHDcsGbYrIggRko6md9wZH6yBgh\neMjbL/RYFNnLS+QmmeGpJ750lVHeYVItufJToQuVA++5AwVPVYTBuUXNwsRL\nSMmMksLHXrVzJF0iE46WMtFKQj1BjSDdUwnEBlo+DrvgDifVu2AyezRrmnrv\nHDunwZw5FNEFEcpJ0iqgx1wwpcb5oMdOhTcGhJPI++7VC0d2Ri7z3fI3atCj\nbnicooRY0cBqhcZC7pzEohPkfbJDa21zxBMpB9dUhPHcovbBmQFmm7qykdWS\nccF1dQqByy25jUJ2ySg+vR/XJjbuWV17K6VIvGk1dpVscxjeR5w5wh35c5Eq\nTEjNr9qYAZRWvlYNzoUhjavOibCoy9RDS2VgsyQUHmU2JN5mS9E1VC4MivI9\nb1uHvObiTTsYSm9vGsPkSc4OYMUkcYyPTzs57ObWbloW2UhxRjlvaQIv3pbx\nDz1J\r\n=FY/R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqjvLqBa0MzQ4kkB4djkAUPTAoe4sk0DkuNDejQgeb8wIhAKbf+cpLL4td+i8W9V2yFY4WnzUIX4Yscs9qU6/G+KRq"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.3.0-1_1599237768025_0.6462314542652625"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.3.0":{"name":"buttercup","version":"5.3.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.1.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"fa96ccfbf1ccb7493463f30c5f8e615d891cf316","_id":"buttercup@5.3.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-EN1VzCg1asCWDjtlXejWviSG8Jorlw2Rar9CiMnYvI205lsWbZvCp9Sl44GFnvwLYyX167Lx4mjMXgc8mPcawA==","shasum":"0fc237cfa28ced063eeac66f823d23a2371e08fc","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.3.0.tgz","fileCount":252,"unpackedSize":984944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUndbCRA9TVsSAnZWagAArDsP/Rsu7xHa2L5t6bRE9S20\nIDZCkaB/u/WeiBBUN1lZmU1RB7WrwBEW0WitWGbSGKFgm1lRR4Vf/ObXe6Tb\nZXS9QEULqC3ZV38QiFHSLrKuVv0ThvsbWB3OYqBlNVKCJvT/hPSDcdCy9WOd\nMnd4Rp1SNLZTlLHVotbnHfhA6O7ahWKD5b3jowJxcmzBOgBqBWDPna8/JKdK\nFEPam8Mu951URDPkO1QDtU5efXIvokULajmtPkwUbd3AMPUxbEJRf41yLNyX\nCNjjNS1C4fg9A1DDpKlT+2TqZ2JkG8xnfrmfhcqbZ8Wss6PLQgUeQ3jp8E+q\ndx7BSCy2kBIUY5GqFLjh2jGKfuQlm5QQVvz+KbLWGXXgN0yYuagUmulsVesy\nEPd1f0KIBtU5ab9wdTDO1aIsVs/FPBkMPaS0b1A50RkPODj6/KIXsBb7Ga2I\nhftzFn/tWr3P6eSSVxNtSXS030mah6qkBOz2pSBvP65f/X5qz3fXcBazftuG\n0Et55SjZBtFvqnuhlkvE2fX9oSFaZpJOCjLjo1IKxXHyGokLV4Am0VeE5pEg\nVUgkf0TJnkH2yGW4ozB/+zvToS7Z+HHAS+gD6s6T5PpZl6bPypTIPtUEkBWM\nIk36urNefXwqEvlACJPEh4gMQG4/LZye1v1wt1y/YTQR1JBT6/NiynpBNUXI\n1vVb\r\n=2hsQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFo/THJJ1YHGTJfIKNgF6nZ5WlN7p7WfdDLjh2+vP3gAIhAMmAt9uO0AEc49OikYrqm4TDrYYl59goVtOYyIniwxEB"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.3.0_1599240026866_0.4829970065941438"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.3.1":{"name":"buttercup","version":"5.3.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.1.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"c6ea23f4d25ab04c3b0911ad110bb849c5b74d35","_id":"buttercup@5.3.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-wjSTezy6hdlu5SlBH/Imj+1CVYwaTz/5BpX/ik/FAre7rZXFzEslVkyqtPDzC7DhP6epBue/V8O1nmq6j167dw==","shasum":"53efeda741647d74e39ebcde4ff916a319988b81","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.3.1.tgz","fileCount":252,"unpackedSize":983321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUqAoCRA9TVsSAnZWagAAvDwP+gMQtKVYsm39LvIrjIzw\n3/6JqcN9frn0hD52Ewqts2RzG3QqJUP38dBuuawPWVucD58rUNSVjr1Uggdy\nqln1B2i3qL2TAzyeyz6IV9KixZnuCw+JbqpUc60pHz1ZpzxhpdoqmQ5PCG1k\n/qcfzPj1LtnDDoZ2i75c2tJm4t5HJSCnIqPoA253e1DIkR9e5HXrzN3Q9RGB\naN1kPj1Rygzaw4R5Cf+ef52rdpB15mBikXRoapiQ/y1eggCjEhk2FUrxjk7b\nuH/ERqsmECsCVx2A9ghHxQmAbyaU6jK/Bx2HYoMA0oAngfOJrTBtAUZ/6xEC\nZKplgU7PYcT+5TM3nrroVIZPuNCQF7nRlWS5dtoXKWaug4Lc+rOUF9RJQmZB\nTuykOzJgpqDIJD3gZc+Fx9s+LyOGiaFC4xrqXvLBtg2BfOPJT9wTU5Wrdrp+\nKc3CLfHqLhgrU50cB5YQ58P9sS6QfUbYreXI6geju6aAQcjH8AW3d5DHMQKZ\n2AA8JbXFZepw5Y38/i7LG0AKsAcVrcpQNagfMla5K+HBWrQ43z5a+o/HiTXY\nwjyLArOsoKg9/425EpR0/GeyfLp2jq9lt0VVsPpH6M/Ad5GxyUmronUBkHG8\ncUc2aCT4cEejfDj2cK87ccwCDvvPFSq09Iw8Vc8JFJv8r+3kyaTSwWAaXpdw\nE0Qb\r\n=SIq8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtnlmWmHuwTS2hV+1oowKhyYSHCf9ZNmcz7S+GvHy8jAiBEvrGMIdvBvFXFadTySbvCr0saolb4rySuN0x5nh5AqA=="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.3.1_1599250472257_0.6395593719229746"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.4.0":{"name":"buttercup","version":"5.4.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.1.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","js-base64":"^3.4.5","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"d62538f8aa9a175ca83b3a18ccf1d6bd4b0d7135","_id":"buttercup@5.4.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-fyzB4m2E2A4UPKu3RPSpO5GV6vdDkd86ZRyHZK2hYGB5tbfKwovwLujxnuPjd9LLezdfVCamUMIRiUnIl2Cp0A==","shasum":"d9ed1fdfee941c7eb14c0460003e006f1435927f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.4.0.tgz","fileCount":257,"unpackedSize":985350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfU/NeCRA9TVsSAnZWagAA3kIP/0j6vzRl97dsyIoUTQQg\nXQBoh7epuK8USrGXuQZA7op4C/nKH68vn+ylr7S5+PPNmLStVnGsUY2Pc7BD\nsD3H8HceRzmYqqBviHMN3itqe2fJhw65oSxjk4HrHi8bCo2L27OhFirG63dI\nCb2qjqSL+TxwJgrznb3zCNhlVSC2AirdBFMqXH/YubOxbX/CRPVcpkAdkDSp\nho6bTPSvT9ZnbjSJ3NRR0f29G3rwTayhrjISkS1W0f1AJ4ZJ9038NjZjcylS\nFvjAcdkCbFkcXu09nQ29Fjsk+xAAPvrlAzS/HGKCbzUulXnkVQWSl0Ta53gl\ndviFlzgyznsfwkE4Y+luctrrLC1QqjgLFexHUXS9kO6TaCFr962k4eq/mq10\nTSsV+p7bzxIxycoZadiweMJFLa04aGVgeNMaqYyvALxNnDDw5FWq3uPGOJla\n/i0JUMJnKvmGs/cPiPwWK+JHsBLz/AvFHwyYwhGf/rRlvGtqmGuiXEDdIEI6\nTXfwT9ZuBTKJ64QuQizTcAFF1uxGw757/yVY6CvsXdrjub5+L6UFS1okZ+3O\no/wLICTIwEuNUDCqjbmPfxNd1rtEp27wUboZRkplddnOQ2fYAbqv4sL0zwj1\nGY/IVjaTQHu+704IkP+9TLTSj3OqkGHvvEgb0WucCZKbu25YeDv6P7L4Igz9\nHeyN\r\n=w6iH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyvnYuMInj+rl6Syrryzg70BJuJ0+mmRNjdiBrOw4SUQIhAN6z35mX4w6G5Lx0BARX9qOMuD3kkWgLZbDiSBbpAUbc"}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.4.0_1599337310162_0.56592250082917"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.5.0":{"name":"buttercup","version":"5.5.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","base64-js":"^1.3.1","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"2d89e8d9de0ad083b82393c64b32e8cfebbdd7e3","_id":"buttercup@5.5.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-WpfdE3ZlYVsNn05XjVUXEhmqPletOiu19Fqj0SAXgkyCSXGsfV9+jRwc2DxMuFi/xsQDQH6jkAFmiDb4ELANhQ==","shasum":"e8dc2a47341ca05478c004d10ef2053d695653d0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.5.0.tgz","fileCount":262,"unpackedSize":993796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVSNPCRA9TVsSAnZWagAAF1wP/2K0Lwm6el6tolqKqHiQ\nwCQFaN9vGE6opQ7zcXVcQaNC/HiU4g2xe9Jo2ZyGWc+0oOV0DacanpwC3pHt\nMhecM5wFImkYUam1mlkS4k8Txtz5yI8DsgqPo5wD+eHOkpPGsJkNGjyR0Pr+\nEgBETVIUjp5ydC7tTKsFj6l1t9FNv9Q2rI9MCO8DJBNvLDfj2yBwn/S+AU+6\nRleDtjcOZQNBiBgcGuw/rV/h/0RcRWpM9Q4JM0NpvJL+bXNoyGP01GLT3LGN\n2QciS8D6/fgP5UYhvhyq2K6FV2yRRpnCkioPVytW8B+BmY2mELa//jzDfevx\n8ND3bMXuxAuiuIvCZ51I4vsSwnLc0srYdbE+J0FSIjhWmftXM8FKqXeKo/Jh\nCIiMqzfvl0CDm3EK8iZ3tfEOHdAEK33BartOrc+n6Rw4l9rnCh7JndkunIV8\nbAxNfPbaYbrI4uCXJLZ4Y5j649XVcq1yhVP0AMtIdRwxFfH9fThtV97otDN1\nYHuFmN7SP81fLKomPU4Fo8mnoPk1bhVIvP0pewC+tutw3JrbTzzrqZUskKhA\ndrwBwbYz+sZ9uRDYpzEJWLZF8RPFkbXPpC6saZg0xQ7RjJId2IwuVLpsLZmw\n2x3HD9ZbTirjpNLvP/vPft1wAzcXDyLBhOXzEWCciCXYyvnZy3voPWYSnZXQ\ntlb8\r\n=8PjC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeQyDCbmjCZ8p9NzwPG5uzpzDmlPvflOkuQWhQEQRJwwIgQ085svCzq/TselhgU8d2TUlCu3mer4NrMYTwz1wf0Wo="}]},"maintainers":[{"email":"perry@perrymitchell.net","name":"perrymitchell"},{"email":"sallar.kaboli@gmail.com","name":"sallar"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.5.0_1599415119078_0.11759794244381538"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.6.0":{"name":"buttercup","version":"5.6.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 5000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 5000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.0","crypto-random-string":"^3.2.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","base64-js":"^1.3.1","chai":"^4.2.0","concurrently":"^5.2.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"2678de44251e87e4c0942a523710a3c6232f68b5","_id":"buttercup@5.6.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-1FPkbClzQ0h/EHjl1ghkWdGRdlp/UE9WCcB8m9042yydBXsAP1yMl/aHuAJrSK5SEgRtQBEmP1x0Z9EDK+/GvA==","shasum":"242fb3fcb8db8ba9a69860f5c5419f4be04addd0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.6.0.tgz","fileCount":263,"unpackedSize":996801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgyNnCRA9TVsSAnZWagAAIMQP/RGZPzCN5BKpBHDMfEyj\neRQnAVpQvs42xmO4dANPKGW4a80u07mZ7Q0Q9mxYjPI4T9YuycN2dPs17m4r\n/1nDnpQC7x6jJlzRAx5iDrXCExzyaVTCnkfFXxKMWlxDhl4iFwbtPk1taFjF\nj6yUkaKv6kDjTznKyAitH8QNL6UYLqj1N35G/3LRRU+41A9Z5wu+d+c2AUHY\nbMnIbOiaby7dwGOW017etuxQRbndqXVpbgzQD6vTTOAmOSABKpCsSH/uSVZ9\n/GKDF1HtnVGg9R02eAnI79Dss80WlmH/Z2S/N8a0LsNRNW7kVqitKLlnOKXb\nuQxcdWtI0Cy1S+9lv9L67FuzVhA+5WOOxj5gvu9dPz9BvgtONkff3RQEgl6u\nI0bUA2ePI3TlAZvjDCRIvHryz9AdaR70X7S0OXMNCRq9yD1l0PE7SGaM8g/U\nT4s3vTPRPQjHDaISFwy4y8TKLaoX0TQKgIRhM1l0lX+oFCHSqbHFe4khPSRF\nqeLbrFjSgTkGgID0HIDDmT8lVJvbEh6vVDNiC03IaQsTE1YFSb2HPNq8FhtL\ngwuRN2DyaIHOqhWnSslw7pmDYlyEYnvR4OqMTHJtT6QPRzklvVIlrmRa8tLK\nF3ORdONX7nSxXrWfSH2TwYiV6AGzsxJt9/54Q/MaDuReiqQSHdAqsoTkeg8W\nYWTG\r\n=v7x3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHke5u4GnHBgViRd/M9rna2bUjWZnRf4l6OT8GXv3AZ7AiEA2y7eUkGyoVFBzkJAkfP70ehMuvUtPuzocIXq6V/A2sg="}]},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.6.0_1602429798483_0.8378119603824734"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.6.1":{"name":"buttercup","version":"5.6.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.0","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","base64-js":"^1.3.1","chai":"^4.2.0","concurrently":"^5.2.0","crypto-random-string":"^3.3.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"c67a6bdf3c2d7ed7a031b9aef7245ba3cb77a9a5","_id":"buttercup@5.6.1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-It9QfJLr7+Upid9vQ5G5GDV/U7pLIG2CxmTpBuxrwusoGrThDO+sWunh1+tGG3tKkM2lvP9PvGRVIiIIZF2hdw==","shasum":"22e20c295b97080371fbe85ad74a819d3af44fc6","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.6.1.tgz","fileCount":263,"unpackedSize":997858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvtycCRA9TVsSAnZWagAA7ucP/Agr1rSF2/30E6XYaKMx\ngzCWVyS5q3njZO4D0wPnTN7WBZ9PQg3dFFJ6vHZf87ssX3uGliPd8K+Ri1Vv\n9x7D60OoZ5foaDMaWkV3BLrY7IFmg0GFp65aRIFKOn+QPCnS6B+k3EXQwj2J\nRTf24FWgUUKpoH8p/ZAjG2jIK2H56ct7gSMsLm0Q9uP/npUPidsTpUktUhpg\nl06phY+2pIloP9oHPlwFMcIGftoKwFESCQOq2e6BTMvkCkP6jW6YKFWuN4Az\ntRTzTILjPTMqq96JbLCY3RZ05LrKl5Vc8VyEaWqTq4Z7ql8ZYufGkHD3jOI2\nXJHg2G7xV3iO0r6flpoXHUv+9uRWB5OgWa8hdq1sns2TBmdXgI22UJNniHdp\nb63HVZpGto2qLcyg+pBgSDv2WDClMw+1jCSiBXBlIAQOjdToRglWpSmzoTVu\nFPpveKGr3SKtNoGS2dk3Ij6F1+9tekaKHGoflA1ryP5VqC/M+UBaP6bcM0AR\nhedB940xqTS0TbZvdy61vdlAI4rOmRReGzWPxKx2Ff5YeiQ5LgPyYLZxzw3n\nvYKExuWsc3ogmwdcAvHD2kCYG887ovOGGzHc0D4WV2pYiXfN/+DhU1HWv1uC\n/zVtYUi48bRp8steoFMuMPF8UPiW2GqoviR3BTkdYE4mb3812zAkm1jTQ5ij\nM2DJ\r\n=JB4D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdruCGpkkIq0KhgqV0JPf1AQSiALqArCW1hPe4d2A2hAIgYMdFpvfGkHq+otF6lN6ccGXfrQAssGpmGSk9banA8XA="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.6.1_1606343836268_0.5365218805111178"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.6.2":{"name":"buttercup","version":"5.6.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","base64-js":"^1.3.1","chai":"^4.2.0","concurrently":"^5.2.0","crypto-random-string":"^3.3.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"e5e5948135b0cf1a32a83023bf397fd2cd3aa95e","_id":"buttercup@5.6.2","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-F6gUPAn8bKLSdIVsvPey8knyYZf/xFlorEb2qvpz20ZlTK6IaP0GqPq+VGnYwT2p8KnOYWFVgtDyXsOuH2u3hw==","shasum":"ee2467a882d76ef2989925b5ed31ae475d7c8138","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.6.2.tgz","fileCount":263,"unpackedSize":998038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzPLBCRA9TVsSAnZWagAAAIUP/2L79dX4bplR5J95Liex\nFXc6zyodrrdZvNYEFhcJcROHFGx1diOtkcxI7sw+EGgiKNdI9FTQFrRriydn\ngvxoVBDpSIUmw8VJ3XF8CCpiY0aQ04Wp6JhXNQyHkD2CTU8WWST4Ulnj6SbW\nq998ipD5HbAiNHxJcaCIdhGxF/4aqr0LgbFbADWz5IQMpuoBer8HX7Z7muqF\nv90WpSg74vCBdYkRXnmYiiaB+yz86vprLwPMXvdFTbGZCJGXxNGKa7Q4yCG1\nPsUZV45wti0RiyU4LzLkgU/Slmr7/X5zpPfi9FMkoTv900ztjF4JEokmV4Od\n2gqRPbUa/YNC9aTm1NPD1/D4+uIRSlNtbk/tFrIXIxLVEuiHjZyUrJDlxLUc\njVqhdmcOVGyP7ihSN83kvvgkrotaOEoeCOHFCp2C3TOQFVzwQQVf/6z4V/jv\nWIILmVQ/BBtuWbQ0jQJLeDff/wzFFxDPtf1c6k8HtYreSkOja1R8WI8ivGkh\nF/s2o7/4XY90OmRfX89QqbveNKb4qynjngxKG7pC0XkjrxuNuYYF+bdJWeB9\nel/ZEgvO4KP//Ttp1ufypc7QeDA+RAivjXsv9dvJTHnM4HHuQU6WZEubPvVT\nS6IovUpG7Z2EwlJKFHgYMT7W/+dZ/C3NaERgtRIOIc1pZzNWQp4CEeFp6PxP\nn/5C\r\n=T38O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHmVRuPB3YLg1lfnqYMUoGNRZaGG1y/rO0TlHORFhZW3AiEAhlloRmKYxc1U41X7wfu/8a3O0qcp8mNuiMhYSWTJcG8="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.6.2_1607267008605_0.22389240947544553"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.7.0":{"name":"buttercup","version":"5.7.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","base64-js":"^1.3.1","chai":"^4.2.0","concurrently":"^5.2.0","crypto-random-string":"^3.3.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"6a84f903698c0ebe3bb6974f5ece2d570f80392e","_id":"buttercup@5.7.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-5AEmJkVt+1RbLw2uw0awiKCOlM/6wDZwqcACcxu+KpqMQ4yRmKnQuf/sqWA1WfdoAwNfB2aS6HKANJGVwhUi7A==","shasum":"24e417b165cc588159ec86b2ca4c08b5554bf230","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.7.0.tgz","fileCount":263,"unpackedSize":998535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzPeJCRA9TVsSAnZWagAAgesP/ikR+xAl4KICYltltOMM\nqkmCwZkd9QnPnh/2QeLqrDbRF2JTayOCkdAMT/dNW2qOYABvNe6rV1J7Ue2o\ni+67VYBgqm67NFsx3/LMEdhO5SqoUx0z4bp7yS5mwxCkTxVln50AuqRuTeoO\nLZXezO8roofBWKoddfbPLM8TR3NXKqAt5CdskWq9NPGzBmEYwJkOR3v9y4N/\n9gbQtjlIdtP6DP24kk+ZYxY01SHXKn2U99IB2+EcJ/xQ16ZIlWM2+FdGTcWX\nckBiqnoYoRtv2zNLqhoOJZCF/PY2AW+g9+buTQvP21aQNEMlxbLqV81ry8kq\niBJkRSD6N5a4z2dXjz11du4Qfx3W1ZYTRMwHrzdx4BLJD/mDiFPfHC++DZll\nwKe4WhpTzpPbT7iYIiiJQ1gwVutO8b8GUL4/MD+TIDB6V9xANE3TD3JE0Vsk\nMTnkof/ErW5q1qamfaVF3cPleQXUvo5GofqEswkqFvhKNN/J1kzSS8CCzpNR\nDZoGT/FXqS8Eg8LwkPPGSV0t1FvTQi4o/bKDEUMuKA+ORKj84CniqVHnlxsb\nSnR/pOG+ZIVU7LXZk/fdUxEfUyCyp6zLoWjdVaJ1tNheQIEASZYTJuU7CRXL\nOlRGunsB2ykzXWzZW0Eaqh4L65Ess4lbr0cvv/HWrD4ULZcWjUuG9GAsuWNM\nl1q5\r\n=4qqq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHge03XzbqJ8HHYKEOSXaEdhgPOmHtFTQVv0DGtkbF9AiEApbbV0Z6MxIUoBpbD9PbuXfRHpVxVfEH6zTGDHmU5R18="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.7.0_1607268232782_0.1832327223043979"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.8.0":{"name":"buttercup","version":"5.8.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","eventemitter3":"^4.0.4","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.1","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.1.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.1.0","webdav":"^3.3.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-class-properties":"^7.10.1","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@types/node":"^14.0.6","arraybuffer-loader":"^1.0.8","babel-loader":"^8.1.0","base64-js":"^1.3.1","chai":"^4.2.0","concurrently":"^5.2.0","crypto-random-string":"^3.3.0","husky":"^4.2.5","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.0.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.2.7","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.4","npm-run-all":"^4.1.1","null-loader":"^4.0.0","nyc":"^15.0.1","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.0.2","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.1","typescript":"^3.9.3","webpack":"^4.43.0","webpack-bundle-analyzer":"^3.8.0","webpack-cli":"^3.3.11"},"engines":{"node":">=10"},"gitHead":"3cab8b09a55172df4db464f9d1d38c950ff4f380","_id":"buttercup@5.8.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-LX7WstoQatLQu2PNL8p4n33hoZCd0Gqlh/06H83rMKKErCIy3Jrr8We5D7MH41G2SFTw6bNFR/TWUNoCVO4Ehw==","shasum":"7f38dc4b6a287bed3cb34f89067d1919931fe789","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.8.0.tgz","fileCount":266,"unpackedSize":1000582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0RWkCRA9TVsSAnZWagAAunoQAJAUu8EDgj5W7sjwN5FK\ndIyX9hzxKtltUWXads12yoQCOegcnvivOO1EWcb7soPKEtwnX6t+BmTVw2fM\nG0lJdlM6gzu5dOA82nqrz9bOIlbQqZ/JsJ9s6Fiy96/1bdZho7tRIA7t1B5M\nBxUdc3hMIPn1C++abM4QJgk47kCBfbJgEpUWteb8wKkyb7lFpmlz4oXaG4h/\nq2FrczoItIBa6+4YF9ujout+buAVsuWDJa8LlAS5ySFfnioFlwCCjl9GXnxI\n3xRGz1SyB342O0yWATJVF/McfKMJRDDIh4oFEgyaKebXa7NvhgV12RMb50qz\nj6E82pTKxxZf0IttKrNyXhBpnKI+1QWznTJqV5e9r642j3/6dcSdnEXfZ6CK\nnKkFFgFqFm2r2SlvbZ5a/TOc+eMjLnvE4eMSSlfWk8R4rrf9+8VBtDTZOHNQ\nn7LQV6L2vAhMcTKXyW6FO4154XZrl/PVxP7g8C/vZFATZ93CteseMHRXbL/m\nODXvOvDNbCJ+aGxJ8CYqpYh1skk4VydM0fIvpfEFcy0JP0P45rpyLqR4/3EL\nCTe4JmOhdCr4KzecPVxIKmOlEilzBzC0qc97MPIbBRYMK9wxPQy3CwTFkVeM\nJ2wzmMZsElqvX4vyQemSJ4LNekHQGXufY61MF+FP4b77YK1KVMoMnuF7hx5H\nRdbd\r\n=avRp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIASkIZsMasUa3cMAPNkEvpQK4UKYm1WffLUpr1XchIiDAiAe+NeghSJoCZP94cpEHdte5RdaCdljo31vaFUDiY5N4g=="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.8.0_1607538083485_0.45952215815979325"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.9.0":{"name":"buttercup","version":"5.9.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","eventemitter3":"^4.0.7","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.12.10","@babel/core":"^7.12.10","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/preset-env":"^7.12.11","@types/node":"^14.14.22","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.2.0","concurrently":"^5.3.0","crypto-random-string":"^3.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.2.3","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.5.3","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.14","typescript":"^3.9.3","webpack":"^4.46.0","webpack-bundle-analyzer":"^3.9.0","webpack-cli":"^3.3.12"},"engines":{"node":">=10"},"gitHead":"c9da355fec0251d37b0f909f5c60546cae69592f","_id":"buttercup@5.9.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-qDTGONvikHlFOxmYzsbcIgU7CydseWYA7UBjcX3Xi0LLRRyua+I0a60hjhuCnaouay+y4UkZxwJFq91TL5EeyA==","shasum":"6d7fd9f80f73e1a0db6190cd572289516a15002f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.9.0.tgz","fileCount":266,"unpackedSize":1006092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDJJZCRA9TVsSAnZWagAAwtgQAJAmIvW1hVAPo+1z2/U7\nnTGZ6cRn5MZZY8knR+dxLQW+4s9laVB7OjzbJWfo57URk1i7d8GuyNKBEBoE\ntxIfYjrIM86hx1I0KFXQr7hft/ocGAKdkkLlJxuvfUBej+mJh4iFH1Eu27iB\nyaomZZFxD+6hovw3ZclJkrxXz61V9H3nd23cfx53xJujLSJOIkfvb6JT7BjJ\nilbj0/1BOQlOYXH5nmM1qWOMhaap3pJPNoR9Y15S/CobIR4lYyGR8EzIN8Sa\nGYBFfj0xI41ny0Umu914Ct+Mw90OwnRLV2agzSKHW412Vyj9clib9kscvMZV\nXMS2mlCV+5ZgCJGKPvFmnjoy4YmmaAHwVBFo4wwCstjM48OGJ/pwTnuRfKP9\nyTjTrMQcuru5K0kzOZcYvxM0D72o+roIZkMIe/QC9LaAy3C3BHrWdpP9vvWy\nzWv1HTAPLU791sRwHW+xxLVpE2GCw5xApRN1M1Vath8SMGDKqCg/TRXDfFNY\nN6ZKDD1DQjDIfYQRohwYiB5ZAkFBWUUJYhJ1e1d900Dy1o2OcRRr2Sdp5SiR\nQukKeExQigoePgTGCgdF6esX9G1LLN9PhQ0JuCnpxf2qL4CWP54kfV0K3O5i\nLf2Qv0bZv+pIVkgm7kA5z5mXPVQB5ByNMRUZkMtkL4zXw7mqk/H0lfZ3JQkh\nmKwN\r\n=o3DT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJVJVitqiU069Z7Ylqr4HWKmmuvhLS94wU3hPDNQS1dgIgYjZMjp1xMnUPrrNyoPqcAQA0F+hXy5b2PoX1pbDTH/Q="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.9.0_1611436632784_0.555848291864506"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.9.1":{"name":"buttercup","version":"5.9.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.0","eventemitter3":"^4.0.7","fast-levenshtein":"^2.0.6","foreachasync":"^5.1.3","form-data":"^3.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.12.10","@babel/core":"^7.12.10","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/preset-env":"^7.12.11","@types/node":"^14.14.22","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.2.0","concurrently":"^5.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^5.0.3","karma":"^5.2.3","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","lint-staged":"^10.5.3","mocha":"^7.2.0","nested-property":"^2.0.1","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^8.0.1","tmp":"^0.2.1","ts-loader":"^8.0.14","typescript":"^3.9.3","webpack":"^4.46.0","webpack-bundle-analyzer":"^3.9.0","webpack-cli":"^3.3.12"},"engines":{"node":">=10"},"gitHead":"91806e2476a2d9b551e3799393433570e5dfab2c","_id":"buttercup@5.9.1","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-H2VK9Sn0ftdfQGE96WWgFJgcIu5420nw4VZQFjqV/o7nlRDiXxv1ri/7m0qM4zejtMXL0QzzvFL86pT3TMiIyQ==","shasum":"49b57a938c67228400d69b58446f62f577647cb0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.9.1.tgz","fileCount":266,"unpackedSize":1006204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEIkuCRA9TVsSAnZWagAAvnwP/3t9NdBh0jnCfswa2qC/\ncNOLBQKkMMUdKL3TA8crqvyidLE7RUwMjQERJWUFt3rWl8I7jZKfVC7P1N+I\nLy0ATlSF54jldbiLQ3UMIR1ApdL7QKGdyyZqFj8i8rzfHI38aR1VM/oouiwD\nFxsqNqairp3bUUoh8ILUOJLzzEHCKKjNrgsr5Ky+Nu3BOyZ324sZxyUVA+FQ\n+0etsxaTar78op04yGMnAh24vhAe/grxbpA2+3QS2xw9dElygD+hMoaF+//a\n1zr4Rq8fTFblDLzMO9pqcITHrEaRfK84TH7PYSWepggC+X+KPo/8oI3n3wlh\n6jwXZSrLTAWT9clg0qGU7dGkeLFPVagaGRKxsu4AvDuJHrZ+iLxWfVELd455\n1gwZSsGy8cYgvRY6SyFZvbNROo5otwyx1T2aJo38vfVasOGTLnGl8pzLpDQa\nEk7VhGbKccJHL5XOaafI3LcLrGiGZhMlRNwdEVvHMFn+bsMpou85QZe3lXCp\nIKcvvac/Q/LghMiEa5qU1xqnIVoQfHU3eNCQIgGWGM4+NBuDlohY/sHooKDY\nsZ6eT/199oT+Gh1SJbeYqtRiGYSlFFGfzNmFxcuNV0GBK2fLz4aTR3fek0Xg\nQg7A7iluTkkhDH1R1ZbFeReMTm2q8NlsXGiPIKGytVDAhea6tyaoHhIvML9b\nQvZs\r\n=BV1P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuGTbImNWom9wV/TThU+X+Hv03kCGwgRq2Q5xGAgQL3QIgOr6n8CHzWcYHWybNZTTzF/Eix86rgLJ1v3Jz3H3pAsw="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.9.1_1611696429431_0.1823780791701619"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.10.0":{"name":"buttercup","version":"5.10.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.13.10","@babel/core":"^7.13.10","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/preset-env":"^7.13.10","@types/node":"^14.14.34","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.0.0","husky":"^5.1.3","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.0","karma":"^6.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^10.5.4","mocha":"^8.3.2","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^8.0.18","typescript":"^4.2.3","webpack":"^5.25.0","webpack-bundle-analyzer":"^4.4.0","webpack-cli":"^4.5.0"},"engines":{"node":">=10"},"gitHead":"d0270472e93706080eb12491d45cda9715384c32","_id":"buttercup@5.10.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-ogYvHNL7REh9f3hYV9sJWtRB1HE5+k1j8/UFMv1hAO5I9tBC4R66nWR7NLTaqeHXiHcHE04nDdbmP0VizO+Rnw==","shasum":"1946f11a8446a6bb0e654dbbc36024d2344d00e0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.10.0.tgz","fileCount":266,"unpackedSize":1001599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTQSeCRA9TVsSAnZWagAAKVUQAJzRQPDkvxzDBJEcCO93\nRoUPTbkcTP77a8aL4qNLS2+ElBEfD6czEdViPEDZsZT/zC0t2Zg1swS0wC2d\nl2VgFoBm3zQpdS6cZqvSrIlaKELqwOK87g5FQJth8xkPAKtn/nj/Lbim+1aq\nNb1slEABiRgPyqO8t4OcJ2PYj6y+DuhHPLyfr+n8p6emqjaYR12kR5yr4pwa\n1jpCCDC1bIuBAlHu5wH/rvYpqlR9RHrV0szF2itvWoLvOJr46JM9Vhc8gPvO\nhLDNyfzlG6ClktUauGFN9OzL6FtLTIM60SQFma4fpzQpQyO8zln3C3emuAF6\n5jkdTHSrg2MfE5JqJzWLWK9DEK+ODM0lE6mj2V4RUlRcnMKYg3a0OUms0QfY\nzlx9+GjABdM1cWfJK+I+L8966D7ghraa3DjpHUq54gzwjDrG0wdAMRHa4MwN\nxDyIiExpGFBEyjKYE37opWo2jnd1L7w/5TzMcvg8bipnjpAWME9UkWzAs/OE\nkHzsAPF50vyc/gJITTwu6YRdevPy/mArqvfT2Gy1KpPI91oUmyfS244I7hEm\nmG1Ak0KJy6N5Q6RQ6LL5ERLI92vd/x8FVlcJj0oCpMc+F3fMBaDwXUXJLoH0\n7fRXWt/pcFEHHnYc/5TXCiYb6qqPbbU5gmmU2vWe7fXyyqbmF4xZhUkeQ3cQ\ncxb1\r\n=Hl7g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEuw2KbqDYksOOyyEY8Bn2LNf/qfyUd/w+9k8Vnldm4kAiAMZtvuU53iRWNOoZgVAuLfTXt262EC18ooOnE/rGjpug=="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.10.0_1615660189455_0.46014435225059613"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.11.0":{"name":"buttercup","version":"5.11.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.js'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.js'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.js":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.13.10","@babel/core":"^7.13.10","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/preset-env":"^7.13.10","@types/node":"^14.14.34","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.0.0","husky":"^5.1.3","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.0","karma":"^6.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^10.5.4","mocha":"^8.3.2","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^8.0.18","typescript":"^4.2.3","webpack":"^5.25.0","webpack-bundle-analyzer":"^4.4.0","webpack-cli":"^4.5.0"},"engines":{"node":">=10"},"gitHead":"3bde13ce32a8c3d7e363951f96bb5fe2e6ec52cd","_id":"buttercup@5.11.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-WrsQK1EvmBg7gJW3x6gXxkH7ftdhX8gSysWgf1vaGMV5Lw8Td1jtWdE7nJ+gcVbu6Tm4dCsa7Y4Yd9myJFaOow==","shasum":"56b4268056b0abb3f0948c280283a99e419e2a53","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.11.0.tgz","fileCount":272,"unpackedSize":1010038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTcBCCRA9TVsSAnZWagAAZGgP/j4QPQQR6dsAA10qN0s6\nVxBfCBBQePzpsHx1xfI/QL9cLcppOilAwPmQYbsluhlPH2SbjXWmiT+wBZIi\nxY/xPvb6lXJrDnTup4Rjq6Si4SdpkSoRqKFBuHSo0fpqi3QsOcl9gy8bU45n\nZPa2LpyR5DJ7A25oXVMzH8YWSKEt1Od0mF9v/ftK7mxhpirkuGWehdg+MxPP\nfuBtgo9ZxW4L79wpuJzMQHGtpQV01YkY/tkN6bdbEf2OEP2wjwpPyk0cdlcI\nkasLUtoWvxWBT2/0S+0hKKSMqpxowaua4e1/lrF8MLkT3ZV19f9n/welun5H\nDM+xJGqTtpbfdc2F/t8FP0yAhU/raZJELv2jaBdRslV6iUtHlRRh4fUHoVEa\nif+o76pqoL8Z6mfFQhlWwhpvtuUVXKPO+OJw88XPTb/n08TIsMB3otHBO2XU\nDqz5kFuIrkF1ycoxnzK4/GtX7LQy571q6d/Twmvca0eAG2ppxdu/hqucStES\nJe4DghxmOPVX75I95qHVzGEr3UUCkjqEe3MUNxgdSUdUzCFFNR2k5MWyKzQ1\niwEoVu/3mAYtwYgyov8XE4irWGrxT9plTJcoVg7rrRhKv5tFoktVkgwltw9g\nL7bV0RXKYOqgjsYYXYUpKWqM4U7yESGoMKpYtdXAFtVaQKNtJpyIYDS3RVu0\nKCl4\r\n=K+rN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBYMMIkw7LmplFCHDxu+ZfucVrIGk+jPv98BhjCQJzIvAiA40T454I62GcWoXxDnUACBfCWyGrHEmwNYW5btWsDBbQ=="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.11.0_1615708225443_0.1550674664825984"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.12.0":{"name":"buttercup","version":"5.12.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.13.10","@babel/core":"^7.13.10","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/preset-env":"^7.13.10","@types/node":"^14.14.34","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.0.0","husky":"^5.1.3","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.0","karma":"^6.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^10.5.4","mocha":"^8.3.2","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^8.0.18","typescript":"^4.2.3","webpack":"^5.25.0","webpack-bundle-analyzer":"^4.4.0","webpack-cli":"^4.5.0"},"engines":{"node":">=10"},"gitHead":"239058bfdbb2d59e7a28c8c72541bc396a31edd8","_id":"buttercup@5.12.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-fFvkGAmXy8lWZBMPj2xAuZ3bKSOXlseAY0ntSP7ZCy5LqfctVWfvKmyn6iKEwuHFhPGDa9LQ/4fN+D1jilAn8Q==","shasum":"c6aa3a1f2e0f8667c3c85e2e9243558c94bb73a4","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.12.0.tgz","fileCount":272,"unpackedSize":1010147,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgURWWCRA9TVsSAnZWagAA+LoQAI3J28t3XB5Dsj+df5R8\nhk6+ybN+sdSRiGtdLHcmDCAot8X7sYO7FT+dm+uyBvBc5AOXQogMZED1mA0c\nkKHF42mgDNmOT2UqJFJIBI/TfWLgqrDK1shaUFQUYSXGiU2VZkEsNE7st4KM\nRJ/cAC32YAYYLms6cBInBuvwMXkNZtzI0xC1o3qvhIKUyiqEEwTN504bLwU3\nTTGKyi5AGEDfqc4Isym6J+ekKIcG/RQCqK3RWz/AtmAEZmO0c3vvCDOVIy+W\nJYCfPqzbfRhkTB2n0yu6aQjoQ6zJ77XwGzvn9ZT6g43oVyAey8G6Bou4UiHi\nBHy0nt+qjK7VUGLBFmYxMaHPvtXXgUC4D6zcUcP5KbQwSSUejGyvPQWcjRXv\nnntNV7qpoW8LCK5L+1Cy3A7nNLT2W2tpqqKedMwwz5D4DCrKt96I3Fa1Edn1\nDaIIgQB+g2NwO1SMpq0KZTggGO0EuyCxGQyOVwUF/zZDrVd40B+UtSYHoBOq\n2AGTpNkDmZ7M+vV3jqFhfuqfKrP+ZhTD6ANFvPfGpt8he76b1Iwz5ib/Qqny\ni+CR/ulj6y0MEZUB2nYmjbIK1AtfEFjpeefUh3HAKIg1RzpurHnYatv8qNSG\nrc8lp10crQOxWJitty1IcuQgQ1DBcBqOld15DbMk593A65C9QfbiXbh2ZGga\n1/cu\r\n=7la4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHhgOzs9ZxyLF8yo2XVsB+ed6/U9EBzCoWe44T0cn23/AiEA5w6y0xeWVfB5AybDJGBQTC1kdyVzZ7revbGGxBLPkZw="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.12.0_1615926677835_0.23450594197767027"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.12.1":{"name":"buttercup","version":"5.12.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.13.10","@babel/core":"^7.13.10","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/preset-env":"^7.13.10","@types/node":"^14.14.34","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.0.0","husky":"^5.1.3","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.0","karma":"^6.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^10.5.4","mocha":"^8.3.2","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^8.0.18","typescript":"^4.2.3","webpack":"^5.25.0","webpack-bundle-analyzer":"^4.4.0","webpack-cli":"^4.5.0"},"engines":{"node":">=10"},"gitHead":"dca99aba4c9a0fc7045a6973f2327a94cf651b45","_id":"buttercup@5.12.1","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-c8pijhVeJDlmx+CPpXDgX5NHYuNSDnuk8pqHBxFbLGFSYmQ42ywGYaTKc1Bxh18E2jqa/grvMqVg9Cha1Eo9FA==","shasum":"5ffcacd711a66de49532092c9e3875cecf060b07","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.12.1.tgz","fileCount":272,"unpackedSize":1012802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgURwICRA9TVsSAnZWagAAZV8P/Re8cqrnMN205CDLme+U\nvxakfm0+s5pJ9glVPjQzTfajjM+FK+tYkXFX31Id89zmZlmUnSNilt60W2R8\n2AoAdEpzOq6UVKdxP5UKcZtDlY5Na6adfMTkQocooM/BdMBTGuZ9qwKVKJTa\nxncdNw+m2Tew8JRKlAhLz3WF1gV7gZENod41TTMj1wDViGSfTd2ozvx201ze\n+t70uhzpAg5V5dABs33WWL2E8jYhIAExplZPmWlcusPUZgACWflQpkZfYGIz\n09IwNdA/M3DR30mLmM3LbkHNG+HzGGCWH0V5gDwYYSC1n5JHtJEAeQHULoJT\nkH9qLcPEDPy5yYKWWC5vp+PdM6mmqt7PZ+mtBEWdo1bqd2KqMFnuGdRo4Ngq\nC0nRssxKrMHuShesX1/2/L//iDEi1LbsCmvbXnpBTBRwjJtHNcCiPDFuHHl7\nsBfRkbVDF8cQXEASW9bUgAwos4YbkSPDXtGqF5wY5aFHdYXQj/rcEfN+M2+e\n9aRO1+jWcD9eHwLaPJJtfFiFB5D3bORbtYAW4+DgVSowSPzcRKiwgRq/Zd9s\n3fo2sUZJWv7JQx64m35VdDaMETuQd5g3PrgY4RQCnQOjCR/bL7lAK3o3ROqo\nZ4IHGyLaTFmXEIgMxOYT/Hc6Wj18FViX5AT6RTyjMZymQBxfeE9gh3YQvaxd\nJUyC\r\n=THE7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEHsoi9OND71TbxbFjY31iS55NkJpjLE0DtqFWhVQDCMAiEAugdaC+dVVyiqz/ndoHZ1FPTNLG2jtn631mpTJooxt9A="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.12.1_1615928327839_0.6705660409985708"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.12.2":{"name":"buttercup","version":"5.12.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.13.10","@babel/core":"^7.13.10","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/preset-env":"^7.13.10","@types/node":"^14.14.34","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.0.0","husky":"^5.1.3","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.0","karma":"^6.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^10.5.4","mocha":"^8.3.2","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^8.0.18","typescript":"^4.2.3","webpack":"^5.25.0","webpack-bundle-analyzer":"^4.4.0","webpack-cli":"^4.5.0"},"engines":{"node":">=10"},"gitHead":"fc17bcb462250c1683459be17516d61cd8e5ac74","_id":"buttercup@5.12.2","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-Fsu73rGfaAjb4VKqHTE0aHU9E/se5Gtxj3OkZVQ4laTb4TbDaCVbZJ/Z3jJLhiE/YQpxx35yJyT4bugCQRK5IA==","shasum":"3d90216b17b3d1ddd931dedf5b29f1f12ea10de4","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.12.2.tgz","fileCount":272,"unpackedSize":1013689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgV1bcCRA9TVsSAnZWagAANq8P/0H+39Qf5ZBtFZtH/By3\nNYkJCpAOKwaJQGMU8G3VHpqOH86dWNEqRv49jaMCdmu3Zl5Pj+n7DT+KLpf/\nPQDm4Lo4rmiYxX0FB7cf2ZX8rs8iKFiDibgyiBxqlqcUQXxxtI3wVeqLOKou\nswGXawzSzmi7t9qSaceCfJ8zIx02ZjvC8KdaNDO/zyIx3fJg0iARFqLKayE/\nfOlmLccTDf5BUGeZjbw3vcnHNxSDUiDaqn9PzfCwI3e761BNX1Rpe01Tfko6\nKXXZQrtHrC3syTpua4QaiLoC0MeY6uLDjGjHiDEdpJT+GNO17w7F9kXmsmdH\n/gcnXwVyRIkM+dmuUonbg4UNNqVPmAaC+XOYtd7EY5z00BgARRhzzeS+XOZh\ndBtC2RtUbD9qN0rg2sONllbmlUv1Gyu/1WJ8HOdwAoft1o6lY46j3bapyDlL\ncII8A15RubAmOtBwhyo8VfOvbJ8iSyjWohdQdlMCiUyfQvamnUUzBRnlniTa\nYPYH42CgU2dYjBGBK04YNdZrmJB0baUC09+4trsgLKILJvoW4l4xttgwaDud\nhb6Pkn9G7nI+Zlxl5rGRKP4laOjRWbGALt48c0xMkTlB98EVxF+STF2g/iYF\n04gRv/gD/KyYSCvqwCRW7cTiRqJsrYra/CdkA2KhaGpSt2S6jVFBM2d11IYR\n9M21\r\n=B6yX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+n3AJ5OPYrNjOX9lgtft33uLXIH0zIV88blsCkHXUsgIhANwxeRNHfOqSl1v5wfAfW9uePRnKKrjlxiWh9eYwXl24"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.12.2_1616336604318_0.09344526297099476"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.13.0":{"name":"buttercup","version":"5.13.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.13.10","@babel/core":"^7.13.10","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/preset-env":"^7.13.10","@types/node":"^14.14.34","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.0.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.0","karma":"^6.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^10.5.4","mocha":"^8.3.2","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^8.0.18","typescript":"^4.2.3","webpack":"^5.25.0","webpack-bundle-analyzer":"^4.4.0","webpack-cli":"^4.5.0"},"engines":{"node":">=10"},"gitHead":"54d21dd93ba8ecd5333ac6929d29a7dfc23df52c","_id":"buttercup@5.13.0","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-WqdGCHVR0Y3fYjXPHrktHoBUWIIso5PobSKrL/Ie9ufNt1ug4NNcApc3epf2XXNhm+iwgLuGADTOaUl3BfauIw==","shasum":"f7ede9298bd032f9c311d5c942527706adf8c9eb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.13.0.tgz","fileCount":272,"unpackedSize":1014979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbfSKCRA9TVsSAnZWagAAy/wP/2UHV6Wzg2xtMSxrBvyD\nMmg5+OgiwBJJ+QoMz/JYeRA26MC5yln3lCroK/8AJ62AQnnY5sO9tlTwWIci\nBIyfrUk15Q/DhtddDOr+jbGNJctOD5G0Ti9Yx4xzKyWoRRnSsg+Oi2/FtzmT\ngBM3Ud3s2+y0EZs4f0R6lqD3Hfjf0zY+h9SdbeZkDkz4olZfOmicdmt87mlF\nMN0EYmcdNQdaEMPHrDfDBCDQAMq1wlvAfiGyacdLVD5vJfb/RO6Mab5rb/r7\n2cOHmKZZuf+mLcfGZe5i+bYF1uqbsQ47KEpjV5Ksv8I8CJq1a7tcb4SiOSSF\ncg4uOYkUMkZtsiIhvMEH7Yc7cbkRhaf/tumj/k6hilLXui6GSivPiWp2IzRm\ns8i2esu/psHRJYpHGj/elNhtRowpP8pO9pB0zlQoOFgHVBdYjhhYQZr5i4Ee\neoH4WjLmEad39nGPRYmpPOk1iU5ksTn7EumEYUViHBD8kANvIe7I1TcKZ0jc\nITf298CgcmIFNhTWHcTx1UtH4UbSNRaS4Y2zjhxl8/UE+1lZmE/VzEGpp5cE\nPng+srfqtkR4PoHLjK/6Q/G6p2SMWK2Rr7y06AA/5WWE/3I5Ox6207Emvw4k\n4N3Ku7NfMYQyvbiH9QQ4pXKNxUhLQih3B0r+wPEOpVskxz9XiUmPIrOj7cdt\n/S1i\r\n=+IbY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEIhPoOhfPQdf8jFUXQsVycApNYI9xagz311tnf9ZxaQIgN5KiRplQW9c9nUiLPem2DgduajU8FttVXdhXTBAmedA="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.13.0_1617818761762_0.26300147438282373"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"5.13.1":{"name":"buttercup","version":"5.13.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^0.5.0","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^4.2.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^3.6.2"},"devDependencies":{"@babel/cli":"^7.13.10","@babel/core":"^7.13.10","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/preset-env":"^7.13.10","@types/node":"^14.14.34","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.0.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.0","karma":"^6.2.0","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^10.5.4","mocha":"^8.3.2","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^9.2.4","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^8.0.18","typescript":"^4.2.3","webpack":"^5.25.0","webpack-bundle-analyzer":"^4.4.0","webpack-cli":"^4.5.0"},"engines":{"node":">=10"},"gitHead":"6cb9f2282657705f459c13caf7619895f0b48fc5","_id":"buttercup@5.13.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-T/xMFFE5ODe0ZzJ8iEW+WhqGZq0tQrJEmUr0z3WWji4M4ImIp1eT8XWqDlTMoyOPuQEgTqPjrkqOIVS4KydRww==","shasum":"fd1ade20578faed065fa0490835b8df091124bed","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-5.13.1.tgz","fileCount":272,"unpackedSize":1015202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpCtGCRA9TVsSAnZWagAAY7YP+wQS9xSV3Q2q9idO1tay\nVtOuu5j4FJsSU2l+f3F168OCnjqaEumvz2pJcDDYmCI+2dnm3HdFVb9k3VSa\nHLbFzZlorYFIfbUDDiEYdrRSs0uZGe47EXP8k8knzwJfo8v1e6mL+FBPVvNQ\nNLk9qA4FR7CZFgeGQRT+Ja2gB2SO22FIHZCHDjHV4XP2tpN4uQt+AwlX4fLB\nha5LkgDHS/iDlklrKzL0X41/TJmnS0mlq3X9M1/OFfy3cBJ34XlRIse5oxIE\nALe4kkDnMreTVXBGpkmsdPFV/8QpgEMpc66QwOdVMSblDwWHyOetPLf0XbF5\nexvMgji+8BTtSxlQumXXLp2hhXm4AW3yp1QNWvUiipwJd9ZbjztWtV3Nu135\ni+PkMVPfRD4eV36ZE1INrSP5Zeb3M2nw9fHBnfdlPGej+Ez4g/tqCHdPwv2m\nIHPG3ZZ95LfK4URcq8Uq3MzNkNKuIMLoJpc5EVUHE7JA1ilvwmdaUr3Dakm4\nWAJE8oyk+kCHXWFHRk5JIFHm2v5IeU1viYH3yUTEX3J4KpEtf3YdP0HUO316\nEvgORXmN1POM5NwqTzyUE6nAw47q9St5m+6juRy+GPPCPBCaFPbl3ssYOCOw\nRKgAWJUBfPNkLbECh47WwZ2qOL6ZBSMik4WUZ0j0ytDFSpE3qb02lLe8J2Em\nKIwX\r\n=uTn2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGtai0W85FyeM3pFN4c8mmJ0tOxjPY3hxgTx71c3jLglAiEAmf2Iir4YuweBIa4qxKsm8qXQ/O524IAdWeNaKP1o+T0="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_5.13.1_1621371717880_0.6265190498546946"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.0.0":{"name":"buttercup","version":"6.0.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.0.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.6.0"},"devDependencies":{"@babel/cli":"^7.14.3","@babel/core":"^7.14.3","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.14.4","@babel/preset-env":"^7.14.4","@types/node":"^15.6.1","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.2.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.0.0","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.2","typescript":"^4.3.2","webpack":"^5.38.1","webpack-bundle-analyzer":"^4.4.2","webpack-cli":"^4.7.0"},"engines":{"node":">=10"},"gitHead":"31dde33398fe2014ed6c5443832569b318314724","_id":"buttercup@6.0.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8rj2qmyatgDWB2S0gFxJCf1KN2esePRTTeKOJ64No8rxZmKeYCGaI4Vau5dTxtxcE27TRYTrgOisbKzWRtr7uQ==","shasum":"13fb0b974645761870dc7869a63f5b66f44c8c95","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.0.0.tgz","fileCount":252,"unpackedSize":964534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvRQpCRA9TVsSAnZWagAAQGYQAJIvYYLCVkhnIX7TnzQN\nCmZhj8JvRG05pU/L1ik0rHW4kbY2bucjWqUnM8MIf0slsON1GEj5TGNkOcY7\nur4c4cure/z3bO9t7cBHKnDtgXgXbgSE66R1v0hWSKiOfAnM7pu73Y6HDF3P\nQWDCJlXIF6pVCfzNFVe3icFA54DgFwH/gFU5k5mWQf/1pi/nEzuLfTv20Agh\nfa4t4OMb2wZJksIr92+ZRvxwz+LrLafUFaZsFsu1Mqj5P+sXi6ZLYDX/ukj+\ntnDjzM3tpYoYFNWmklB60O/BV1opLKAxpMJTLTje6jJqrGu5P2PI70gw+ABi\nbEUMkO0rmpHd7aoI5WMR4C8oUaZcXjVoKoXsA1pQIYrpfOqLQSVFZwV4Bm9l\ndT4vt0OHjmkwf4r0rC6Ho76HrFKmYuH5597P4l3qk2LXLgp35spGrHGDOhbg\ncDoocqSjBj1LtfLTwGVhEf56STYhimEfN/bANWgpQfkncq/8KvgwxI7zEb+F\naBD4ZPFhIouQfdB2Vk/t55gugpjD5t6sP9xqKPEVA+xaHeF2XH6LUADfoG2d\nF4ZCc0UkqmCbjZnuOj5NzMEP8dUnHhVT4zIzKO/aTPqZnm5Z2Xjp140vGXd0\nRewyA8DgFDtwII65JOci7OR3bAwdCHJxhQaTnzMHZW2wrFkxqbo5sk9Jz1N3\nkExg\r\n=SQqr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXKxJHkkivEErKG2S0QDov8hwbOBfrkdzpOV32Vmd1RAIhANWm6wskOXXpIl2jOT81KAE0ym1W9BIfVePxLVKyc+jn"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.0.0_1623004201551_0.8085991231400098"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.1.0":{"name":"buttercup","version":"6.1.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.0.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.6.0"},"devDependencies":{"@babel/cli":"^7.14.3","@babel/core":"^7.14.3","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.14.4","@babel/preset-env":"^7.14.4","@types/node":"^15.6.1","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.2.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.0.0","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.2","typescript":"^4.3.2","webpack":"^5.38.1","webpack-bundle-analyzer":"^4.4.2","webpack-cli":"^4.7.0"},"engines":{"node":">=10"},"gitHead":"c7f8fa3442dbc09e7b3d06768b27535f44e366d1","_id":"buttercup@6.1.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-4ETQ+C7JzOHi5TDkV+kEUpcd6RBiiR1UDBwyfiYIU5uwilBsWxaZQ09aqzcA9lc4jA5qDPPCV5/d0v2nt64tIA==","shasum":"38d4bb0d20ce5a45f7fb6314f3e53c7723e20900","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.1.0.tgz","fileCount":252,"unpackedSize":966730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGCd2CRA9TVsSAnZWagAAiHgP/2cPm1+CU1JNM+GiuHRf\n2P5mPsKZLFSy7pDgb7W/+FYFIoicL8nFb/8hsYCmteo3v9d8/RKSF1WzB7d9\nuraJlY/KfXE/RHce4VwcerLAsLy0jhkHdmRy88pNQaC5uugQpHuFUFv2KvKV\nQ4dV8a+m2L9FTsZ+23HKB6+P8Gfi6/Z7B5QuwY6VoEi91Mu7qPJu5T7iPfpo\n2yQEZKA9Q6Su160Q5keL/kVCtVsCP9vK/BsWTpjLS7QZWkYFALyEZy1n2Aed\ngNywfNIqvyjSj6pZ5TIllpgdctKPACl4FLw2ImX+XuU2gj1u0Qe73wtR0hJh\nznMAZcoMVLUy20xzElbQCH6512uIJrs8/1MPuRTMi6gfZ084UhMiajqSjQIx\nbHwiep8dR5+pu/krHCvqb52l/PCnhEzZdBv/13DveQGpURLHt7ZVmPnw429n\nMZ+YuFqVw7aXv7og8GO4hfaeHHc/HBTrovHLAIWOn/r6Kqp+6gPjoiWzYlRN\notResObyveyMXXW8UT1gOBA2mepLErJriONSK9x6Oxp/Na/c36iHgXZNh/pG\njCKZWYGq3Qm87FAGZyypazFL6koCt1hwGEggoPN8UziT9nemV1hbcF+qlN+x\n61cE2jFh1OCB9rtk2vP8m4DdfEWCfnuxs7B/elZP8V/WJXREAOuH8mLRkT8i\nWTpq\r\n=hs79\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNQFjqeE0hOKWEE54FdobwzU83ktWUawaVxFl5V8EnPAiEA+qm4bUTNrdkBaM958mSTGh3vvuQHKsPc68SJ0X9zvSc="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.1.0_1628972918284_0.15456786870578765"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.2.0":{"name":"buttercup","version":"6.2.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.0.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.6.0"},"devDependencies":{"@babel/cli":"^7.14.3","@babel/core":"^7.14.3","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.14.4","@babel/preset-env":"^7.14.4","@types/node":"^15.6.1","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.2.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.0.0","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.2","typescript":"^4.3.2","webpack":"^5.38.1","webpack-bundle-analyzer":"^4.4.2","webpack-cli":"^4.7.0"},"engines":{"node":">=10"},"gitHead":"f66d441dc5c954b689ebd20877452f6b72d1a271","_id":"buttercup@6.2.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-KQDh5j3tn7/kdqPVHJ8xe2KrYX0vesk9lRS5cmYfCzFCwNBZkncIIfpbE/1PRvcpL5ClHl3M959zRQ8Zu9/hUQ==","shasum":"7bf3e6974ceedb55d7673089df4d8f9c949f9508","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.2.0.tgz","fileCount":252,"unpackedSize":971553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG/pECRA9TVsSAnZWagAAMmkP/A0zQhY8dNrB1QjBE78N\nVme7WYj7V2aglepIWq/GISmUQMNwZEH827oCQYChCMcZG5LjvOXng+tagtGj\nN6jb1ODz8nk8Nc+RUdbLyP56sD75A8brQ8TVufvy0m6XXBuuQIDMTlJW998l\nlZe1HPK4vCAyKUTeCurf+xtG16UrwRqEZnbax3dIUUarltwnVHenzE9fViTu\n7srllDct7lAvKX1zMeFqJVsXDEfAo5fQwYnne6xViuF6+G1+gDeHuESKQNpP\n5JAiXL4a+Uf0JdZS9CitUR81PF91paLdqGRdL37oug76MwrhH0sTHYV6e/TZ\nu1d9aWOwQ+f+LtGFH9dp0WKvfnPQQc/PdyA+JndAdnTexEyEzjrEmpAr9PHz\n1H3G2HnLrf/+P5EOYSZreA9nlTp4H3mmBWhKdBpmdoxM8qV63YpeeGR3yiNF\nC+ve+oADLyLVx2Hnx6871I4mvlnNsb+932a2Lr9J6W4zjFSY3PCHtpqjsW+r\negm7ZnxAN7oQN29AsKiD7zCarHFmGRg55pP172swucyngCpZHjMMOXV6AGQT\nbw0QBQyFNMwB35EX8Tnerhlpr50js3pP60Jw20c/axH/7nZF/u8DKllpap94\nFgMf+b0X84u9raMtWM5Qnbst3/0Md8S3ltITVPIkec5TGonUEyFaI5RZs/ib\n9yLt\r\n=MlI2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2tGYqmHhXOYgzlCjPoouEO1E2id1SHVpXYfsZBDQHZwIgCSnvgJZ3EWV85IIvmNG5hPscGaZD7If0/jfil/jwmuU="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.2.0_1629223492462_0.23597553752275746"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.3.0":{"name":"buttercup","version":"6.3.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.0.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.6.0"},"devDependencies":{"@babel/cli":"^7.14.3","@babel/core":"^7.14.3","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.14.4","@babel/preset-env":"^7.14.4","@types/node":"^15.6.1","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.2.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.0.0","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.2","typescript":"^4.3.2","webpack":"^5.38.1","webpack-bundle-analyzer":"^4.4.2","webpack-cli":"^4.7.0"},"engines":{"node":">=10"},"gitHead":"87d4044280a1b10e1428392ba0ae03d479822a2a","_id":"buttercup@6.3.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-feduUFEek9pWa/JMyHuJs7U552DXYIRhB229f/qc341A3ytUME/R7icPg+gnk+qLjOwrnQW8gwb+KjFTrlTUGA==","shasum":"e2a8fa03385a93c05fa19cdab681f317b0ed7acc","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.3.0.tgz","fileCount":252,"unpackedSize":972116,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID39ibmmA2VBtN7bsHsDC6d+Im068//oUO12LMo5gb+HAiBK5jzg46Riv9Y0MYyGXtGQUzp5kezwkhr3AsF9tcS/vQ=="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.3.0_1633288878777_0.9901521103250674"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.4.0":{"name":"buttercup","version":"6.4.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.0.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.6.0"},"devDependencies":{"@babel/cli":"^7.14.3","@babel/core":"^7.14.3","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.14.4","@babel/preset-env":"^7.14.4","@types/node":"^15.6.1","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.2.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.0.0","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.2","typescript":"^4.3.2","webpack":"^5.38.1","webpack-bundle-analyzer":"^4.4.2","webpack-cli":"^4.7.0"},"engines":{"node":">=10"},"gitHead":"b78ebcf045649def0af410bbee0d9a4d14dd044a","_id":"buttercup@6.4.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-GwbI6y4fNUgR0Jh+itUeFu83BoCDzIcvHwGf7PaFMmGWDwXen4cf1N9y3prra0EQNHeS0vrsR/8ry9O4XKYeow==","shasum":"161ca1abeaf6a3157687cef47a7a91048c346a33","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.4.0.tgz","fileCount":252,"unpackedSize":972373,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICZXa42X02AVyuLG+yEDbcJ+cJetGSavvTp5juf88SqKAiAGcQg3VtbVjs7Wy2BB8dgDx+loYhVQU1+Fc1e/XvtWyg=="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.4.0_1634582483782_0.41575402708130116"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.5.0":{"name":"buttercup","version":"6.5.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.0.0","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.6.0"},"devDependencies":{"@babel/cli":"^7.14.3","@babel/core":"^7.14.3","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/plugin-proposal-object-rest-spread":"^7.14.4","@babel/preset-env":"^7.14.4","@types/node":"^15.6.1","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.2","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.2.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.0.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.0.0","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.7","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.2","typescript":"^4.3.2","webpack":"^5.38.1","webpack-bundle-analyzer":"^4.4.2","webpack-cli":"^4.7.0"},"engines":{"node":">=10"},"gitHead":"8f9ff3b88af244a6172403547c939a6c4da95086","_id":"buttercup@6.5.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-lF/9n0SrOTdec/VIBFHKjcuZINVhce95jd+nrGbSyGgDqfW3W/bHqbElNhxr/oQmub2fzz+QpCjNZVjJhkOlgQ==","shasum":"fb4383cb4f4fce1d73eda06363eae2799f0f19ac","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.5.0.tgz","fileCount":252,"unpackedSize":974933,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgO/CCFuqjYswEYeXRBJJ0M2R6gixJT6XFr5amEQBK0AiA7OMD9tM8EHDC5XwLKvk3C5MP34VM/BbgbfzksDznfNg=="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.5.0_1634841775088_0.5151516353387549"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.6.0":{"name":"buttercup","version":"6.6.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"engines":{"node":">=10"},"gitHead":"aab08437fa992e3ba1c4d833ba66d17b5217eb0c","_id":"buttercup@6.6.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-QZ0S/kZsMsDPtzVCIs1nkSZnl9j32g+y5FuoGerOdr3npQRWnBc69JY+pMeF7wtOGBpOOxxwFZOjZJWJYP14Zg==","shasum":"7c275427ff632ca9ca132a660ad8662ee23287b1","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.6.0.tgz","fileCount":252,"unpackedSize":986575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2lSCCRA9TVsSAnZWagAAV7EQAKLLqMo2vfmtwYA6S+gG\n48m2Fs5tkD65DYDSEEljOmPF1IqwXgs2vU+pazDNi11aul6bh5/MrQXwUSQh\nWjuPR3xdbq3UtwnLLz8Z+fXMFjnlqVq7KQlIYDDqPkMUQjJDl1LEsfN7hg8U\nHSGZamxcnuM0p+i2vqOSyLOZCf054StnW/2XLfxx5wsxP8vKJOVflKTRSb2Q\nJ1Vwvcb/aoC5lJ4iYsY1iCTJfGYsTM8vsO5Fkvccs0KW3UbcRUGqeEeaS/xw\ncTw7RaCLbzmQrP/9jl2CzUJ1m+U3P+6iaqGNrl69rKZMy+/U7raRQ5j11pat\nrFl5CYcNOl2u3fjCftgU+HTx7BbDg4d+Xg6/e8LAtu37ZXa/zKjk4VY/W/4y\noK7xSVs6dzPWdexJk6OE1DDg7h7fqcCaqIbDBjri8OvjbfQmfGtBAOFXQgmK\n5+ZSPwtGwN3hs8kxOF8UGKQNni10XTRykvr3irqox2BXL3s3k66Ix0sPI53l\n4clna/gMDAs2gwGepFRSuhL51CgoH6f4/bQxhbu1DOJFDBKepdIu/c8jCo6C\nUi+zylo4bvWjR5pj9XNZToXN64bbG9xNzynqeSBj2D2cDs9l2Zr/uhC3QYei\n1oUma89hvBrkAu1E8qCYOPggszkyI2nuiy4Bla6QVJUV99tGxPBdqg6GcvSY\nVdqG\r\n=nsdj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFmzdEIiVwV2ZQE4vTQxrd/fDLCaIwqlGYXMcDX+PQEAiEAlUtxg0Ze/1fYoDWnRaGLipAaLrH2A8MeoyYqfK33PIY="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.6.0_1636573149598_0.9502135146697044"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.7.0":{"name":"buttercup","version":"6.7.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.5.0","@buttercup/googledrive-client":"^1.2.0","cowl":"^1.0.1","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"eb41e90fc3ba4668128f17ebf2bde6e8b96535cd","_id":"buttercup@6.7.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-GHY93GgVzGdJ+SHF4WFmvmpI9EeZT2jzJOIYL+vgHBa2eOv7pTk4vczbAD8cXXnSop+ni+tIlBGZjJNASKbLuw==","shasum":"324cd798261dc0463c5dc9b1ae836bc569b8c303","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.7.0.tgz","fileCount":252,"unpackedSize":986870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5W/TCRA9TVsSAnZWagAAH2AP/24SCbmF1LyYpsraV+Q7\nayGI0aYIHXWSuToi7uYkbPFd6+nTRStxNHZPYXQ1eDoC0o5b1eN25nFYt23Y\n4EUf5cMtr+EnixB1rZmz1KCL7udR8k8t8k3Bv2NLFEXrqBpjXHfZzDI1b4e2\nUf6tpy90fRgFBw4H+IZ7ndaF7mKzpsse9ClBjEKxgkCAbq6CimUTUXbdHuAe\nhzagRnZGs89nvszIi+gwGDdWwj+OCYv+d6v1H0iOZbsjkKZESW725m5oLoHF\ng3xRR8Ch5tW36X9OjJ3++f/fGMVUQT3V0FuwVtmhCn9c81+ix9qUsw/RxNPm\n/tM/lSEv/cQrNH0Oz+cgKQFOKrs/Ogrq9p9I6xDlJ/YVxJeGc0IuxGuF1Sz4\n5x+NDPvz4vXmxnjIrLVepxlVLik8XPNqFBBCtNr30K7CG4Ki1/EocBMB9PBV\nzlPKhV6svLVFfk4oixsB3ILMgYqALYEmeG91e5C7TPNSRen7Go1s7mN+ljK7\nNuFTXBnstUTmkm2obOs6j8IzDKy5oaJm5e7HgX8OasC9freoaqOphE1zECfh\n2JOwNVa6DMm67Gay8GPFo6njgBWJ4qP5QtbBKfZPI+BON7ybNVOzdZ3pwj0K\nRubdaJN9SEXlXb6Y7IicIyvcFdm14HPVkp1sYWWC60aBjCbxB/NRB0kA/ZKI\nzPXm\r\n=9YfT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGsiConHgJ/nQM4zjI/MJao7m+F3Ry1XK8PzVrwbTV+9AiAGjVmwPEGx11ZBLMqacDOuQZca0OlI1SlKleEnvbSECA=="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.7.0_1642426323382_0.778409341788431"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.8.0":{"name":"buttercup","version":"6.8.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.7.1","@buttercup/googledrive-client":"^1.3.1","cowl":"^1.0.2","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"2cb67688729bfeae9e62a7181059910a36c580b6","_id":"buttercup@6.8.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-8iVyV1C3spIMThccGBXYvvLSEM0iHlhIKj5814PsHoz1HbET5D/5rZ7iEbjPA7RZwrOJfMN+YoZQrpJjaMhXhQ==","shasum":"3b36e023e4408b1e52f75c5382a69ba796c383bd","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.8.0.tgz","fileCount":252,"unpackedSize":989424,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9kWgCRA9TVsSAnZWagAA08kQAJwO/mg+QITLoQ2WQyYN\nzpH/0aFbpcaSe/802jjiSu5OqWNSxgPmL63FmAqTxcL6p2QXaTw2CR43ioLV\n6iQCMO6dXJY1FbqpaJRg8VUTHul2cf8t2CK5ONg5BKgwseuFtGWGKm71fejz\n8KqeXJIbSP0KzDR0TtJ/OeGS8IAXFLeFGzqF5+nJFwIFb/Yb6G+YX/U/a8qV\nAmkHatw1AWtjYmLi5rynWhIbLGylujcKmbqKKrjzqLuAaCNsiLCx8yWhwQiC\nHja2opRtqaPJZtMsW7X9eeXprxcfU5kk9ctAHKNCSzBwB8G6eyTb6U1lGf2y\nlmB0juC3Eq9WbURptftnz7QUkXgtR1NXdEmmP25oI5YqkHLjDEQFlIdfQE+f\nJN548aN93lcXsIpJ2r4RGIOeNwTj3hWbYtfuWWv8OVyD75XrvxU3GzpxeN+g\nBReReYZPU1UsA/5RMMtObakbBvQSunxMO4lxVJCCdZDjeVBp2j9yyJF7iBfx\nv5dlaTJxoJjjzht5j9XByag3r/CTK1aCdTHoyqw9StwVP10TZQk8go9WBCnK\nHpz1q6LeA9z/PRJPWs03LoiMTP6bycwN6v+OGgOuxibSasWOio4bRPdqsVWD\nHNdfkTH5vlQP2caArgKTW4OfEM7zGqLCPs+gyLCdsNAS2ZRz2uDqF8tl3Syi\nOjlk\r\n=USWA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkMMOujfYxWGMzTvbnnM00uuGcAQJbFq1EwJt+cz550AIhAOJtG/XtnOLZkZKki9DPogNY9mbjb3Iks1SOH1ygiYeX"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.8.0_1643529632591_0.6576394407283159"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.8.1":{"name":"buttercup","version":"6.8.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.7.2","@buttercup/googledrive-client":"^1.3.2","cowl":"^1.0.3","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"dcbb3c2cb4c3fbfeb6d0a9785f5afca59f49c5a0","_id":"buttercup@6.8.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Je8gPvPtEjrQlHrKIGoo0HJ5uGCFUuFmf/eMTXGL20qefDU+W6MUAWaN7nkFW+Kcy0/RPq+IaWF6YJuj7RM+cA==","shasum":"108f71a90c49395d9bb11f1423a1fb8e06553162","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.8.1.tgz","fileCount":252,"unpackedSize":989636,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9kjUCRA9TVsSAnZWagAAeUMP/A2aZTbkYN9Pa2JRMCSd\ninuf7xtrREHO7qIP605hvXZ66IEKDatX8gHyLT8SNlMQfRPwQohGMEmJ8slJ\nHMlmhxUeVPLHXOxIRItIgXQvAyMDbm+G7rBmjb8HId1jviZLg5n+SSz4IBBq\nF5zcs9W81pPxxCxejPxfN0FgNZBQ4tostZRBlgmVgn6Ur9yhnd0e+olPKTjB\nZlGr6LcvGl5aYSPlCSLJtArdzvQ2aSZv63cjHVBHatONITK4WbgAKzdbtz2z\nMfC2Bk/LDsjj29aqhnM6olXdMkNTCzRkhY1FGgcJeuDzn/aMyoC2h/sdtmxi\n7RxFjQ0yzgJepvPGCK28pbw1hCFpG7H7DgkDJxPNEH6MQVGPhfpQUjzR+KeM\nA8zfGD7BfdaPUTEgVb7ZOQUr0WgYVRYxxeCQ5Gi/j7PCewEliSYxnrumhKDH\nPDknyytz/mkrNZCrUTZ4v7mC/Q+GIv2I4MsyvDH9Xuzunjr9uzqsVbIe51sX\nb6hRu5lGhp1J8d/aLUC1UQ2rd2jDH4fQWUrBnHssdyfx9H1LLbiwsDcMLv8n\nQFbhr6bAQbat18I1ms3F5kA6+mNoTVBAvgoPRn8LFlQy7DO6WJabUV156Yyu\n2qU+E3FZ3KMqgushy1R+bbvn4kHigGKJLV0ZMjohWLL3poaOybxutZTVy6cb\n2acY\r\n=arKS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEy04OpYJv7mLT5ITC4dC6UMezRhTeflaexTgv/0PA7eAiEAsv83FeJI1VVvJI8IzGGKvMYrrnymYy3auhhiqsuyTyg="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.8.1_1643530452595_0.13304557020330998"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.8.2":{"name":"buttercup","version":"6.8.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.7.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"5b2b6c1ab5546fb79c56c988f3fe2c92bafe5308","_id":"buttercup@6.8.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-1zzEVbWOp82J4Roye0qihJG5tqcqY2VX+E4jR5ah/gHi/tSNnFVV39/o7lWhgwbW8Faedog4ZYSMKzZxgeYcow==","shasum":"b47b20213c06300295fddfeaaf67c3aadaecfa89","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.8.2.tgz","fileCount":252,"unpackedSize":989670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9mx9CRA9TVsSAnZWagAAV1MQAIsycFAiJfQgExNF3k6b\nwkYsTM+vvW//wAuXEPtsYmDfGLG0/xw07VhOVMhkpf7h2fWCjG/IfczUwS72\nwhOov+heTXPQDB9m0vtDl1SNAG4S5MCHMKIhTCcHl5AsUSIvmswyCHryWMuc\njKDFvnUbJzTNENNSQmH9aXoqdFUlAdTqp7hhdmw1MIUFDTzCBlGWfQsaaxhd\niknGzyMv4UyxjjxM50uIfahuKJfB/9W6LJ49E0DVu7Kc+lEOv5gud4VQ/Ttm\nSkyOxRfU2pSBw7BB4Nf4seanNF4RWhI2Tg6cOXLem9Nnvjb6Z9gYNnfh27Bf\nfIPXjU3Il8UWjolsPdZaaFRh4T75nSsxyk5MoyuNTZUdyKmBAtHDfc+evsfo\nkCrOjay5eLgnc51YafaahJ/yFr2NZBXkTOpAXJcpW3leEQkFC+Po4mBiYOWf\n9sg088CDq+WBdudZ6ZKP/45Q1WHP1Jff0dO1hxRcFFGrrHn/AdtFUh+Bue1l\nzzJUHZ0RSIZv+uuzPvCLicXSAPUMEC+6s/Jn7XuI2NM8eNiyz8LVUSUHov9r\nKIqdrbONfXxSpFiBmmLKpwS/oOHiHB400EBFICCse/ebKyKSlo+irKpVcEBv\nQsQTt/c8eEoL18vQ5fxvpByQNEtJ8uvyuHn+FlLABZBolr6GK9QuvC+LJ2/f\nMKcK\r\n=sgCc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA/aS9ewH/ZTKIhA1jOPauZF8xu1JXbOzq+AFp7P79B+AiEA7CXbQTTef5hUNDfGKuPcxrD0FrO1aD3OOgY7Ccv/BBg="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.8.2_1643539581546_0.2639620541936134"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.9.0":{"name":"buttercup","version":"6.9.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.7.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"a2a86d99406a1573602482b1a103eb09cbee05e3","_id":"buttercup@6.9.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-inyUHHzrXw5YSG/Vy7UXqPn/R3LL22EUeyW6zkRwgg+jH7OmONpO/S+yOWjQKrNBL5QRjiyIGUv+Bo8h9y81og==","shasum":"9ed407ef619ae87d0abc17a4a424999f79966af1","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.9.0.tgz","fileCount":252,"unpackedSize":990502,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+CulCRA9TVsSAnZWagAAjMoP/RO/B3MUskZa2byg8uGM\npTBN+W8QW5+GLucEaoMLycOJSsAgTjUEXirlprHUfNIKsJNjbxv809kRFsLo\nRqgXg9ShghWcwNQZz0h+5BEXuV1h0r+A9ziRfLCsTQtPXEYjs9syKfs9Fykj\nPlckD7EiyBo63CnkPMKKOntlQUkMduNqlTEOgBJ5FOuSzxXAmQJTy6ODIxEq\nYqMQ2oAI1ej+XNkc1fwEaM2qjyT6xmct0mY5b96xHbXvrFXomo32xqeNAMLu\nDjOwmZNWJ9pApG0vGXk55/sKwb14xXaq+I3myvTKEYCUkHBVGu/D2aAXV83e\nkusg4+PMqFDAFmUeW4BbYa8DZahd2n78QLfXUNqCPhEuMkafObmZOUi8xl/5\nNa/GX+Ki3d05W0xlBD+gD0Wz9pazNv6vqqfsSG4PMAxa9jjFh2Vj2CNMJEox\nitpE0Yc/PaIkoFLj/Skeq1hsMqezdWgwCcum4Of5S7+ch/lV2UuqOQvF/Zfa\nvh9CW7vMLzbok3VrNKb8wWFnkn8dLnfxVpdJkkWYDF65gQNxSVuDhESMDiju\nl+pi78SktsR0ofq5SAdunD43seAjp24CFv05etURQ0fv01cIorpOHFmQHolv\nWmQoKiC68ZbETKTOxy2wO73OHnSe/lmEaWucCjm0GpNcSZe8i6alNDOHFAWD\npCIJ\r\n=2e70\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1gEWcYbKvvQkLaSYxnpNBz554F6mTso5xlF2ZMHMxUwIhAPx2Stx1kUk6vO3Kf+Dr+RC1cHfnp1TeuFLz15iPQ6im"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.9.0_1643654053730_0.4736458993906285"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.9.1":{"name":"buttercup","version":"6.9.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.7.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"803bb39e4e251b1d4ad2f260377dce621601c689","_id":"buttercup@6.9.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-cR0H0V4Es888c4umIL1tsBPG6OnN+HqLBBfyOCjI7S8ShZNv1VCchvAoexL1khdSByTcY394gVhmy+nIx3Qg+w==","shasum":"4025782fa830b1dda93135be905960ab7c4b19eb","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.9.1.tgz","fileCount":252,"unpackedSize":991476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+DH2CRA9TVsSAnZWagAAx/4P/1FneqxtjtufVlaNinO/\nFMV8YyTCumLJtP1TT1y8gKRwnh2jFg68G75FLf+LxyArkXRv6LkgQ9Ruuhfl\nyeXaQTfU3uvKXIKR94YmAmK7pSMNJmmjDo9YGauMfKZIdC+Hs57i5QeARqsU\n3/zHyJTuaJv3toFpGe9ucs5tgyeQZ27bB9T22bPsXfT3zOEsffSccqHCG76m\nDhzxkOCmLd5Ga4RmW0cDwV5G3xLGxrVQV41k4zJT9z4e80JXdloC5P4okrik\n4wqAudbiL0JrfYcwfI/5twZJ6dk1SRsuRRA8qSc3SUwpZnuZreVYjyXiE7uA\nwZtVDkg5lsijGvU6xAJ1Mh6hLxBOniCKpObtJHz+q4Tea0UM68ObekmuUe+i\nKKpZ8y2NRdPXTsf+8ea8/s8mFxexU4T+ScTrMty2rqFAK1FDadip84dPtRAF\ngkPpcgyBMZ9kbmqeSW1SbRIM7zxVBQXqHegvoSh17oJMKs5mcIJPd9gEqVO2\nS+xqRzmQgxIE3Rzv8l/gH7d6gOMpt8RWKQSNC9Xqmw/QTIU7E1hNknQoKcRx\nk72YCyurhxLylwAzUFbKq2rb8mV+NhdgwAcw41JqMphIA/2/Ly1nnglzsy5c\nhAtRNMllQBjd7hbNSPUmEoH7doTNBqHQbam5EOdWDi2dQQicLS03e6UIQ7nc\n+3dl\r\n=M70g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfNCFNaEsv3yJKIh1xBLdBGeWxOKI9VBlX9kmrekwjkAIgeApCRd5RUC8/YbehAzhr22jPSmYJsloDuD+qS39x5wQ="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.9.1_1643655670705_0.2197372211607478"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.10.0":{"name":"buttercup","version":"6.10.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.7.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"accafc68765b62fae7f735f6efd7bf6263de4758","_id":"buttercup@6.10.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-h5jodTWQneFXvzXkZG5Gz7sVrnm29ECAfr4mvK1oxYeZNm8eXZRyqYXDGFwdfK/HHAzqPRpjPM5xaJfWn3VdRg==","shasum":"becd5c68bf1df90a1ee82c2c6cada79f3e523db2","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.10.0.tgz","fileCount":252,"unpackedSize":992072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiASm/CRA9TVsSAnZWagAAq90P/it6+aRGSxBF3HPKqEMM\nMjdMkQYGg63uffZQjyod5RhjwdSqGQfs3lK0Kv5uhIWFfSIggUIT/HgBoxeP\noy3XTSgWeoQjXsDr5RspKJhwketr0YiedCgsm1ydlrxWFHJzLro+WXnLvAVN\nmLOfsMObEmTFVYUQfqa3dT+23446bC64+dQKBpt+qHHEKrbzEW8IzRON9UKF\nCPfzb3/HVTibnah1gVdKfY/D/t88eIYU8GsV+ZJ6KoBpHnFybYg2mkEuLuzb\nxR5cfTi8e2wDpqGGx5ljlFSh2k/jd4Jn00EyNkB1DPBl+U/NPBmDEfUC9+Kz\nn9Eq77m54eZ+oWzFTqzUctxYvyrAJodtP+e9aoPw8DTtT1w1nxIkx8LV9liB\nP7JeGKEXowv4rco/FA3ghk5fntu0spmkfPx2RDraUZuE7k4qdbGvqIfbuk7+\nZSzocRY/cBYK9m1TEualv54Hv2SqCZCnwZRNfR3g/6CiMOYCjaS20rP1qVLy\nEH3bz+CWtrcYBXinLn8dFBBtkvgw82nXNV54dinuVvZ5JnE9t4+eGp/svxqa\nedGaIj2gc4K0vCMPSGg1F3R/Nx9+3Si1OBUFT3JBJtim48ww2q0FLVrUSJRT\nV/UsiNSoLvuQrA+pxCkzd00vqXdMlgr5Pn6ikCJOKhvsPPku2puLBHMNlVKv\nnRFX\r\n=SxFN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCq94Nmfg27zHeHciYrHd1kw9ME0auKmgy2GPhuqysh1wIhAM9d23vj/dhCOOyt+Uq2iXCqbrw0h1pR+sH1v2Zh+hFr"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.10.0_1644243391112_0.7653558134393181"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.11.0":{"name":"buttercup","version":"6.11.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.7.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"2094925534a3918c3dafe04e953ff3b6004eb572","_id":"buttercup@6.11.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-fuKB6+sOTRIziRwfMG2wTsvjxJ8zgKLAe+S6eU3DSTayGFD0x5WQdIAuWgqBkRWArWK6Yr9huFILzuIKMdBibA==","shasum":"ba8b1992c9858462866890b825ca0ad406728665","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.11.0.tgz","fileCount":252,"unpackedSize":993943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCWuBCRA9TVsSAnZWagAAf+IQAJ5lKOdPIDL0eGvDUvul\n91eHikWEnO9U3/FmZABps794MdBh7bl3FubDPwLHNoVn+bFtgEdBPQlrxSfs\nUHiRWC4VF5gP0zj62x4pr37IjzOAKfYEj//WURuevkqA7tTigFYpNOK3axUc\nP86oItRDMCfSdMPDJDdDE5H4lLhCg5AwrnwNrYJfTGhLYxXbxb6AmWyhRwLv\nRJFZoJPEmJGUL5/VDEYrLO3hIS/02oeTUr0BigTySpYvdb+nOfgGei5cBhP+\nr92VR9ji1IwI4gdFDI0VZWykclStUN9imnAmWrR8DIhKCR4cN8DZiQY3H9FN\nExFYVytxiH6UNM3ShiBRo1WvX5e3PYGA0mBpHHhdxC2e3ytE8Mt+VY8WkdV8\nuIMMvcNidkcv72A0vaafhTWa/byGVqvcr9n9J61Q63SPmzk3M1Izr82yfvFe\nCK8igglGFdcN5MZ1896gHu5pmUjhphlgKxsqfIUgw4z3cJg3DR1nR2E1wReu\nT1/x3BdrC8s/pbhlffSFfOhzk1c4TItpFT5ixxwmSFiGUl1JoJVScUTwRl+K\nD2HTvL2arnpG/9f1+hizia1hWHG9x0PfQTiiwCWL24jKLTtyzr6MpwteVCKZ\nuTKrGvdhykab4SlZGGdPPXA5J9cN8BAChPGAoY0G/m3DFBijLBzjw9mwWaex\nYr2L\r\n=nGys\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWOYjw5sFXjcxX8Py8TOt/DpKWGXWZMnfvn7EiLy4SrQIhAIIlO757X07VgI7+aRZg15W9YlKeTaUnH+UcpNwbz6VO"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.11.0_1644784513071_0.2396717828794661"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.12.0":{"name":"buttercup","version":"6.12.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},{"name":"Sallar Kaboli","email":"sallar.kaboli@gmail.com"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.7.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"8f5bd5d66b49123ebbe74205be92836e354fa27c","_id":"buttercup@6.12.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-BMKj3MYgda4xK2grEBawTXvTA/T2IS6Aph1lO0m/NbOLh0V0+67pxwveNAN6l4qtR8WAIbAWw9qvvhfbizu8bw==","shasum":"199d9d1dc26f7a8b25fe23b38d5b96495f309220","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.12.0.tgz","fileCount":252,"unpackedSize":996775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCsD9CRA9TVsSAnZWagAAuO8P/3zkoPrQl6C2ieN78xkT\nwIfq8bFzSh1qOPHqSOQMGVGe9FtgBumRIJDzi4CPAouS1HuZFljbw1csnqNH\nrE39Y6XKzcUxSXn7FeN/S4By7b+Xgiwem20NPaqe87E2OjjLCdBqmHJf6ZBp\nhm3G91bfc+HO9I2Li8FT9cZMpIaNSE0zv62qEQGxO1b9tqxWAZxkkeHGuaLS\nKGkNentolBkoN7xa5Ksguwu/nr7A3xugfZDjd70VNzpwkbrJnTD8t6SQ52Bk\nkB2kHB3JRKIqXxH0c0yF3XoAxnD1EHRf1pRb0uWgIrFTlA0nFY2o7HgvFRDw\nT7n+R1LF8XaCEDoCwSOfgNCPrnak9Fozo4KyaLzOVyb19+K31oSGTbtfD8Xx\nQTS6KrB40a4tBj0W/tRChopSZEE26lljjLkz+p69T9DClbmOVE0YFds7Etej\n7FEsCkyTD4YQoM32940kMVP+iFFsq//ptZ+BZz517pBC3vNZgKmTbMWGlLq1\ncs5sBn7I/zzi+clmsvyB8FgDZhZpCT6lA3jEJZKy157OQD6KhoW8v/2nfVSn\nKFogBce6PzAyJr6jgvqok1mxxfG0F/tNSrytwzjs8EYNeFuqVArIdOrnt+Gu\nx75b1SHb+QzzOLSjdEWhN6Z4/REixtH4m/85HNFqlWr4iImBvP4HwZz0rZzF\nBScJ\r\n=RPa2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICXEGSgcaS8ucVEtVVb+Ex9fCygDnwPUtESkYum9+lMaAiEAjaXXoVAElWp66Panz2AqEZYsOnC9qlIuDtXXmGt9GLE="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar.kaboli@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.12.0_1644871932861_0.9335541720914069"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.13.0":{"name":"buttercup","version":"6.13.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.8.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"94442c0708d1e2182b9811899a4fa3505c562e2b","_id":"buttercup@6.13.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-ubnJy/rUGWR89X+nUflxxFYXJ1aYPBNLeeFS7WKphAeScruUVQLyp2NkTEvvE3OAVv6mEdAkd2usJa4jnJebwg==","shasum":"04a1000bb42fbf671bd8dfba7fe738bc9b4f3ee0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.13.0.tgz","fileCount":252,"unpackedSize":997010,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJd7Dba5/TX58utjclMG3wdX+l+DeGx3l7szW8SxfevAiEA6ubSxPbxiAxRmXZtLDTs1n0EBbgTWpZtyb6YOj/2xac="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVdMhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrnuA/8DUUMTM67ehPXS30JjqfXcyg0fP3IYDlPu9SJQjMvIeHWJy7L\r\nNLdJMbixWa3toVuj0r9LW3IH6k0s9P3Sr01iRCibSjfYya0iuZtim21sWR2B\r\nWbzdm1lpXs2MRNf+pkeMPtEAm3iOLD68ThqLEMdLDw6TTkOkF4lJwWinDaj/\r\noxqW1iYSbaa9lxpMTY30GKR6O4z8HrnRt+g5d4QMIQMLbpQpTJ6kJdqitpiW\r\nmDAHt8jJU5Qq8yi1JQ8Z46Lc4xy1ZiIKQYJbRclnznLsNUIZXInTEiRnL04c\r\nEpahj9B1wJtmxGJCPMwq1Nqh0gvyaNF+DRO/YuU0cH+7hWiS8rGrqAJTEx4X\r\n5m6hSAI2UVio4xycDoqDU2AyzkJ2YI3UMWyoGE3Bp0RPy9x09Um2cjr6zG6A\r\nf4BGR991P1dBfhxdiKsGlQVeFSw497QnLvouEZYjWmO/pt7P9POh0GimDvkI\r\nEUFRwzeRDmMHSO7eTdk+kon13SFeqcoIb75WksqPBZ3kW7goDAYzHwNCgK0+\r\neW80i5wNQn9ykGOobbeZ0gc3aL33cHn3xXuParCiu4DDF57vyEHfvmDO6IfI\r\n9PgDKTMPN5cVP3m9oDhtmQ95fGRUqqZSAsL9wycvijFuvPRXBR8RXy/VMcUV\r\nST/1A68EF39sqDwzsrw5wbjkCvs5F9nzLKU=\r\n=kxGK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.13.0_1649791777446_0.5223966585551747"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.13.1":{"name":"buttercup","version":"6.13.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.0.1","@buttercup/dropbox-client":"^0.8.1","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.4.6","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.7.0"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/preset-env":"^7.16.0","@types/node":"^16.11.7","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.4","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.15","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.2.6","typescript":"^4.4.4","webpack":"^5.63.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.1"},"gitHead":"ca0daf1398ab794c028a0327aed32b9f85fb0459","_id":"buttercup@6.13.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-YM5v2BF969xt3JQb+0NMdYl7i7Zh4/h2NQvaEoFASe+J92RJlQeEZJL2UVnMkt8ipfLXq4uMpR//5DKSNb5CzQ==","shasum":"e3592c7d156385e74303485f3b56cbd045e570dc","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.13.1.tgz","fileCount":252,"unpackedSize":997042,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbibojzvE4SGp9QiYmLp8feK3DNiPiaOCR5CamdW8GIAIgJY8Bj+GdcLrG43znBuFEHRODHolMLyHVoUXOa5p7KbI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVxCZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTjQ/+JFI3KPzkUyAmWl+8uLkHSl/NNHekFV9d4mUAE/lYNbatM/qS\r\naYm8SzFMnQwdO/He+CJDTo51SDjWY++D6j7Gq5ZKt83sksKFVreTJO1yGPu/\r\n/R7XKF4x5AxbRS1hwwH/P273ThHVASltfKtNJDJAS3L5x+8rSTMc94Q8WLIa\r\npMCdyNwq2ZEYc8V72cdCUUeGrHyI3hz4dKbjH/lN3Iav4v20xStJbw/aKut6\r\nnrJbv0y1F6T4GVlvzXsmYUJk9vpLp55nRMsdUQo2nkX9Vq9Q3FaOzCXi2Oae\r\nsVEgT72rG3QGLmgRUG8M5xLeR1WN/3nS4THUdmEmocIie4Apkux1xiR+1Wc5\r\naZE4v9ATPMAzNR8fkPw5ZkzFBNBCaiv/2COOW3XBM93fPD1HsKjBtazfClm3\r\nHsviGsI2VfUUcmEYqLYYpRHj0ASbajiFONvWBW6ZAIyM4X4a8om5koWv1d7i\r\nJe0Y6G3DWjh5hf5PQNe0Taz/AdSDz3SXbBprqFzz31EfNsVfIyEhKAFW6nNG\r\n0nvqTdbelMy/LguIRY2+YH+0fHJjWBlSCoIA4OmWDsNbBAe/GpEoOWmbFM9L\r\nfc81Qi3uc3pqQpTNvHygaHvqrd3mhEEb1xsa5lrAJ0j/tUgtIQC+OP1YrycU\r\nxEbVEJ0hNIVRVgl1zXm1bIQaJiQCE+IuqTc=\r\n=zvCx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.13.1_1649873049630_0.9848245738465482"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.14.0":{"name":"buttercup","version":"6.14.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"3b9c9a7937b31b7f254bdb4a6a346875f9971fce","_id":"buttercup@6.14.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-YYJ9Z+Yu5c3O7STV1/ksjn35aUTFDVSmrZm8W7uUPOz7up+LjsNLF4PAEYF0b73nWExgT2m/jxaag9XqHEWZ9Q==","shasum":"b4139252ed23ba296154d43d60679213faa08d7e","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.14.0.tgz","fileCount":252,"unpackedSize":1016479,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjrWtcG3slAeG4TdIo8sKqCMlxs9K3rkCEteX/L+jWeAiBORz35ZXRkZIbvwtdw9msI5128VQHte+yO3TzuAcIp6Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijnkVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrnig/6Al+cVoJXZiUNGwuWiqrmfxcEB7WUq09+aSOUWUSIVowgduQ+\r\nYtCgUPmf8iXCQSs7LD2rheofPK3ob6j1Y19ix0MiZPs90gx2XzVLIRtIOiWN\r\n72t0969t78hyf/D9Ab6LzAOY8YFysqLwLVrjzuOG0j0N4pkO/vpN4zkb3pE1\r\nMw98y4+/WlykJ+rH8cpONjNfJ0r1Lyrhvk9jmrJFQm05BseumjHhGEcyQn7C\r\nq3rhqvlmXd3C+01Cwnd66DZN+Kd9ZlYT3mbz7QuxPA9KnGlKXolzDPIAboGh\r\nrJ08563ow1L+pa6/bUlSSREWFvbxzbaRdYGTXbcjwpd3PJnIVuQrCnRoWNQZ\r\nRKC1EB0XAOCSu8UiAs3rQKnhkhD+9xxRo87azIg9G7Vvkb+EdRnJJYNGtHEl\r\nXbSd4I2xUEqiS38cgKbg/s3IUMwr4QPgaygZmE21nl20qrCdbA0QXFNMUTT+\r\nlw0yRpJ06QP17/uHwvu4f8Nh1rlM1uEJ6kfMFE1mGVB7bGQ+2YXhg69FNQXj\r\nY7wsxOMR578ugfsrpkg/qEuMtWDh+WmRcyFAoz+oNjbx+KqEK8Y4yF2crrxZ\r\ngjHNkqEWCS7GExC9UBriKwBD4/kqQRRAud44pkhdF0Ydfh1Ee7dcmM3i14pr\r\npMRl0QB2zFUWsD8CfDdwXoeJ7i6lHc8lbsc=\r\n=t6ZK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.14.0_1653504277423_0.14591911195844354"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.15.0":{"name":"buttercup","version":"6.15.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"5c1a5fb445ed966b745f1a35332e7a4ee9afbdda","_id":"buttercup@6.15.0","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-klQRXgrgWTDakVm9C8urlxlctg47Do5EqEKZYHYrWANLcHZn02kuCp9bgIm7tMu3Lzja+Ew+D0TB+vESAts2EA==","shasum":"e33dad06eac2153c3521a747144fb8432b7b52a9","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.15.0.tgz","fileCount":252,"unpackedSize":1019020,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE6a2LU0ZKt2eixZue7ZBJYnxR6HGHtCaQ2qkpZeMWDaAiBvdFFhFMC6pggK7N2KCjpLfkQ/jAM1wvZHiSaDgbDo5w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6sg6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5KxAAiAotrDvfOMk8sjdZVUqu/U+OxODxzC6YMjdnLMpu1+aOUbc+\r\nyOTLspD3qYME66D9qPNXt7GwhAsfv0Bydgh1S40DBxOR8IIfTfEsrKK/vvC2\r\nuZkZlPNvhMvqtteayh64zEtVE9ZKIMft+bU/JBm4mAf9oDjywEBXAGykWQVP\r\nxnK7k9ctxx47aCQErXJCz6glxACv5ErW9fmjmgoKepn8sAOtATzbzpXooAnt\r\nK7FZcSqNh6AuQlaSDpjksUR4msf8UiyREoiohdiqhI6WppKPZH+veCtqNInz\r\n4oF0smSZ8pOm7RP5RvgezudhHMEDm2RwQJGiX+C6kT3SZ/WDwm/+N/L7t8pb\r\nVy1euTJweNQd/ZpLeUTdJjSt+4FW8S9sKB8tahpwpPegQ84WaYnXUWbTcOqK\r\nJicUfHN5YE6oSKWI/p4gfuSdFHv8zbuIhKSAkdCdC93BWYOjrRSe23fK24xV\r\n0pjmKqtZ44ywAsC7GPnV4uZIbOnLDz+/ly1srYe8MefR85YLAWz/vQb2WB2r\r\nY/LJFk7bvMiL45YaQlxA+5tcORLWeCJKEHByZxfkgdjYTojJAIE0RDglrAAM\r\n0hI/ghcS9Jt0ToFUxN7TbHugVZZ9PgWJFoaEjNX67YAOjOXO+eChmyAzqGRK\r\nD6isz1kbDg0UK/AfpMsw3bVD+88xLyBsb0A=\r\n=1Klk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.15.0_1659553850541_0.958896137806134"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.15.1":{"name":"buttercup","version":"6.15.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"2283bfd2131df7b2e64fd9650a95549308fd2e97","_id":"buttercup@6.15.1","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-vVk2psfwI30jnEvN1JPZaIpQ78wik1Xy5ql0buqA5vy9Cuv1nsAUWZa2wvT8VcoOD5luwJIOGS7eUdjidIbiTA==","shasum":"70da6f74972301b08a2291fc9090d814ef2d5a74","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.15.1.tgz","fileCount":252,"unpackedSize":1020314,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF0j8vwwFWHuykDkUJZOxsaGhi0+ahKOfZnQ6/vU2wfMAiBxU97yCbukKRZfANW1NI390z8O9gG4PQFQjpw+kVo6dQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+9viACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrX9Q/6Avifx7eeqChcpRkwtayk6jQndi+GFEUR9U+EgbcWfOmSugAT\r\nGXe6y/S5/G6EYlv0XOmxOgXC2imm/BQnz2N2Qlm0Vv0npk23Ri+7OGtTon9j\r\nVEFCUFzyisv+NJYnRBmz3CPU2ZX0uYrcSnjBU3P9O0TM3r7uS/PlRIeXFKq5\r\nr8QaT41DnzXHk2zuqSK6xobwbiY5qHzBotuUCEvXI+gbZgwCvJbn+I6CkqUm\r\nrsXmh8ZulE5au52uHxc8RrJdilIAOTjpZ30p4F+t+PEYErZvlnCwBdgQM0/X\r\nQGXMW7Ffaki++T9ebLWovsCi1DWGrrGojN2olqMe7WHftfaa4OSnNpVsSPmx\r\nBaLAUE3WD4NOVhEP8T6M16AdwvV+KOdFsx/ojOBIw5gXXFq9WIwSgkXYAkGz\r\n81l95DV4qf+eM3oXQT/9EjXHeOwXRTcIEOrURzTJgqzW8iVQTMxdMyvzFHAq\r\nYIBGYQ8Dq9ghEmNlEmWNhpIxPp0LXKntb1RT8Ry7/IgEj/clzcGz1KDaDEg1\r\nOIgcMQhela4St3pHKLpWEtm1UomERCigNPjRlKdKyv3LSlYM8Fsk+sKBU6uE\r\nBZTHjbF+Eq0u3JnBtG1MlR0PSUla9cJXlrfJ4qtxlREVW33QDuB7AIxZ0KDh\r\nd4fIXZG1rszcEzq2zNDPlLc2J+uaWB7iJs8=\r\n=Phzk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.15.1_1660672993826_0.6282111212522947"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.15.2":{"name":"buttercup","version":"6.15.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"fa53a779d50d9e2285d756d12f4991f689268217","_id":"buttercup@6.15.2","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-7lx3l15n75riWlT8CGKa0i72j9zMhYXTYWd2gSa+h7s32LYvLJVykkHmHneTljsmJT4j3PT7O4hygvj6rM8jfA==","shasum":"cb7cfd7caa8d5ad3c359f59db2d72a623fdc0193","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.15.2.tgz","fileCount":252,"unpackedSize":1020496,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrQZpmbcCIXTrZJ2qctYOD8Ua1lYHaAFYY11bunleDgAIhAOA/29uafr/VpMxrFwiWLjuvfK0qNtO0DJRgB9TY45xq"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi++QnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoy4BAAopToEDA4toF7rNMMpvMuanlX9bI4jsHBs9Kq6e53lebLCn8/\r\nzkXDoRj5OfawlQ4gcpbw5OH5/4QCzyOrBg89mohO5HVZ/UWi0UTvNn4NVrbL\r\ncBzTJIuO1joHXLfgF6FymNoms+/2EyS6F0TjWmpplHS6zPgVyhYRdHrGozL6\r\nrZyu07pmYOArAYE+sFEvT6yrw0tU/KU13qn7tBwpA9odTj8K5qfozlNb271h\r\nvGwJIJUcMoZrrxdAI33uLadDlom8J9Sn/YRwUzLJ05QvmhJK2BoMnPqdf2UP\r\nN8OcJbADbvLUAtGAyyzjeG476A1QcFdP9uYwuq354ZnE0glvGq7giEaNvlvu\r\n2B8YrvCxARxG43ieGlP3IE8ibi+HAnZggdDaT07Dll2JeyKCxvntXz40GOsk\r\nEKNxiOw/z43WVitZb9cF8ymBejk+q8X7+dsdSevu6iIwh1juNma4xRD/AQ0A\r\nVaq6f/2POo9GHMB/NrN17g9Ohv742NMSM/6OfPQi61lu220xZWWisV++0RbK\r\nqih3dVUf6MIDp9YETsleXXcM/laofUTNoXvDuVSdewWwpN9w3IBKIUoc0SJm\r\nV3Z8Gv+PqAtDYIvUrUus1N2WAkmvkCGyysHqfpqoLqdy8+eRcgOmonqS9c0C\r\nqWROVuz/1H4sbaWNK9GvfCAv/Yi8zGv9+0o=\r\n=ZxtU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.15.2_1660675111545_0.017264390094458015"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.15.3":{"name":"buttercup","version":"6.15.3","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","istanbul":"^0.4.5","istanbul-instrumenter-loader":"^3.0.0","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"0a83d960f92afa4c675a4af05706b01d0e603d16","_id":"buttercup@6.15.3","_nodeVersion":"16.13.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-/FVknleY5shYa9B9VAWglqWQo3ND8weGix7/qXJDoxg6lsxK0jCZsXpDvLS+nkugJiEYjtcqWaCRSDwtBVNNFA==","shasum":"204b0317038a5860f50a5a5cd39817d7bd292bf5","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.15.3.tgz","fileCount":252,"unpackedSize":1001992,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGDndyvAEolOFyQgSjna0BbJnuzVPQf57Jkn0wxNM/MLAiBTV3F/NeGNr0XqWAYygmYAJVLvdVBvkNmdDmi2W3R4YA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDRa7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqsjg//eKbypplz27zrTF2A7HSH9CELjvmt+ziCCLb2qVYJu8G8Dfp2\r\n9oN8vdn+JOG6sl35TtQhn9mHwRge30dqx/7cSSHMUdBqBNn1eTiBZbPzZdlT\r\ncjaHG7Xu+e/AYJOLP9XQXyDxikkBMObximHW/xM86Ye2l6lUpV7y2g9svvXB\r\ng+dpxPtCU64SMuGyh6YfvoxR8pHKnemryPia1GN9TjljTJ8MBqjon1bIyQfW\r\nf4f6rh2SXx8kt2pLaHn+fLUtcpAIMJz2DihGL9Mnkb2voxCvY2L2saGDEpdV\r\nMKr8Ym1+shHmtDPGclNeXqCXLHmRY5fCFx79FdNj44FH/g3nsogjMPKib9yu\r\n86pyi446KUJLJH5KvsZrfcQCvpjMcuZsy+eyEoHCqMvByhKtg3arCwGwes05\r\nwbR2i+8mWDkumwCxuDTGizHqG7EjoAVnJG1xf1Gwh6Zqe7fKJbj5F/tNnIpy\r\nobfHZGePOebuazWdQaGBan80nzAbl2UixEz0NP7wIiDYBBoPUp7uohRerXZC\r\n//ekIQSQUl/SyBVbcptpqKyXHimT4Cip6WnTZa0HsVYiewARAjMl0UsFm5wh\r\nmpQzaH3BZo3AmQCqGWl/PoOvm20uazjhXGiUx+g+NNnxoJyuqoqAH2UDMI1X\r\n+al4KSL3jqmXkxkFpyTyuL9wN2JYQVmbVOs=\r\n=1VAU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.15.3_1661802171106_0.06961944382995955"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.16.0":{"name":"buttercup","version":"6.16.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.0.1","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^8.4.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"b96ec8d93b0f28b4fb655a8a55693bc268f64e48","_id":"buttercup@6.16.0","_nodeVersion":"16.13.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-x2E7FWyasuLfd8PVDIjFH27TI8UJYLFWX+l78YqQAdpfP0FvMN98QmkI9FfasmmV+fJwciXEOxue3ncXKuQxLQ==","shasum":"17f1a668a35692aa40c0794e019cbe31388c7646","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.16.0.tgz","fileCount":252,"unpackedSize":1020774,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNoCfE4A6yKRZ3b/MshQ2AbJkSrud4ly0W0ew5PTUbLAiEAgw3vcSDcVaUoOma+cXxjOV59yxx5ap/HXk7ukLhyxUI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDmwFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWcA/5ATwb/HH1KMymIOHOULRvYbeKma/Ent6/7bbjh/vNwAr3OnV/\r\nb0fqghdhyLZWyhLa7f1Ug/UTk1J8pO1e2qnKeJxd0JskTw5ULM8zcXbZyUg1\r\nItEBKVkZI12v4DiyzlQYjtdDyhLRv0kMr2vizy0TXSK1KmUvnlmr3mmyZMN8\r\n4fc4C365T54sn5CWHwFx5VST3HAcgbo+0xpYAIhDN2z+U8cK+zhiPjeNDanf\r\n4LQeLiPjxM1e4GHCVjG5SIzLuh5f4p55edIojsY6dA9zPArx4NYLXvPJgxih\r\nmDSgeuJRAmk8/rGvuMBS203Ll85RyxAxseXwV96RRNsOOG2VRjUeNczw/ocI\r\n6XJG+qJAHsP+A0cS/pHo3X+/lX4jH45o2iaCrq56oGLzjdIlxIcWr6BL65im\r\n8wyV3ra+ErdvBNbF3vXEd6pUd5StANFpIj48oPSckkST67HxezEbKxM83h/0\r\nBie88iYezgqEnlZ1KsvtwN0GPDZaMgNVevw3/hcrnJ7fL5IynbH4JAA/zA2+\r\nUFDhawQcrY0j5CKWGyftaGat4VpTd7XjLRIS3nplK0lXPTKkpWHVpEyW+GXz\r\nvJVXZrer1bHj6dFMFtgFiupmIRFwDfBoEAqY/jZgUyKHrXtp33d5fH9kGvgN\r\nmN9fXAEb7kz2bEN0Mw1oOM3J0CdygP0dDRQ=\r\n=hdql\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.16.0_1661889541189_0.7043488190800891"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.16.1":{"name":"buttercup","version":"6.16.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.1.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^10.0.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"2d0760878d21642f5a529b60e63393c512b02ba9","_id":"buttercup@6.16.1","_nodeVersion":"16.13.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-2+AG4jpZed6vdSXZBx1MC46OSiMNQ8KsJPTrWhKsLKjOj1hyBdYyeTgQTujNtT/DBLPckoj3LnXOHkR/cx8gsw==","shasum":"9154ae452e63bcd6190c0b308b4ac255cafa663e","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.16.1.tgz","fileCount":252,"unpackedSize":1021272,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6w0YB9K9teh9frrnfVotMAOtHQKj5605IAfTu95EgowIgTmL8i200GoMoa9JpNuGvMnqOJrsdKASiSEeJJlRV45U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjD5gJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4Rw//UFG8fzYhmQE1583adivtci/EerFTCSqN+33n4EbeabDQGJ6J\r\nwCwJotmXfIFS3GKNz2b/RdstaGSJvGNop+Dgge/ohorUCpcLoxGDXKwKVlQ+\r\nWQN8Y6zEIBkB2tfCzajQo+RkndQ9vOKaINsIKvB+ALTgcnu146CT14NW9QzJ\r\n4UJgW0HUuE0d3Z/apForPH+Q668CMvUL1CNs760rt9t2HWQaeghR0ndyUc8G\r\nVTJSSTbcC54ZYMsAjl6KsULlxTyV0G36r3DNx65s7MZMQIQKT5PMfWF0zItH\r\nNOH7QKabmz2HZQYlHk1KC0OGi4mf4DnH1ozcM9EaoIrv6llUgjdjzhWC7LaM\r\nZdzyQ+NZC3rp9Hn/Gt/N63v7u0AhOpjSi4Die4lsRs+ovPQN7zhwomYViT0x\r\nU1Ht72ubNVhQ+44nEtNTYQDU7oEkVVU6oUWSLMKrsIFX7MlEmpz6IVDlqwdQ\r\ncOB+sg7TQ6IPH1StsBfhd7VVG04Irrd1UOq71UZJVWZAPn/DHdq9kt0AWsgk\r\nf3bT/fm/sNs3VONpe04vLkHeg//yaZdMcpMHhuedHT7/RTAjhG9ty5+91z3h\r\nqTdvd7HOPBmcEWCTV1IcQhpxPnZkRziaeFQmB91d2HBI8CYiqlJcHIHVEdCo\r\nW40EtQE0TFLnF7Vukg2Hl2CRmqxSfSO+Ufs=\r\n=hob6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.16.1_1661966345010_0.20908069008843277"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.16.2":{"name":"buttercup","version":"6.16.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.1.1","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^10.0.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"4dd638542a63529bf1ac6f33440548339975f086","_id":"buttercup@6.16.2","_nodeVersion":"16.13.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-4UxJPemvaS6YmZsYcJKugoh/ljLhTTpmZfvLxmRN252SOXXBOWYaPq/LyeSCg8QIeFD3h8TGXiZLc2sDy2seGA==","shasum":"59c341b83aecd50fcc35be3b43e78af7419d1199","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.16.2.tgz","fileCount":252,"unpackedSize":1021451,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2KsX8moW+lqsQrHS5NhqBehfKC4/2cEFVb252YALcvgIgCTu24PpvOtvcB+FiVc5mw7jZydost+ftYKv9ybEfDZk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjD5uRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVBg//fIA8dnj66crDelU5OC6dbhO8ca17PGV8w1Es9Cs5mcdyb/kd\r\nte5lIlicVnudbP+1Ox2pdCQGIYJy9izNoAg3LGxJC+hIiHEcFj/p8SoOsJ6s\r\nMrcHJUxGJYwoFZgCNcWD2GmFXcIgEJrmX8q1Njuv5LNV9J8WA5Xyh83girmT\r\nzUEUi9F7Ki3BFWiKxRnfhJRfDTfD+e64ZuudOBi8JHhD/2dLLFYxWvbHcQqP\r\n2w9Jo3FBTuw/YWI9bM/b8DYi7FCD1i+qpsn2F4HVkDoMd3GE8qVDXEMn38fZ\r\nBSxvNE763T9FEzcdefePGrjXjNesJmsUwqfHep5j70pvVyzA9zde89hfE9Yq\r\naHtQnB86BKVVaUoSlDNch9PdhsSFwN1XQDL/Ang6Ge6nUTTe+FHvNvvDWkJV\r\nvM5UFSxEpLpzCHUGfrD80sW0D/eVEbh3+3SXxVpb0K7Og3rUAHaYCO7S5PjQ\r\nNBCSAw931hXo580+lxKZhU9fP+XZK1KYl6nXje6yuYw9Kc6HxNY0xoT6V3tV\r\n5LC6sl3F694DpzSiKVKXTSCEnuQ8C07qoXzqtaiP6uQD5lKtktD4KxPXYV9Q\r\nMVqtpJcjaMaIsq4rVyuGDY88SKa095t1Aq/lz3ZdpsU4gXUX4rYOz8ERnQpm\r\nHqkOdst0noxWFC8xIZWOZnZaO2sq0/tecdc=\r\n=bYmI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.16.2_1661967248911_0.5114505318735763"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.16.3":{"name":"buttercup","version":"6.16.3","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.1.2","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^10.0.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"870799d7455792d01aafd4f1b8a9d27d52c998cd","_id":"buttercup@6.16.3","_nodeVersion":"16.13.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-aL2W+1Qki/v5/hS/KFy6ACUMpnnl+9vOy8e7uwvsM6vj/3qhJ1nbfwIhq6ss6cxh21GY21c61SZQTqinI4G1hw==","shasum":"c81ce095488e50b13aacc097b026c38d64efc7f6","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.16.3.tgz","fileCount":252,"unpackedSize":1021436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDkUrdOZVk0DlgKtcgD3wwe0UeKBMd0wl1TVQaw878XAAiEA0QO3APl5MS6nd5phuhMXI0sv+i5s4LAV7Y2pRYzHuUs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjE46sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3RA//UHTBsh7FePvKGyp0HE92njOrqaEVNHN/nthY+WXcc+45ZN8s\r\nLRkrUXAaC9G1N9qNrxkjh2ApAVEWjYwrK8u7Jz5RSxhln9NMpG9l3vPQXT5v\r\nKW0AIOp1bJ9FfKlGsJO+erFJetnUZV1eSM65yIgT4QP98Ccxwb/cNLrtfjye\r\nM3Z3NshdmY0yVaQqYP8U+MuhbpzbjgmBml+d4jJMg2VfXJM0/faq++INGTlf\r\nEIkSnkIbdh3erhwXL59p7ivcECAUo3Vq4TH4qWMDgoJGQIFrOQbfUcy7iKTZ\r\nViaG/QA08NPRUp+PooN1FCRwTDx5DW/og57IjkDd2gF6PQWxqfb1tTnhX+uh\r\nRvQW6bUNBZb1i5CdUwDfOjRHniwb6dWXWif/qAWLK8xZX+Ko3D1Kk0wwObMC\r\nL/n1PaxHVTlHlxJ/UOYjpk5MGFXl+Y+4eGi5+GsacrqIB2EaE17I9Cy1oZee\r\nnmpSXqQ/2Lu3/Rhihu1p+25qQweHaUK0hVg0xy9dhZJGyff8VSbcchzOUj3J\r\nXam/SK79Zku0KcpSo6AvplrFeIAkZC7OyvK3dXm8Hug7KYhqJhupz1HCcSt9\r\nV2HJOljsma8Jr4M4kfBbR6wdanHAJIyVr01SRaotmWv4Wz5oPK/zFab5VnzY\r\n1trZENUPcmpIpqATTpvAUZuJN1NbOy96neI=\r\n=3F2O\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.16.3_1662226092304_0.43617264769648134"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.16.4":{"name":"buttercup","version":"6.16.4","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.1.2","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^10.0.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"200367bfc5813c27a56e8c9f034084afd4e8d91b","_id":"buttercup@6.16.4","_nodeVersion":"16.13.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-B14DfdttNyYjC5y7tFuAoEK6N8qBabCo9AqpIZ8ognD5suDHFr7d/YG+ssDFAFsgopZpsXBdQQ88DT6Sgayxfg==","shasum":"cd8e1a9ae1438d4d540a40f82b7bfa2faeed5e6d","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.16.4.tgz","fileCount":252,"unpackedSize":1021495,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5ZaeJCba1OEkD6weL90dSTE7l5x2GLQYCrBkNEF6VpgIhAMe5rKsE0TGvVGmYgE0l//lHO49b5IAn+Ev65QtDcsjq"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjE484ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqckQ/8CBL83eMvQKXo8/KrfHcC5Jb+gpQow+zo2ifU3s0DClOlysh+\r\nIdZH79AYRSz3J35I4T9f+pmVWmKtkBGPiXsFtFVNpFXeehKfYp25IQtv5dgj\r\nT1hFAyuLyEWB04w8tNrUVQE3SZGT2IxZ5RhKyTatWv++xJCaTeLOOAXWsOH9\r\n0r26XTCZupPiiuQaA5vfZbR4qYclmERoPjDNlTGBXuEEc76wh68OnQostxyT\r\nczSiMzwGvj8Vhtdi/rrTvM6gaRIrf2PJzj5LrwcRMoZQUEv1S0QIuzZiFem+\r\npTc7ZMSJvbl7PTS2qKB2VgwYyX4cG567pxNN+fCx3x+PgtzRLVm9LH554uJ5\r\nzcIQ2mA1z1CBIekxTiWWBuEONcU+s5dl8WrMSh7/XYn9sg0CsBCAYo5U1gIp\r\nRnt5r/MGBvIpfta1hsspA6W5LrsvKTQz2aPXt14W/r7XLNIwn0dywzB0lPkp\r\nNWGV3x6yAaMKz+zcu3I+JiislG+OYqF4iQtjELSIvQgmcTskRL8pEJXmwDs5\r\nBh/iW8oPLNorufUN/Yi6L+tk8weM70Id8lGf1YmnC87GrI4BowS6w54oLjk1\r\nQLSrJR44ZViWCwlHJ+hN0/sCcMz92cXiFS7IPwkkd4inJF8z23obrI7uVriM\r\nDmtrjZo6XJFjKXDmt1jsJtzA6js2YZITbYw=\r\n=oZ9l\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.16.4_1662226232472_0.18344879600698638"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.16.5":{"name":"buttercup","version":"6.16.5","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.1.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.18.2","@babel/plugin-proposal-class-properties":"^7.17.12","@babel/plugin-proposal-object-rest-spread":"^7.18.0","@babel/preset-env":"^7.18.2","@types/node":"^17.0.35","arraybuffer-loader":"^1.0.8","babel-loader":"^8.2.3","base64-js":"^1.5.1","chai":"^4.3.6","concurrently":"^6.3.0","husky":"^4.3.8","jsdoc-to-markdown":"^7.1.0","karma":"^6.3.8","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"0.0.32","karma-webpack":"^5.0.0","lint-staged":"^11.2.6","mocha":"^10.0.0","nested-property":"^4.0.0","nodemon":"^2.0.16","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^11.1.2","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.3.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2"},"gitHead":"2328aa1d656c5dc642e37bad7ed5cfe03336c2c6","_id":"buttercup@6.16.5","_nodeVersion":"16.13.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ri7lBcF6AfCzmTJZZKVefkvB5awem4RuIOyrdhE/Yjo+fi+cdvacOC0M4Tqg2AFAw5l/3FxJe6+bjejxsUnj5A==","shasum":"66f3a73a3653919d590b40df95f554818d702fde","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.16.5.tgz","fileCount":252,"unpackedSize":1021761,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF3aLyBRPkmX6nB+DRchMEwFKyNmGoNgrToWaPbJ0MLFAiEA+a/ZRx3/TA59jxjam8HkmEBTMYbGJaZ9d6XG5fbi+BY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjE5bzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHhQ//dM5IUL+U8nIUviV0JyHnANvlhpH2Mhy9rSyeoUUFxGMG89fZ\r\noVIEIcVsUez9fhpFIsziujC0K2QZ4McQxdv9L0zVGbGMu1mkJGJPwlXxZEVS\r\n2l5HVd+Z/yHdDio2a/VVUC1suYPzhGjOYLG4KxUWmEP/38tvp6dQFkTmRzjX\r\nkgs3rzO6CswPGtt/9qFXegQSbosx18+xCvJtDHjAXKa3HhB465WbwU9p7A0X\r\nlKTb1dVjbLx4mnjeSDrksH8nzLlzf5DmELKJXjOOaQY9rxO+4YQtFaa/qfP9\r\nVN7D0XntQOPifDH8BWpQUMD2ro0o2rzNF/rVtdkjDWg9SF9KKvefG2MqvHIe\r\nk/yazIOCDj2imvg2AszTU1rx/Bmxe5qrlW868MODpBaXSgkoGustoNtS4qXW\r\nj+5B5YPW2s4hRhT8v1Fsu09V3ZDapUuSt8gO84RyjzwpRbYmVs1GrDviM4b1\r\nPuKYsEPOvE4aa/eLLuRKkv7ay7BCkeKoRySg+MjT6p8pipRZh9URlfmMkheG\r\nH6LugKe2fiXEZ9gQvyO1sYImkNEJ/VTM1pDks2VUlJZJNAUyU8Zr8E5rZfXV\r\nucgWbhFo4o7M2JZOHzBiU22GoZqdC16uBGoW2L4rD9rO+c4T4LIQXv8Aims4\r\nPHbW+Uu+urroXZqSkY7w8EIAE7X/AmDVs4c=\r\n=J/qy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.16.5_1662228211660_0.5372861047424564"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.17.0":{"name":"buttercup","version":"6.17.0","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.1.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.11.2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.4","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"ada4c0b5a746f057c0c229b8e8224785ef2631dc","_id":"buttercup@6.17.0","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-XLnGXNJo6T0Y64w7CC3PrkeC4NkDyMaq+YNZpZEv5LNJ+HPsQrf16bty50IZP7kQ+vSYa1moofiQvJLLpw6CNQ==","shasum":"1e570ada225fc95a23ff0d7373208995d7f78b89","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.17.0.tgz","fileCount":252,"unpackedSize":1021854,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmuvx1roqCT4jNOSMWhNTP/sHNxjo+KVpmXEuQKStiEwIgNj/tSP7FpXWgzxpagez/y9rnr31YnDSThmrCuxEzZzg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvHeJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnDQ//cblWiVEykmOrsaFxvXXnIYmmL2yZuoL6dD3OG2t7b4s5MfIg\r\nHaozXF9cAH6owrTexOgGkuvzZbrD413OXrW8jHGYuVc7rPyhjgkjSH1IaK0v\r\nvEMndcgJ5ply32r1w7uxFzKwYMzOqinTQPMujsosxK/P1AHnamesQtx5WYqi\r\nPI3eo798LnjBw3KaeVYXZDZ5kVkXZPYVFGdapt2RS4WUJChCyZg3VtU2fJKQ\r\n7xyp1FuO2aVWWHoNgQk6eZi0rTAWbrToT4kWGS1RTh1+Ki5H1pqCNJMI5hmQ\r\nDUMcDsq7ScZj/pDoRFTceB5gueOxzXqo0nZ7AOkrW0K1jdV5x98qukRTdusr\r\nOMaIWjuWWR07uVLnBGfWCHhF81/AOKbwFG7Y+a+4qUL/h3AzTZxxjBFos8x7\r\nM28JsmOgbhiDTZFQ1t5wAoF9ppYoLgzBHLLSKRRp/qDqcZrFVhYJEv2XBlZ3\r\nPuyE8YsJTt5OLv1ZaWREfYoU7GxfbwZv2GH2OjRQDpO+/o/bFnvMCOf7nWQt\r\ntUUQZD70dTJIPlseRyNZhldUMq2sbugQr/QC7WzUhug5xw0emFnsy0UIA0wa\r\n0C2HXQpGu/5+/NUbKBNmhARngpZG7h2sapjzzj8Q/l43eKhex1dy2PWUJ4Cy\r\neTUxOmOmhrcqAne/IYYx8H3AWE16DVTwqtU=\r\n=M4Tl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.17.0_1673295753270_0.7940522970584745"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"7.0.0-0":{"name":"buttercup","version":"7.0.0-0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"webpack --config webpack.config.cjs --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^5.0.0","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^4.0.1","uuid":"^9.0.0","webdav":"^5.0.0-r1"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","resolve-typescript-plugin":"^2.0.0","rimraf":"^3.0.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.4","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n![Tests status](https://github.com/buttercup/buttercup-core/actions/workflows/test.yml/badge.svg)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in a cloud service's WebDAV-enabled storage. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\nButtercup core is ESM - you must either import it in a project that is also ESM, or use a build tool like Webpack.\n\n_Buttercup core supports Node version 14 and up. For older Node versions use v6 and earlier._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n### Development\n\nTo develop Buttercup Core, clone the repository on a Linux or Mac OS machine. Ensure that you're running NodeJS version 16/18. Install all dependencies by running `npm install` in the project directory. Run the tests to ensure everything is functioning correctly: `npm test`.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"43d13ff81b39ad5ee9cdf79fce725813ed054038","_id":"buttercup@7.0.0-0","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-Fk/vzemhd3mej+pmPj/cFRV/Nkc3BeXA8/icPqQ1W54DLmvjzMgQ0MVnJpxCH2BUKRicMInatz/kFNnQFvkDlA==","shasum":"b9c724a69ef2af71fff04a8b9bf47952cde753e4","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.0.0-0.tgz","fileCount":252,"unpackedSize":977759,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE0D2Bzf33uKhRwmCO6csf1CSgjU71uv22K3a1XSK/NPAiA6PCH/t7S/3fUIfW2S3XTA+0LItOadDBSq0kU3WqxFdw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1YzWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppNw//X9dCRPidy5dKiy9A34LxfDTmJxDKsN03sa43zagKNWfvHY0d\r\nq38zsMX0i8/iA2Y6yadefmOEpx1g4H4w51x00BwWV7gX7B+sBe1BxVf8ldlV\r\ndGvwZxtVYjVgjaWqNL6Ki6Z26BUpXzTv6uROVKyv1IHMRxhUICDwk1QOIgHE\r\nDK80rtHjqCtfCuE+92qk3CzSo4z8c44ubuzVm/wHJgCrSvF4rgOaJJ7RHC4t\r\npT+3y4qXP086VJtgGCOBpWoBwMn1ATi2dW353orlMqLiEkxn3z53bIcY4yL7\r\n40pesQ5xMIaSohUjwR5ZXgrKjSxVvNO5Q/xCvIGZvFo2b1gyGUFK4FsCQVML\r\nQg7iveLXaC2vwoZQu0EqiGo20b8pHYRvj9dB9yYdrfRWSN84Xya37vw0P5rX\r\nnpblBLMt1zgs+OmqpeEwyLVALLJIR/JUFOg6MW/7Xl9bJdDpOPs3qI8nowVv\r\nv6t99xBV5EJloAaVK9Dql8jkTjnr9vwmP/Rrh0FkhV7/NQhUtWCaRAjbNF4t\r\n2MTJYG62UPeqOp3K50juC6drmALf67Wd79SHqWrRoafcLQbpkIbTvp+0HBOv\r\n4S8HwZQV8tCh09Z1J3npUYBAudaZhW6m3U+sDx2kQgOIoI/88xEY99OKtvMK\r\nMXwRHFRZH1Eszek4iNRh8LVg5Ds6KdyI9Ck=\r\n=ZAhD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.0.0-0_1674939606496_0.1674678003039356"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"7.0.0-1":{"name":"buttercup","version":"7.0.0-1","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"webpack --config webpack.config.cjs --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^5.0.0","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^4.0.1","uuid":"^9.0.0","webdav":"^5.0.0-r1"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","resolve-typescript-plugin":"^2.0.0","rimraf":"^3.0.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.4","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n![Tests status](https://github.com/buttercup/buttercup-core/actions/workflows/test.yml/badge.svg)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in a cloud service's WebDAV-enabled storage. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\nButtercup core is ESM - you must either import it in a project that is also ESM, or use a build tool like Webpack.\n\n_Buttercup core supports Node version 14 and up. For older Node versions use v6 and earlier._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n### Development\n\nTo develop Buttercup Core, clone the repository on a Linux or Mac OS machine. Ensure that you're running NodeJS version 16/18. Install all dependencies by running `npm install` in the project directory. Run the tests to ensure everything is functioning correctly: `npm test`.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"fc0173ea0e10d9836013c13dc1bd6ac42d50538c","_id":"buttercup@7.0.0-1","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-imYkfBDLHpQ0WleJMTWmipquyoWqUuI/dCIvIe3MF9p06PhdfZ/5JpL/0BeUNxqW9bID1gZL8tmrTzWG4Byq7Q==","shasum":"566b4b0a24f0edb5356fe8a09adba55fd40ea917","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.0.0-1.tgz","fileCount":252,"unpackedSize":978178,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/gsNrowFkeTINDOym84M4Aqv3HCPP8zUXepVfnamcEAiBuDzpCbOnRSvYv9lzTSsG0CRoWuDlsKQVFVxnTmB3jCQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1rLIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoE/hAAijdgmj41IZy0GQB4uzeR6SG28qIsExEp+rvJXmsIwRydmmQ5\r\n0oYQQom2fKKM4GfKCv+UmRH9HzrykTGn/HtQADWlLpWWeIqtc3bWLWlWcetv\r\nwbsHJsdYPFLJJ3MjiJG7qey8vXd0lnuzymHK6ewMFi+SeP4Uk1Si+VcyiXI1\r\nWT7klDgeh+GCPG2YcS1mphKE/D7al0e1D+mG/k+42EYTZggwlTRwcdQ3HCsW\r\nIkUy6R7HVQsI0VTzANOhbtMsTG34ve/kvbJDeCpx79OnFIw2R5IXW/KGMo2g\r\nbrCKYVqZ/BeGgdoAWvK2gBQnyTzKzrWcRA/+O8/uhXhCVX52BM8zlIF8NrW8\r\nZhS46pbNNXF/oyLSF9ErEKStBsohaUSH9qoAWMhIrimDHnSuQBD1PXM8nNot\r\ng9WCV5YqUEG5cFEiRrFzEDENgduSw93f+ZZnfeVxnDUHz/QvKSFe2HZN5CYc\r\naIFITFLAQgfi9IvuKCe/F3yoVqbwzI3zAJm67uxUcomDMlDK530KGb4q19Ic\r\nXEXL0gwT6J01y5tVIIuHX6eTKeDTLAaNoIjvxyVG5TTwaGi5Vl50WHSjT456\r\ny+yEeYVAgPKbaugu3JU/Lq1/DtNhr6G4jmEt/780qn0JIYTTpIlk9Tk1F4Uh\r\nOWOSFCYkyfiV9+1iztEmP5GkR8dArkakKOM=\r\n=JFvC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.0.0-1_1675014855763_0.06849227261238089"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.17.1":{"name":"buttercup","version":"6.17.1","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.1.3","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.11.2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.4","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"2c8e0d2a13f9e40b2cf77bd2813b984993398117","_id":"buttercup@6.17.1","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-3waonbbuAs4CrPO2LzX0G5CLu/VeWAtck5140ZBaHQOgcYkJlMs99Wj6kLHEKeTOyMjsLfi7RxpwY0BW2DBEZA==","shasum":"8956c59df4596e5db7c0916b45840b3895b8aa45","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.17.1.tgz","fileCount":252,"unpackedSize":1022317,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGn2eo1kvGwH6cXWvYQCkXp08kxdOfjYVUHtXax1AXzkAiBN4D8oqd9Vph87C4utid5J5jQgt6JyBx9IIe5oDLkAYw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1saXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrMOA/+PJ8PAsBD4vZDlQj5zYNZMYFaLDMJR7xeHHu2Ni7amnHqh4dk\r\nDuOdlTgBHwZt9J6rHd53vQX3aSL+0+6PqXH2VcPEB5xAx/Uidf6kZQqT9LAX\r\nFo+l11n2bYRMxMCdmI5V6kDlFH5HdXgOjkTVe3FLQrAfxZRGmfbFIk4o/r05\r\nEu1gXeNeHZxfE468n4YGRErYxlApWgV/Ad/0Ygn40gGpD/5+Gy0uPSFC6GLe\r\nUenT6vPTgOlGwdDRJspNIUjNoMhBM0ZC16Xt13m9gRcP5pvPKXGVMQsY3uJ0\r\njvdLFjAlOM+ekpFDpxIOKitspRKu/g1SXP42cJ8kJ7i+qI1JGB+G0l7edEyg\r\nAn2RSdLr/Gd2wirPNTTTASGYkvE8vWxza01JQNT6LG1SL1I3AKM4j/2Pm6eK\r\nQgaSCqkwVvJpBbC5FMauHQDxMpfcvnyY/e88749hM0LsBgXjQHd7lrCadsEE\r\n6oZqtWZR9XjbRkKp0w76ahq7r8+sKp4E7l7VkiZmUc4q+WJYx5h9a7JTBiUr\r\npAQj4GZSiaDiXuaFWT2dlwQnz2QC5qYMcD8crBHsLVVPknuoUO4t5+ABMcBx\r\nOr6iD6lDmsvMNR+tV5P0GmMgoGRZBOk8E4wjNJsAp3WZ0To7jQhgmhLZdcHd\r\n06tsG6Rw0dN9jT2gkoqYm8OXqP5P3KIshRw=\r\n=DyMG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.17.1_1675019927196_0.09655991709794631"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"7.0.0-2":{"name":"buttercup","version":"7.0.0-2","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.node.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^5.0.0","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^4.0.1","uuid":"^9.0.0","webdav":"^5.0.0-r1"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^3.0.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.4","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n![Tests status](https://github.com/buttercup/buttercup-core/actions/workflows/test.yml/badge.svg)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in a cloud service's WebDAV-enabled storage. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\nButtercup core is ESM - you must either import it in a project that is also ESM, or use a build tool like Webpack.\n\n_Buttercup core supports Node version 14 and up. For older Node versions use v6 and earlier._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n### Development\n\nTo develop Buttercup Core, clone the repository on a Linux or Mac OS machine. Ensure that you're running NodeJS version 16/18. Install all dependencies by running `npm install` in the project directory. Run the tests to ensure everything is functioning correctly: `npm test`.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"1bd9402db444dae3b4b3945b83c1deb98fd8f24b","_id":"buttercup@7.0.0-2","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-arD2YrVsxjR6E+J7x+dUXM9+wpoF4y2Yn3OwFZcXSr7XUdtnsfbD8uNPGPBBcUfgtKnDLAdxxPmbzNbKvEOuIw==","shasum":"79a1b45aa0e8ecf112fb52255eafd3627247821f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.0.0-2.tgz","fileCount":336,"unpackedSize":1094378,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCN94vO7JH7LnrOsJ2Uiae74bqTxHzrHquhBMWLTHXvpwIhALU95fRnE1EQa6pX73DDNdJUHTA9X/whgdlji9c8LRYL"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2CJ+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcgQ//VJWD29srY6AUCQFXNP3mioa1gAw9+l8HokloGyhIRTOzzhtX\r\nx64L40w0eDXcbO9G/B3WMskgvxvjGbPx2xFQBzVqKbpFj3A5tIcKV/Hw8Ok1\r\nkb7rwS31Ps9Ck+fzIvieqbR8FmkTh4pAND30fisUYYqhkBernZUv9hYpu5Rd\r\n8EeAAnHVa3uwvt87K3MD9WLU+aaF5FCwQwF94Yu+TYFYBeQgt9ehaREFyplH\r\nfHQ3/tG+mBKYgdo60V23EaBh0mdns4FoP/YpQMGIQjZ+KjYNxImoVHUkrTrU\r\nXfuWUluW0bT5psjCnfVEgyWFjehjNnu0pkqjfMzW0+zMN2jVymj5wZ8Vr3Wf\r\nxW3Ztk5mk5d9sUcGtSlD2OJTyplJANQmAp2CreDO2KNNgh4TMuKwyYfAFvtm\r\nkMSxbYt/6fHPPo5/6BUQW2Ud5E7Q6S7pSAlwFkgGaomyHvkyJJGqX/LBbyNW\r\nLB5UCNgRdEGXTBomVmExS+GoEp22XSi1yJhsDvGQlBwV9q0yu+3MuvYJe6CD\r\nFS9VeehQlFwEt7IuLUH7iwJSVsgyl6iTp+UFEkpJC9N7Uhklw3YCLgnGUg49\r\nf7CyUBSqJY9nEIjdiRKLbM9Bf+cO0JBrigyMLeJnIKa8L7s0Wh9/s8ZNww02\r\ntBj0Rwl6Zhb3bzCOxQSWl1JoyDklO7oRgJs=\r\n=9lez\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.0.0-2_1675108989806_0.9094838598258284"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"7.0.0-3":{"name":"buttercup","version":"7.0.0-3","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.0.0","@buttercup/googledrive-client":"^1.3.3","cowl":"^1.1.0","crypto-random-string":"^5.0.0","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^4.0.1","uuid":"^9.0.0","webdav":"^5.0.0-r1"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^3.0.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.4","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n![Tests status](https://github.com/buttercup/buttercup-core/actions/workflows/test.yml/badge.svg)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in a cloud service's WebDAV-enabled storage. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\nButtercup core is ESM - you must either import it in a project that is also ESM, or use a build tool like Webpack.\n\n_Buttercup core supports Node version 14 and up. For older Node versions use v6 and earlier._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n### Development\n\nTo develop Buttercup Core, clone the repository on a Linux or Mac OS machine. Ensure that you're running NodeJS version 16/18. Install all dependencies by running `npm install` in the project directory. Run the tests to ensure everything is functioning correctly: `npm test`.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"b609fdfcae521daaf7dc82d52c7467fc52dc7770","_id":"buttercup@7.0.0-3","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-r2qD0xHsV1MCfmSHSb8EQaP8eUlGNIMO1gty1xzJFMYSmN+/jnX2cKUxHmI71QMi7eGXk9d/HNUwtc50BXJrUg==","shasum":"85ab750395c748f06a18b35dd0db11326021edc6","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.0.0-3.tgz","fileCount":264,"unpackedSize":939260,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvhh3/UiYhFcP5Pu5z+jefd2rJ9q0LdfBZTniwlduDrgIgKsqdxxH1AiFP5H5+ZNdJ1fOtGn/lE9FVW3sv72mn1No="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2CRJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZPg/8CR++NSYUlvZ8wYorq63Xk99iox0X2eA/Q+hABS2yj/xy5hqy\r\nwnuutWi4rtWVVZhkVpE4HMMD5v0Yb2KrEtW2KznBqK4oFR0ckrEDQZiLS8nz\r\n2d7rVGUEHft2h14kPNMBrMdTmo9/iYKoiKFYCP/nj4R9KjXYH2pm8OwXIdkO\r\naY9kNwUEfsPXEm4ZmRmgnfnWPpbGDUr2GCm8yiOkwDxUmC9Kzqixj77F7pmd\r\nqTBVVJ3UW+qu/2UNPADOMzcTqi10zIgbU2clnmVfXbxSqpe3BCHyUddWNgPH\r\npfc+Rr+8DBanpA1Sdf4z4lVL1xuS2d3TcG6lc3qoLIvDBknptqmx1bo6hl99\r\n9gaJAcYkDvhl8Yx+m0VXIf+RWK++MIKM4Yho7wCi+I84lWWjMJ7ZBuY/yTn2\r\nSDnvyv54g1YxVO3XTilfjbWPbof0+C1lZ/CVsV6XVNEVB9CtKeQ2L47iw5cn\r\n6Cz7AfHy8FgAEu26ETbcVaZUr/2/ZMnVkiFB25d6mxPKbgi3BOkrYQTJ3cXP\r\nVaOZwdH+dyxp3jK2WXN95ocjOXGCzGMC7F+U4X2RF2j8S7NtZ0rk3Nvantro\r\nC5Y47K001jOxjV7WmQ8pU3Wr25K5nARH1hIVQ/gI/848sHK0J6KnXGlinpAW\r\nvVnVb3AfzL4AeutE97XZSXsi5MCVV5mKsUs=\r\n=hCHu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.0.0-3_1675109449578_0.776074369793571"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"7.0.0-4":{"name":"buttercup","version":"7.0.0-4","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.0.0","@buttercup/googledrive-client":"^2.0.1","cowl":"^1.1.0","crypto-random-string":"^5.0.0","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^4.0.1","uuid":"^9.0.0","webdav":"^5.0.0-r1"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^3.0.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.4","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n![Tests status](https://github.com/buttercup/buttercup-core/actions/workflows/test.yml/badge.svg)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in a cloud service's WebDAV-enabled storage. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\nButtercup core is ESM - you must either import it in a project that is also ESM, or use a build tool like Webpack.\n\n_Buttercup core supports Node version 14 and up. For older Node versions use v6 and earlier._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n### Development\n\nTo develop Buttercup Core, clone the repository on a Linux or Mac OS machine. Ensure that you're running NodeJS version 16/18. Install all dependencies by running `npm install` in the project directory. Run the tests to ensure everything is functioning correctly: `npm test`.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"ccaea5130138b4622fb57e0a14bbbc767b1f97a3","_id":"buttercup@7.0.0-4","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-AxWsCzlG3em4GkpYKinuEqfDLD0YUQ64G/UEKCAF2ih5rgjbWryHfHs4NfmheflQsm9moEzDG1PTOfTzvGSzqg==","shasum":"ba8a2e82f16d94d71bb834e7a407c822d69d1677","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.0.0-4.tgz","fileCount":264,"unpackedSize":928251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkMfFsEY/GGVt38B6sKGe8/0wieWsiQbzlLsXGwDHmPwIhAOP4lvu7NrJp7VTnMhuCZwenVcnnNtPcgo0hkbjZFn3A"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2SZtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVthAAgCM8kT4RxrGiTJ/BDdgYktYe89NzfHGty7YINC4gcfeTJU0c\r\nQDhSevkR4pASWK9sqOMRfJngbKgsVxQoqX1ShS84h4Sm7t70tOSKFdhDvT59\r\nm3OnTvXPHcjWQfQKYvYi+stf/yHN4oDUp9lz+rrzr2H9+rumxi1aBV/ZfH2F\r\numyiD7GrZtAjQ5aeaS38tiBElzRgzl+phtukunyhws4s0ya7i7CXWPRcCkDb\r\n3BHUIcCkQOSOEdjBk4kKHb1pXNEuTVdBYBOLerBDbfFkswt1/r+B03bHXTPK\r\nM24yE4uyOx5zCEAB8uQDfbeATO0BTyilWU66YSsgJmfkl1u4Qw4bMSVVMfT1\r\ns/yD9Y3uT2J+w6l7qMLGnXxCQ2q3guoe4kfBW8nuTDgR////fKJc4ZtmRWZ9\r\nkbd78ZK8/KLqy3E/e8hpU9VHDAYhY7CsnFavMjq/KmckpCPa7/2JKSuxK0Ge\r\nUoQoh81+YWtwoudZo2eH3ip5VFLggF1bNmOtg+BuaCI3NFB/OJvdyBNsfWk4\r\nl8jw4tX3b5J9RA7Jor1jh1opqC8zBBKu8iFLBVD7ZCuvEftFlCrN2I5Tx+vq\r\nGsiPSckRU7Mp1q7XahHpzlbfxfPYRwEWBgrGWa5y195/SQHyVElyyD4GaD/+\r\nIZdGgL/gg+YKo+kPoYl77sfCOtQDgd5cuo8=\r\n=3b59\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.0.0-4_1675175533018_0.8467901066652381"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"6.17.2":{"name":"buttercup","version":"6.17.2","description":"A NodeJS password vault.","main":"dist/index.node.js","types":"dist/index.node.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc","build:web":"webpack --mode=production","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier-check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=12"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^1.1.3","@buttercup/googledrive-client":"^1.3.4","cowl":"^1.1.0","crypto-random-string":"^3.3.1","eventemitter3":"^4.0.7","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^5.0.0","url-join":"^4.0.1","uuid":"^8.3.2","webdav":"^4.11.2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","prettier-check":"^2.0.0","rimraf":"^3.0.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.4","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"8a81a46c7ea3f656114c7407a3dd6bcb4841473f","_id":"buttercup@6.17.2","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-FjsiJfos4VTZGoNj9oJTdwJ35b5g32lgvnRqeCPpOwk1Qo8TkVNHmdO9QWNdQ+5N+BoaZ32+WdlJ6aCqEpGeMw==","shasum":"f6efa053fa0501ef82a110683bc537a3870a8cb0","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-6.17.2.tgz","fileCount":252,"unpackedSize":1022494,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCB8sN0rTI82V8fQEXZcdK/H0bsq0f4JjjduaH11iEFCQIhALSscMvzO4zt0Cn1hxbwSa+QLrQOOGsZ7e7CLy/A+poi"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2SeuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpr9BAAomicuOmI3qP6MeMcfCZV/ooeOy3W+mSv9DTF52bTpqRRjx+a\r\nFGohekpCcXtCI0J4KfVEuQjXFPbzPYgToAp0GlU1/hURAqLMjbQVL83Gse2R\r\nsBk0OHbov28tp9FIeSXI1E3EvjJM87ANXOzgMxjBDLpBZFarXxLkffMTPS5K\r\nZEf6DaFShU7/yXB87wTlbqepQppPrfZlrFhEgw87Y9pVt4vQ/xq2j2ufpMBe\r\nrYpXp180148EfLC8HJe5/5+4wuC0FIsMADVZmCA/vBkHbLMgRPgenyizgG4b\r\ngMnVO9OQM2qMfeSZEQdM7sQVgIIaPIqrzuSx0M99mxxIOko5tHBsIKhmc1nm\r\nhN3bhEY1XP6HIR6RPeZtpOnO2BO/0yd5FpnOBtTQ9Fr4xTyzRPwP5AzVPwZ3\r\ntXc5QpiZ2B49pU5xCwXk27f1R9C1HZCfCmtlFe19i/5VWW/sQH2BsnHIa6rl\r\nghuzQjgCfi4NW+v+q4jI/gpLHHO5s5KnFk09ISs4KxVoWltJUxQdT79N0S6j\r\nR8O3TSEEkdWoZ4LcXMy0/UeT7/unDbvuz0qINzqnHWcACBPVxErMK6GhKejT\r\ndHs5bRVujTugW60OEcFTgj0PGrQBnC73nurnn+Qxq/0CJ8X9lY0FPoWTUJaY\r\nGh/79OdsT/uMcUnlWSp2LderKf+hndApgOY=\r\n=iuJb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_6.17.2_1675175854457_0.847174351352534"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"7.0.0-5":{"name":"buttercup","version":"7.0.0-5","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.0.0","@buttercup/googledrive-client":"^2.0.1","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r1"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n![Tests status](https://github.com/buttercup/buttercup-core/actions/workflows/test.yml/badge.svg)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in a cloud service's WebDAV-enabled storage. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\nButtercup core is ESM - you must either import it in a project that is also ESM, or use a build tool like Webpack.\n\n_Buttercup core supports Node version 14 and up. For older Node versions use v6 and earlier._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n### Development\n\nTo develop Buttercup Core, clone the repository on a Linux or Mac OS machine. Ensure that you're running NodeJS version 16/18. Install all dependencies by running `npm install` in the project directory. Run the tests to ensure everything is functioning correctly: `npm test`.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"275794537375ef60c531cb9687ba561d64d601bc","_id":"buttercup@7.0.0-5","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-Z3Iy1zMMETvI/BMFH0L390/kuhlrgK/LmKKl5FdkLoLjIIWHYvC+/WCG0d8ZcNIACHvmv19ZiB/tV2N/vRf+1g==","shasum":"7bfd2f85871545661b81c6ad39edcc195cb8c366","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.0.0-5.tgz","fileCount":264,"unpackedSize":930549,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIECajeCV5jjibJqyjnKjzIgmXa60KC78UhTN40bv5uPPAiEA6Smwa96p/mzxmv5OiSXolgvDWoxQA3o49Mkco4tv7NU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2sMyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8PRAAngY8V2yLfcDIp0CkswkiZhV5O4XZjyTqEkyMpLCYN2jxvyod\r\nkYQFzKBBlRMN4NIgrTuh+9SiTtnlxB+G4ajbB325WWG6s3rR5y5HOK0PvjjZ\r\ntkgKz7uwNmahlujw0oQz8YsyEDWlcz/qGx5UBu1cGat5YCsPfkblnpIMRJ5s\r\nWuKwpYz6vg/IwgRlkQdlfUhmG2rYzOJ+6Xcov5YqL3hes25qCRAGHgul//GU\r\n8gZPueQq0sNBJGRONplNs2ilwqwDPNM5N/DODg9NoHIGlfNEZLR03VuJsNhd\r\nnKfW+hbwL6j9NeK6VKGh1n4FMcOl+TH6Iiuq+Wt8a30KSPMCQOetfbInXz7e\r\nerDidmGq5GT3fWX78Nlli0/Sg4WhxznhSJwfUtzcL7+I8Uwe6FyzAffwFnGq\r\nvoqE3V64CdS4BKf7YoeFwfNPMX5vUBneo0Cnu2L+xbYp7VcfJ4f9XK1HnvAb\r\nAZphFSk9JJuHYnAdt7/iDJamR+WLS3i/BsaA0sGz41sh1N6737u95CE9WWtN\r\nlczBSpzRX4skD+W7Aov5FHO8IBLmahQRxYAUTG5JW4whKjJzeRawEB2+ul0R\r\nA7cq+yQ2EiTV5O6scOUf7w/D9obpZXzHWgW7lfXUCb6yJ8FbglPAcL7B0uZu\r\nioNDJxsxmSUYcaROzBjyPOTaQHOgWvXhoYk=\r\n=QhXD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.0.0-5_1675281202226_0.3080954992036915"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"7.0.0-6":{"name":"buttercup","version":"7.0.0-6","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.1.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2012.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n![Tests status](https://github.com/buttercup/buttercup-core/actions/workflows/test.yml/badge.svg)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in a cloud service's WebDAV-enabled storage. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\nButtercup core is ESM - you must either import it in a project that is also ESM, or use a build tool like Webpack.\n\n_Buttercup core supports Node version 14 and up. For older Node versions use v6 and earlier._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n### Development\n\nTo develop Buttercup Core, clone the repository on a Linux or Mac OS machine. Ensure that you're running NodeJS version 16/18. Install all dependencies by running `npm install` in the project directory. Run the tests to ensure everything is functioning correctly: `npm test`.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","readmeFilename":"README.md","gitHead":"9574729a84352c601e1505ad838a22cfd727dba7","_id":"buttercup@7.0.0-6","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-v/3ZN51ZDpgRjnFIDsFkXo6iy0NZAXYqPySPAcNJFZZGAExHDzto1CRG0RlnMSZuAb1iWZv+22axEuXgHX/DFg==","shasum":"e3f813a2d6d24dce360d04d3dafc64aa533d252f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.0.0-6.tgz","fileCount":264,"unpackedSize":914794,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZG1fs2pyB9i9WyMYsDQw3PGnm4d8mvXrsXnrmfgsWJAIhAJGBWJD46raOA0NeY6cZZTRG9R54OTosAVuFgPzpEoRN"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4/3lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5gA/7BKtUe3pdAVcw4HrihfbTYyt0keq4C1V+CWCstfXf9EYo9OUC\r\nhUFpEmrWJFm1ULhosEIsj2ekIWRsbTaeWpmwcR9ji6u2GPtYs+oyvHbx5NGd\r\n+UJIjmSTn2k2GMidn03R96AkFK+4QHNLxWgvqBJ+XA4y5hB4hPSzeROKbwHV\r\nL3Q+XT/71i7dgoRm20o0ZXvttc3ZpyyPV+gGveNyhjTZwyBPrSwD5+GkHZY+\r\ne3j2uWfNkfMlSkGNiyrnmfoRqdng0Xo+AA+io0/9MUTJotWYuJBv05beUn8F\r\nD9TelU3pH5GYDx13yHGraENbI11U6ba3Mn5SchdTcu2KxjyP9RjvKZfLzrNW\r\nCUstq7o/JbCUjMOOH9ZeQDzRU+dH4oIpjdZmXpphpcYCJWtfhOXa0IMhsnIc\r\nBlYPuYVoYKBifr3CCGCYLjc08sy0IWjQRZ9bB3nk8TIfPP/uD9Vq5voSCBqt\r\ncM3aJMRc/jd1Byj/h8SbhJE+26t0pUd1JCE3L3c1G9WTLQpejY/WMA4r+qf/\r\nC+RKNqiGizYYj5U35r03Td8iUNgooGVfDPPSOb66xX+9W2/cBa+2v15Wwowf\r\nEy3kucbIdL1o8H+/dThmNgZHUO1dFh+ZHDSeEBoCTjv+B8OPFLHWiWsVvxfK\r\nQ0fXBUumL8nqKq5iqFutdhFUmVZowdPNn6A=\r\n=NEaM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.0.0-6_1675886053522_0.060379782675261895"},"_hasShrinkwrap":false,"deprecated":"This version of Buttercup is deprecated and not maintained. It very likely contains low-level bugs that might corrupt your vaults. USE AT YOUR OWN RISK."},"7.0.0":{"name":"buttercup","version":"7.0.0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.2.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"b286a557dd91c9cd559dd8ce7b18bc1837dfef97","_id":"buttercup@7.0.0","_nodeVersion":"16.13.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-XFPpsljyElR8zBftyxzFJi369z2CMeijqoDXhnhQr71gqrcQVR8etIBOqjeg4XgbjXWfalPhHj9e4Vtd8uBpdw==","shasum":"29f653a939eeefc2e1e4ade7b29da517a3de024c","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.0.0.tgz","fileCount":264,"unpackedSize":915022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9mQ4mz3QxEtID9/nh6VKaoM3BAzG6LlZHMQLoBCp2xwIgTz8qujK4SdMzcVQ6TOm51m6Hc9uZuN3YKlcIZ57hCDk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6oMoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpj/Q//UslmYLussVS4BI1YzXMy+PvcPwRFnK7VXrWYDYR8OpC7eftK\r\nHxAr88s7OJcTlQOQDzXehoHCaAHQ6Q8LuDwlWAFR9xHNx1P7JjkVe758J6GJ\r\nolV9lFrgqCSa7BYf20XOtFpKWVrcNlNJf95uQXSWm6PNcuBju5RpZnw/KbhQ\r\nF6WSozGAIL0VZ+rGRmiRRVNnJULGGozbLWKABNWd8yUM8GKQ7QG+TbEIpCHo\r\numLxyoqyCYWBrTjLA9FtV6b5ltM6j3Kq2tkpF1NmxxHldnDZ7b0Db0jMwpG8\r\nO5701QZ0yjlSwnJ2bLNCCBI+h77NrxoxuF6QCoysD3QdgN30kLqepI2OiAB5\r\nkZ3I+Bume1WZChYjBiMBlcMOxPa+XB3nBX4eerkzGYxGXVUs1lA40XwS3n8E\r\nG2y2/3LQ+XliZhsbtiH0SIojhGtSlI9Q983QX1N8lnEPHbK99ofYvMvlVbHm\r\nxtFYuC4V9NyeoXPdtOtjFj04OaQWxXnDW+o1qHrVvNE163SoYI/E6ch2sOYJ\r\nrKVqqvwfVWy08kDws8UWPRcUaSDsQr9Oxm4KaTAhbY8wkpzQYWLsW8RW+b5v\r\nf+ekZrDA7pLGjbPEv/tOiO1dUGfWXYNU549+gXC64fRUgXmZ413Yypo4syHi\r\nMY1ZVuDEjWrftiDoJUS5mE01+rx8KlcWXNk=\r\n=ss+z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.0.0_1676313384131_0.43449651413662393"},"_hasShrinkwrap":false},"7.1.0":{"name":"buttercup","version":"7.1.0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.2.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"bf6f2065b54acf5c4211c8ecb019da71a0b546b8","_id":"buttercup@7.1.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-6/AWJ9R7Z4mc16+RSioD+FA1hCqSLPwIUaGW9so8KrQwLeRsz/eo6DeaZX0owLfPXNy7Gh6o9A3DXcGs1X5gpA==","shasum":"1fc63be622398a9433d8180926b7adf6f7749bcf","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.1.0.tgz","fileCount":264,"unpackedSize":919324,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOPMXEUPt3NkyRthunfqD4Q3qdkdy/4z0lMF1/4Bni8gIhAMWsK6Cv/hCpLJuz2eRoZjH4g62Vp7beMuLNC2W0lsZz"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8TtDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZdA/9Hllw7Q0/3V0n4Nvft4VCYRZtEjG0b9CN4znp+ejVLUZ81Sqg\r\nTWW0WsPjA24W+y9qeVSPJcNcwVt9qKl0ZtW9PDjTRq2EkC8teB4Is4b0Z7rR\r\nfxc5CayjlE6V4NkzvbFDvfz9Tnd2uR5yUTjmc6zHxlxGKMBNe6wCDXnC5qY7\r\nP8NifipAUO3VZ/Kd98Cp9q2GUtjHqjnCYDycZkUHfHOxyZ2LkkD0Q6BadpWa\r\nL0eXcGexbbJspclmY3psAhL0bUs/AEwfyNuFzA+mChjHbzXHGM/Qoxej9hwM\r\nuHB7pnS5GMt48l76rx14X+paSXyfOzq0dIxbrgTY84EOjuhMfPvCnj1c29jS\r\nGcRz92dnn/uYvmtPWnVUtKMY8QYNciOjS9lzNbi6itJNVUvR268MA72vZsYZ\r\nx90zw4axBd/yh3PTyxIFaLt0UYPojbWInL8u+5ziwru0JIOaLFo65TtHh/91\r\nSEUjz14Uv2gg10UNSEZadn7twIWSWRA379IeD8X4+DtS010qag92cGzq67st\r\nzwjm3sI6tFRxMWX7ZG3Cp8i+R8cJsgAs+9oXhG4uP7PCCLw1/Y+RWz/6am9N\r\nUUrzk7nQAkqEFQ0Ytoq7wf5LbHQOj+ncJI9jdjpIGcdcZDnlrcGGECYNCP57\r\nN5x4ntTPkFbnosu2SxsSdivpLB0aaMdqf9M=\r\n=QNFu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.1.0_1676753730913_0.3422254021806348"},"_hasShrinkwrap":false},"7.1.1":{"name":"buttercup","version":"7.1.1","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.2.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"eaf6a1ff36b2400426efbeb7b9b66fa7c80121cd","_id":"buttercup@7.1.1","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-w8pBJCAOjJ6lIMnlz6S3Q5XqpxVo4aEyNxOfbikOnJ0ZAk2BojE6Iio14oa09jEng1z3sU1A+zyMO9bWtTliEw==","shasum":"a6c89e06484d79a1c4d073f0a41f28d929dd7a57","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.1.1.tgz","fileCount":264,"unpackedSize":921338,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGR395hzo8xXVXorIEG4UO7ohFTYhsaYbRcGY1U396trAiEAypByBg9Y4vflhUwyP4E1Qm8oII3T+mIoA83GGM+ckdQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8eB7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJSg/8DRnqjvLvayCDGum2nWhSwTF2QbXta011wtd5bs92fh8D+Yx6\r\nDYMdh+oSqBdgJw7Sx5bhdYcwaWYcOkqgwWRjmz/jn4Y++OBAdbI4+R2Z+MDg\r\njD8/6LiPEMlGyB1Vjsiw4zYU66dRrykWTB+E1Yj8SYPZbfFMoEPyzLEi3awX\r\neHGmCFJWy3op/+oeMBlNQNYjHUNt9bRaAvoocw6P7aLA95soIw4EWKxhoKSH\r\n8vo2FrUqfEx4JDmud8aANGmi6NzK7BNZiSha69TnCnQr68jehYqm4BHOIHTr\r\n9MZa6ibOFZnVwvMe0f10f0RfV4gzxvEzfah4fDZKVIUlqQJRPlM+IqMvL7sA\r\nJ8xqMDskEXgV11Z1ltGyw95greu7kmeiRi+UeLRIYKTkLskOy0fyOL4a+t6P\r\nvAjhG8i2v3NymvqVIaxx+Hh8wxXq0v9Q9TtzCe+Yu/AWztyr5C46OU9nhcH5\r\nwlKL+vSo44XaNZ6apinkBCOOo92KGs79hipXf0WGI7fPXg9v/bZcwyikWudS\r\ndoySCmDU1zD0vnemebGBCcXBLCj/MWeP/MtWzvuEomYm5nFOEPuMiInBKnNH\r\nmdgUme7/1EJYenB6ybkm46Etse5blHm57oJprOKmXN3+Z9giLIAUbagkKBdR\r\nxQMCWsqBZdojMCGfsdNCNOm8Q52uuDEse4w=\r\n=P5YJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.1.1_1676796027336_0.6801982555141202"},"_hasShrinkwrap":false},"7.2.0":{"name":"buttercup","version":"7.2.0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.2.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webdav-server":"^2.6.2","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"42c65848bec0a8a1909c089a19e04c5e98626679","_id":"buttercup@7.2.0","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-BRVxOD8Z6afCYyfOLkBtbJd51NO/xOOLWs+FhmryOIGR3ueN+HFdeN7CWJKvLAqwTHiSI/aCEp6qtxBc+Dwigg==","shasum":"85a0e8ba2686cb2f8dc76bac51da046e58448a3b","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.2.0.tgz","fileCount":267,"unpackedSize":929276,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICxsdUIoPB3zlDA5UnUc6QVjNVZcgtopDfUcO2Y0PKPtAiAVZkXhTGR1gNzsGJUmXgc33PQxkAZWx7jwy3aXSrSvgA=="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.2.0_1683791304754_0.5545347851340305"},"_hasShrinkwrap":false},"7.2.1":{"name":"buttercup","version":"7.2.1","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.2.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webdav-server":"^2.6.2","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"414b682093dec212cdf863a83e1d4f787a06ac7a","_id":"buttercup@7.2.1","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Bjp7xIj/b4Yr670DoBp29w18yxFAaDxHX5bDJM8paw8gItErZIYEeVZDxCkviso1llmMn4i9SFH+JHaozkwgnA==","shasum":"35580c5ca6e241cba6d4c6817c97ee60de99e019","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.2.1.tgz","fileCount":267,"unpackedSize":928488,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCG+a+U1OqYe0FhqFGVSSD3jVYWAY5HOSFwzNCyUulUOQIgPwAUdEcpVZMv1OV0e3b58TaAZ3gKBVJ+ROE7EneA7Dg="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.2.1_1683836143357_0.888818195334778"},"_hasShrinkwrap":false},"7.2.2":{"name":"buttercup","version":"7.2.2","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.2.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webdav-server":"^2.6.2","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"28b066f2d3330a6849b02436f9b3d5416f773b73","_id":"buttercup@7.2.2","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Jk/t5ZHsvwaKxlXXQstNb0RjyUGhz5+RCC2shA5LnO2sFPPTdjtrBRzeZBWAXbRTUaaoUcNfnIBmUf+nX3MgCg==","shasum":"138870857211eedd4d0f58e4e80b00da60597bd3","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.2.2.tgz","fileCount":267,"unpackedSize":929249,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2wqsQyLn/VBpW6rHHfQ6meGKSy2QkBDx0GmNNfP68BQIgDNQ+TKR4Oqf6eLu1R4qHmKvhLKG7W5NyDp0p2s4Hwy8="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.2.2_1683873083237_0.8132875284315446"},"_hasShrinkwrap":false},"7.2.3":{"name":"buttercup","version":"7.2.3","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.2.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webdav-server":"^2.6.2","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"1ca386fbe75377ebf8e4bab6a96cd8c1fa1a2ae3","_id":"buttercup@7.2.3","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-cIn7u2hQbS5ZxJge1GM85k+owJWb9KZdqxuX1k8+XxZ9JPjY5DCNie3hbnG3adsUdFY0ZjW+LYo5xRWtxd5QIw==","shasum":"2233ffbd8cdbc5d281f499078fb01030931dd4d3","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.2.3.tgz","fileCount":267,"unpackedSize":929477,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBTkQ2uduOwFDgLTeb8lvz2T8aIDKU0X5FiEUEhwkXGgIhANgrvF5vRT6eNIZPKYsv+Wloti6AkugGpj2a5mhq/L13"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.2.3_1683888672093_0.5229364074160896"},"_hasShrinkwrap":false},"7.2.4":{"name":"buttercup","version":"7.2.4","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"react-native":"./dist/web/index.js","types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.2.0","@buttercup/dropbox-client":"^2.1.0","@buttercup/googledrive-client":"^2.2.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^0.1.2","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.0","webdav":"^5.0.0-r2"},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.20.2","@types/node":"^18.11.18","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.2","base64-js":"^1.5.1","chai":"^4.3.7","concurrently":"^7.6.0","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^13.1.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^2.0.20","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^1.19.1","resolve-typescript-plugin":"^2.0.0","rimraf":"^4.1.2","sinon":"^15.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.4.2","typescript":"^4.9.5","webdav-server":"^2.6.2","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.7.0","webpack-cli":"^5.0.1"},"gitHead":"7a87f2eb00e0bcb68682037533fee54275d62932","_id":"buttercup@7.2.4","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-tHeGrwqS2uzvdSbD8FwO3VASPtkUNDkil8XPAAbUUpMM3dgnLCJUfTWTUHDVwhuqiioawwwK5tRnWPVTvV1b6g==","shasum":"476ccf875630abfbefc09f3314762d54a9896c35","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.2.4.tgz","fileCount":267,"unpackedSize":929589,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/D3WCDHXImnRnbbWLuopOxl3BNXLNCyV+3xV+Au0C/QIgAyn77fAdhiakAEwD1cRtfRYXeF+MeHfjvJdOIuwlJ0o="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.2.4_1689513621863_0.6253308196711096"},"_hasShrinkwrap":false},"7.3.0":{"name":"buttercup","version":"7.3.0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"react-native":"./dist/web/index.js","types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.3.0","@buttercup/dropbox-client":"^2.2.0","@buttercup/googledrive-client":"^2.3.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.1.1","is-promise":"^4.0.0","layerr":"^2.0.1","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.1","webdav":"^5.3.0"},"devDependencies":{"@babel/cli":"^7.23.0","@babel/core":"^7.23.3","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.23.3","@types/node":"^20.9.0","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.3","base64-js":"^1.5.1","chai":"^4.3.10","concurrently":"^8.2.2","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^15.0.2","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^3.0.1","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^3.0.3","resolve-typescript-plugin":"^2.0.1","rimraf":"^5.0.5","sinon":"^17.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.5.0","typescript":"^5.2.2","webdav-server":"^2.6.2","webpack":"^5.89.0","webpack-bundle-analyzer":"^4.9.1","webpack-cli":"^5.1.4"},"_id":"buttercup@7.3.0","gitHead":"1fdd4c6d4eba8749258c41155a7ab73638fbe13e","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-jDjVZd0lKCdqE9K7vNHFAO2aX+diYNyhetaFSMxJleBSzu3HgiXKrDf1rIxjnA4zDaUdEwu/mix7hY++EbimXQ==","shasum":"fdb13fac79f9d118a53b48bf5c4224a88e26d07c","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.3.0.tgz","fileCount":267,"unpackedSize":945799,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB3+rqcPbiQKjlkl6pz5g+8iQ5sXCPEewBhVBUfAbS0hAiEA5Yr/2o62zNPDcsoTLxuz42BXtZq9lTergyGvmtwjFO0="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.3.0_1699683444245_0.7746401265969385"},"_hasShrinkwrap":false},"7.4.0":{"name":"buttercup","version":"7.4.0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"react-native":"./dist/web/index.js","types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.4.0","@buttercup/dropbox-client":"^2.2.0","@buttercup/googledrive-client":"^2.3.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.2.0","is-promise":"^4.0.0","layerr":"^2.0.1","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.1","webdav":"^5.3.1"},"devDependencies":{"@babel/cli":"^7.23.4","@babel/core":"^7.23.5","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.23.5","@types/node":"^20.10.4","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.3","base64-js":"^1.5.1","chai":"^4.3.10","concurrently":"^8.2.2","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^15.2.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^3.0.2","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^3.1.0","resolve-typescript-plugin":"^2.0.1","rimraf":"^5.0.5","sinon":"^17.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.5.1","typescript":"^5.3.3","webdav-server":"^2.6.2","webpack":"^5.89.0","webpack-bundle-analyzer":"^4.10.1","webpack-cli":"^5.1.4"},"_id":"buttercup@7.4.0","gitHead":"52403eb823d684a26d704e08cb622ef8ff07796f","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-iEEy5vb4eW3JqGkKtdgsNKxgbXaEEdkWcJPfHrZfuHtrmN+qKVQ8cJ7/WpQkgmqvRtV0O344KusrmEurKn9TLw==","shasum":"fc2044dd89a80f52781fe38e5f8cc0ec9a14ea5f","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.4.0.tgz","fileCount":270,"unpackedSize":925397,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSTNxyVIu8RwDW4yfg9qcWfhpf0UwqHcoT7ahjgXAobwIgL0iZFLG1AA6kH5G1KHA/691yNOIATYHZJa8TXnow69U="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.4.0_1702154210046_0.12402270640037516"},"_hasShrinkwrap":false},"7.5.0":{"name":"buttercup","version":"7.5.0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"react-native":"./dist/web/index.js","types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.4.0","@buttercup/dropbox-client":"^2.2.0","@buttercup/googledrive-client":"^2.3.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.2.0","is-promise":"^4.0.0","layerr":"^2.0.1","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.1","webdav":"^5.3.1"},"devDependencies":{"@babel/cli":"^7.23.4","@babel/core":"^7.23.5","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.23.5","@types/node":"^20.10.4","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.3","base64-js":"^1.5.1","chai":"^4.3.10","concurrently":"^8.2.2","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^15.2.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^3.0.2","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^3.1.0","resolve-typescript-plugin":"^2.0.1","rimraf":"^5.0.5","sinon":"^17.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.5.1","typescript":"^5.3.3","webdav-server":"^2.6.2","webpack":"^5.89.0","webpack-bundle-analyzer":"^4.10.1","webpack-cli":"^5.1.4"},"_id":"buttercup@7.5.0","gitHead":"1045cfc89d034cbc7d798f9591c5c85d37e7690e","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-UvMyYVdK4Tog/11DZGzRYYth1NaZ+POZY66wGdW/lJ/p3XRw3dka3OFiLcWR6r0JlGLMyOwEi9E+jSyICIl0RA==","shasum":"48fb5c656b19f8ce2a319027a5bbbd22ace64740","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.5.0.tgz","fileCount":276,"unpackedSize":937261,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJmMdj58T4cuLQxvHvaNi3HoOQmpueoY+BAOrwlHCK4wIhAKlVdYwusCGC4pq9RQwM0hNJIJVyhZb2OldGr1fz1emG"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.5.0_1706542682634_0.6589182213016771"},"_hasShrinkwrap":false},"7.6.0":{"name":"buttercup","version":"7.6.0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"react-native":"./dist/web/index.js","types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.4.0","@buttercup/dropbox-client":"^2.2.0","@buttercup/googledrive-client":"^2.3.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.2.0","is-promise":"^4.0.0","layerr":"^2.0.1","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.1","webdav":"^5.3.1"},"devDependencies":{"@babel/cli":"^7.23.4","@babel/core":"^7.23.5","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.23.5","@types/node":"^20.10.4","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.3","base64-js":"^1.5.1","chai":"^4.3.10","concurrently":"^8.2.2","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^15.2.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^3.0.2","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^3.1.0","resolve-typescript-plugin":"^2.0.1","rimraf":"^5.0.5","sinon":"^17.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.5.1","typescript":"^5.3.3","webdav-server":"^2.6.2","webpack":"^5.89.0","webpack-bundle-analyzer":"^4.10.1","webpack-cli":"^5.1.4"},"_id":"buttercup@7.6.0","gitHead":"cc95904e5bf65b949c609670d5f30126c90db348","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-6HiatnPI/pqdQuWvNkxxDqHyMCFHAQqMsRx8bjIqNbSzIvFMaueuP+MPMmDnw0Wh38O1LoNKyqeJ/jeUwwbfdA==","shasum":"5ae12e0e87c4aa6a652b995d59f75dd9549f8201","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.6.0.tgz","fileCount":279,"unpackedSize":943151,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+ykxOWC+WgMI3DwWlhr9US724cZ06Q0Xa0ITb2wweAwIgDUHronABTmQ2D5K+0zY4+ZboihFRrGOV4NDRWJaag08="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.6.0_1707252281601_0.6943280495570867"},"_hasShrinkwrap":false},"7.7.0":{"name":"buttercup","version":"7.7.0","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"react-native":"./dist/web/index.js","types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.4.0","@buttercup/dropbox-client":"^2.2.0","@buttercup/googledrive-client":"^2.3.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.2.0","is-promise":"^4.0.0","layerr":"^2.0.1","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.1","webdav":"^5.5.0"},"devDependencies":{"@babel/cli":"^7.23.4","@babel/core":"^7.23.5","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.23.5","@types/node":"^20.10.4","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.3","base64-js":"^1.5.1","chai":"^4.3.10","concurrently":"^8.2.2","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^15.2.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^3.0.2","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^3.1.0","resolve-typescript-plugin":"^2.0.1","rimraf":"^5.0.5","sinon":"^17.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.5.1","typescript":"^5.3.3","webdav-server":"^2.6.2","webpack":"^5.89.0","webpack-bundle-analyzer":"^4.10.1","webpack-cli":"^5.1.4"},"_id":"buttercup@7.7.0","gitHead":"9484c78eb8be313ff8d4ea4281aaab0909983873","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-UCzKf9HEk09V1NnHixaGvrBqSvvc8BjzRevz92j1VRVBebhjKHWKfSj8+GBxHDA5f+maXme2IOeqJzK3+NNOww==","shasum":"1d1cd78ad7ec61ce291e9a64604c0541c9f12e85","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.7.0.tgz","fileCount":279,"unpackedSize":924521,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5ukD+TCnyZNXJ96EiZXXNKor19DEjmEicTmhY/PQepgIhALFsLJOTU6VE7WvkarFnykA3ZBj5KknimZFuRwNLl071"}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.7.0_1710793760828_0.591535925918558"},"_hasShrinkwrap":false},"7.7.1":{"name":"buttercup","version":"7.7.1","description":"A NodeJS password vault.","type":"module","exports":{".":{"browser":"./dist/web/index.js","default":"./dist/node/index.js"},"./web":"./dist/web/index.js"},"react-native":"./dist/web/index.js","types":"dist/node/index.d.ts","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"scripts":{"analyse":"ANALYSE=bundle npm run build","build":"run-s clean build:node build:web","build:node":"tsc && npm run build:node:rename","build:node:rename":"mv ./dist/node/index.node.js ./dist/node/index.js && mv ./dist/node/index.node.d.ts ./dist/node/index.d.ts","build:web":"run-s build:web:source build:web:types","build:web:source":"webpack --config webpack.config.cjs --mode=production","build:web:types":"tsc --emitDeclarationOnly --outDir ./dist/web && mv ./dist/web/index.web.d.ts ./dist/web/index.d.ts","clean":"rimraf ./dist && rimraf ./web","dev":"concurrently -k 'npm run dev:node' 'npm run dev:web'","dev:node":"tsc --watch","dev:web":"webpack --mode=development --watch","docs":"npm run generate:docs","format":"prettier --write '{source,test}/**/*.{js,ts}'","generate:docs":"jsdoc2md 'source/**/*.js' > API.md","generate:vault":"npm run build:node && node scripts/gen_vault_format_a.js && node scripts/gen_vault_format_b.js","prepublishOnly":"run-s build","test":"run-s test:node test:web test:format","test:format":"prettier --check '{source,test}/**/*.{js,ts}'","test:integration":"npm run build:node && mocha -r test/index.js --timeout 15000 'test/integration/**/*.spec.js'","test:integration:watch":"nodemon --exec 'npm run test:integration' --watch source --watch test","test:node":"npm run build:node && nyc mocha -r test/index.js --timeout 15000 'test/{unit,integration}/**/*.spec.js'","test:unit":"npm run build:node && mocha -r test/index.js 'test/unit/**/*.spec.js'","test:unit:watch":"nodemon --exec 'npm run test:unit' --watch source --watch test","test:web":"karma start karma.conf.cjs","test:web:production":"BUNDLE=production karma start"},"engines":{"node":">=14"},"lint-staged":{"{source,test}/**/*.{js,ts}":["prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"keywords":["password","vault","credentials","login","secure","buttercup"],"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"license":"MIT","bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"homepage":"https://github.com/buttercup/buttercup-core#readme","dependencies":{"@buttercup/channel-queue":"^1.4.0","@buttercup/dropbox-client":"^2.2.0","@buttercup/googledrive-client":"^2.3.0","crypto-random-string":"^5.0.0","eventemitter3":"^5.0.0","fast-levenshtein":"^3.0.0","foreachasync":"^5.1.3","form-data":"^4.0.0","fuse.js":"^6.6.2","global":"^4.4.0","hash.js":"^1.1.7","iocane":"^5.2.0","is-promise":"^4.0.0","layerr":"^2.0.1","pako":"^1.0.11","path-posix":"^1.0.0","pify":"^6.1.0","url-join":"^5.0.0","uuid":"^9.0.1","webdav":"^5.5.0"},"devDependencies":{"@babel/cli":"^7.23.4","@babel/core":"^7.23.5","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/preset-env":"^7.23.5","@types/node":"^20.10.4","arraybuffer-loader":"^1.0.8","babel-loader":"^9.1.3","base64-js":"^1.5.1","chai":"^4.3.10","concurrently":"^8.2.2","husky":"^4.3.8","jsdoc-to-markdown":"^8.0.0","karma":"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sinon":"^1.0.5","karma-spec-reporter":"^0.0.36","karma-webpack":"^5.0.0","lint-staged":"^15.2.0","mocha":"^10.2.0","nested-property":"^4.0.0","nodemon":"^3.0.2","npm-run-all":"^4.1.1","null-loader":"^4.0.1","nyc":"^15.1.0","prettier":"^3.1.0","resolve-typescript-plugin":"^2.0.1","rimraf":"^5.0.5","sinon":"^17.0.1","sleep-promise":"^9.1.0","tmp":"^0.2.1","ts-loader":"^9.5.1","typescript":"^5.3.3","webdav-server":"^2.6.2","webpack":"^5.89.0","webpack-bundle-analyzer":"^4.10.1","webpack-cli":"^5.1.4"},"_id":"buttercup@7.7.1","gitHead":"5aac50d9cfab453f7df80196f7ffb031a4985f9d","_nodeVersion":"20.13.1","_npmVersion":"10.5.2","dist":{"integrity":"sha512-+JrKFBTp8jSlIgmwgST2fW1MvnthO3l6VirI4Oeov/NBP9WcCVQK5EAfjy8AOdHM0/T68v103hMAlOV0ZraHbw==","shasum":"697bc120496d2e5c61c05ec0464695a2f572a2ff","tarball":"https://registry.npmjs.org/buttercup/-/buttercup-7.7.1.tgz","fileCount":279,"unpackedSize":924666,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWgMIeMnaVG4xTP3bJNwLSrabkcHq3UOTHV5gMiNe3mwIgWH2dtYj4b8sbxLtL9HYJlzeMGSnn2AMCqTt0+ACK4+c="}]},"_npmUser":{"name":"perrymitchell","email":"perry@perrymitchell.net"},"directories":{},"maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/buttercup_7.7.1_1715541608274_0.7770584627656303"},"_hasShrinkwrap":false}},"readme":"<h1 align=\"center\">\n  <br/>\n  <img src=\"https://cdn.rawgit.com/buttercup-pw/buttercup-assets/054fc0fa/badge/core.svg\" alt=\"Buttercup Core\">\n  <br/>\n  <br/>\n  <br/>\n</h1>\n\n# Buttercup core library\n\nA NodeJS secrets vault.\n\n[![Buttercup](https://cdn.rawgit.com/buttercup-pw/buttercup-assets/6582a033/badge/buttercup-slim.svg)](https://buttercup.pw) [![npm](https://img.shields.io/npm/dt/buttercup.svg)](https://www.npmjs.com/package/buttercup) [![npm version](https://badge.fury.io/js/buttercup.svg)](https://badge.fury.io/js/buttercup) ![node min version](https://img.shields.io/badge/node-%3E%3D%2014.x-lightgrey.svg) [![security](https://img.shields.io/badge/Security-As%20you%20wish-green.svg)](https://en.wikipedia.org/wiki/The_Princess_Bride_(film)) [![encryption](https://img.shields.io/badge/Encryption-AES%20256%20CBC%2FGCM-red.svg)](https://tools.ietf.org/html/rfc3602)\n\n![Tests status](https://github.com/buttercup/buttercup-core/actions/workflows/test.yml/badge.svg)\n\n[![NPM](https://nodei.co/npm/buttercup.png)](https://www.npmjs.com/package/buttercup)\n\n## About\n\nButtercup is a JavaScript password manager for NodeJS and the browser (though you can also see it used on platforms like [React Native](https://github.com/buttercup/buttercup-mobile)). It's based around the concept of a **Vault** and its secret **Entry** items (a login, credit card etc.). Entries are then separated into **Group** containers that make organising vaults a little easier.\n\nBecause Buttercup is designed first and foremost to be consumed by users in some application, **VaultManager** and **VaultSource** constructs are provided to allow for easy control over several vaults in a somewhat shared environment. A vault manager provides easy-to-use methods to perform dehydration and rehydration (storage in serialised form) of vaults to some secure storage (files, remote datasources etc.).\n\nButtercup can save and load vaults that are stored locally, in cloud service providers like Dropbox or Google Drive, or in a cloud service's WebDAV-enabled storage. It does this by providing a **Datasource** construct for each provider.\n\nBecause Buttercup can be consumed in some interesting and varied environments, serialisation tools called **facades** are provided to allow for greater flexibility when working with vault data structures. Facades provide a way to move data around without _classes_, converting vaults to and from JSON objects. Facades are used when attaching vaults to user interfaces like with the [Buttercup UI library](https://github.com/buttercup/ui).\n\n### Features\n\nThe core of the system, this **Buttercup Core**, boasts a few awesome features:\n\n * Merge-able vault contents\n * History for back-tracking to previous passwords etc.\n * File attachments (encrypted)\n * AES CBC encryption\n * GZip compression\n * NodeJS and Browser support\n\nThis library also supports a variety of datasources for loading from and saving to:\n\n * WebDAV\n * [Dropbox](https://www.dropbox.com/)\n * [Google Drive](https://www.google.com/drive/)\n * Local files\n * In-memory (testing, prototyping)\n\nCheck out the [changelog](https://github.com/buttercup/buttercup-core/blob/master/CHANGELOG.md).\n\n## Installation\n\nTo use Buttercup in a NodeJS environment, you can simply install and require it:\n\n```shell\nnpm install buttercup --save\n```\n\nIn a Node environment, for example:\n\n```javascript\nconst { Vault } = require(\"buttercup\");\n```\n\nOr for Typescript:\n\n```typescript\nimport { Vault } from \"buttercup\";\n```\n\nIn a _web_ environment, use the following:\n\n```javascript\nimport { Vault } from \"buttercup/web\";\n```\n\nButtercup core is ESM - you must either import it in a project that is also ESM, or use a build tool like Webpack.\n\n_Buttercup core supports Node version 14 and up. For older Node versions use v6 and earlier._\n\n## Usage\n\nButtercup uses `Vault`s, `Group`s and `Entry`s to manipulate data in a _workspace_-like environment. These 3 constructs have no knowledge of encryption or storage, and simply provide interfaces for working with the data structures.\n\nTo manage vaults, their storage and their states in a higher-level manner more appropriate for building applications, check out the `VaultManager` and `VaultSource` constructs.\n\nTo get started, we should create a new Vault:\n\n```javascript\nimport { Vault, init } from \"buttercup\";\n\n// Initialise environment\ninit();\n\n// Create an empty vault\nconst vault1 = new Vault();\n\n// Create aa vault with \"General\" and \"Trash\" groups\nconst vault2 = Vault.createWithDefaults();\n```\n\nThe `init()` function call is used to initialise the environment (performs the same function as `@buttercup/app-env` used to). It is required for Buttercup to work. It can be called more than once without effect.\n\nEntries can't be added directly to a Vault, but can be to Groups. Creating Groups and Entries is trivial:\n\n```javascript\nconst vault = Vault.createWithDefaults();\nconst myGroup = vault.createGroup(\"My Group\");\nconst myEntry = myGroup.createEntry(\"My Entry\");\n```\n\nEvery command on Vaults, Groups and Entries **modifies the Vault instance**, but does not save it to storage. There is no command or need to commit any data - each instance links back to the original Vault. Vaults are saved and loaded using Datasources:\n\n```javascript\nimport { Credentials, FileDatasource, Vault, init } from \"buttercup\";\n\ninit();\n\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\nconst vault = Vault.createWithDefaults();\nvault\n    .createGroup(\"Websites\")\n        .createEntry(\"My bank\")\n            .setProperty(\"username\", \"user-name\")\n            .setProperty(\"password\", \"s3cureP4$$\");\n\nconst vaultCredentials = Credentials.fromPassword(\"masterPassword!\");\nawait fileDatasource.save(vault.format.history, vaultCredentials);\n```\n\nLater:\n\n```javascript\nconst datasourceCredentials = Credentials.fromDatasource({\n    path: \"./user.bcup\"\n}, \"masterPassword!\");\nconst fileDatasource = new FileDatasource(datasourceCredentials);\n\nfileDatasource\n    .load(datasourceCredentials)\n    .then(Vault.createFromHistory)\n    .then(vault => {\n        // ...\n    });\n```\n\nUsing just a datasource is not recommended as saving and loading is quite low-level and cumbersome. Check the [browser extension](https://github.com/buttercup/buttercup-browser-extension) or [desktop application](https://github.com/buttercup/buttercup-desktop) for examples of how to use the `VaultManager` and other helpful classes.\n\n### Development\n\nTo develop Buttercup Core, clone the repository on a Linux or Mac OS machine. Ensure that you're running NodeJS version 16/18. Install all dependencies by running `npm install` in the project directory. Run the tests to ensure everything is functioning correctly: `npm test`.\n\n## Vault Formats\n\nButtercup currently supports [2 concurrent vault formats](VAULT_FORMAT.md), as it is in the process of transitioning from **Format A** (legacy) to **Format B**. You can switch the operational format by doing the following:\n\n```javascript\nconst { VaultFormatB, init, setDefaultFormat } = require(\"buttercup\");\n\ninit();\n\nsetDefaultFormat(VaultFormatB);\n```\n\nButtercup will automatically transition to using Format B as the default in some weeks or months (since v5 was released).\n\n## Compatibility\n\nButtercup's compatibility is defined as the following:\n\n * NodeJS version 12 and up\n * Current versions of the following browsers:\n   * Google Chrome\n   * Mozilla Firefox\n   * Safari\n * _React Native 0.60+_\n\n_NB: React Native support is not guaranteed under all circumstances as the platform's stability for low-level operations like cryptography is questionable. Use the [mobile app](https://github.com/buttercup/buttercup-mobile) as a guideline for implementation._\n\nBrowser support is strictly dependent on:\n\n * Popularity\n * The availability of required crypto libaries such as `SubtleCrypto`\n","maintainers":[{"name":"perrymitchell","email":"perry@perrymitchell.net"},{"name":"sallar","email":"sallar@kaboli.org"}],"time":{"modified":"2024-05-12T19:20:08.745Z","created":"2015-10-11T21:03:15.354Z","0.1.1-a":"2015-10-11T21:03:15.354Z","0.2.1-a":"2015-10-14T16:35:58.959Z","0.2.2-a":"2015-10-14T16:59:20.535Z","0.3.0-a":"2015-10-16T20:43:08.858Z","0.4.0-a":"2015-10-17T18:48:27.872Z","0.4.1-a":"2015-10-17T19:12:38.168Z","0.5.0":"2015-10-18T21:17:56.372Z","0.5.1":"2015-10-20T19:14:17.813Z","0.6.0":"2015-10-24T06:13:21.223Z","0.6.1":"2015-11-08T18:16:59.957Z","0.7.0":"2015-11-08T19:49:38.403Z","0.8.0":"2015-11-28T19:26:52.503Z","0.8.1":"2015-11-29T14:17:29.266Z","0.9.0":"2015-12-05T17:21:08.803Z","0.10.0":"2015-12-13T13:37:33.776Z","0.10.1":"2015-12-13T14:39:01.304Z","0.10.2":"2015-12-13T19:06:16.516Z","0.11.0":"2015-12-19T12:29:00.397Z","0.11.1":"2015-12-19T12:47:11.191Z","0.11.2":"2015-12-19T12:56:31.864Z","0.11.3":"2015-12-25T11:59:26.409Z","0.11.4":"2016-01-03T15:11:37.165Z","0.12.0":"2016-01-22T21:05:25.316Z","0.12.1":"2016-01-31T17:44:14.234Z","0.12.2":"2016-01-31T19:07:23.904Z","0.13.0":"2016-02-05T16:55:52.529Z","0.14.0":"2016-02-12T17:50:35.408Z","0.15.0":"2016-02-19T20:25:45.763Z","0.15.1":"2016-02-20T12:10:24.071Z","0.16.0":"2016-02-21T18:35:02.038Z","0.17.0":"2016-02-27T11:31:05.776Z","0.18.0":"2016-04-02T22:32:50.224Z","0.19.0":"2016-04-09T20:06:46.332Z","0.20.0":"2016-07-16T11:17:43.467Z","0.20.1":"2016-07-17T18:38:19.535Z","0.21.0":"2016-08-07T18:35:04.088Z","0.22.0":"2016-09-27T19:42:56.903Z","0.23.0":"2016-10-02T16:09:03.461Z","0.24.0":"2016-10-15T12:32:32.851Z","0.25.0":"2016-10-16T18:34:44.060Z","0.26.0":"2016-10-23T13:13:53.951Z","0.27.0":"2016-10-29T21:33:03.871Z","0.28.0":"2016-11-07T20:13:43.203Z","0.29.0":"2016-11-30T20:44:37.017Z","0.30.0-rc1":"2016-12-21T20:38:12.865Z","0.30.0-rc2":"2016-12-26T13:54:10.523Z","0.30.0-rc3":"2016-12-26T17:22:28.263Z","0.30.0":"2016-12-27T21:51:33.644Z","0.30.1":"2016-12-30T08:04:54.007Z","0.30.2":"2016-12-30T08:23:29.434Z","0.31.0":"2017-01-04T20:22:20.055Z","0.32.0":"2017-01-05T22:02:39.998Z","0.33.0":"2017-01-07T11:12:33.195Z","0.33.1":"2017-01-07T14:23:25.803Z","0.33.2":"2017-01-07T14:56:24.328Z","0.34.0":"2017-03-06T18:18:59.327Z","0.35.0":"2017-03-11T14:03:18.447Z","0.36.0":"2017-03-20T17:40:42.781Z","0.37.0":"2017-03-27T18:39:50.612Z","0.37.1":"2017-04-16T16:02:48.197Z","0.38.0":"2017-04-29T16:44:08.590Z","0.38.1":"2017-05-02T18:04:08.985Z","0.39.0":"2017-05-21T18:54:43.840Z","0.39.1":"2017-05-22T17:11:36.973Z","0.40.0":"2017-05-28T10:30:46.168Z","0.40.1":"2017-06-10T19:01:08.598Z","0.41.0":"2017-06-24T19:11:58.826Z","0.41.1":"2017-06-30T19:16:54.355Z","0.41.2":"2017-07-03T19:47:44.844Z","0.42.0":"2017-07-06T20:37:01.937Z","0.42.1":"2017-07-07T17:06:29.183Z","0.43.0":"2017-07-07T20:28:35.045Z","0.44.0":"2017-07-16T20:14:45.267Z","0.44.1":"2017-07-16T20:41:14.632Z","0.45.0":"2017-07-24T18:51:30.680Z","0.46.0":"2017-08-26T06:58:54.960Z","0.47.0":"2017-08-29T12:42:14.826Z","0.48.0":"2017-09-02T16:38:47.121Z","0.49.0":"2017-09-04T17:58:37.438Z","0.50.0":"2017-10-16T19:16:34.210Z","1.0.0-rc1":"2017-10-21T11:26:48.759Z","1.0.0-rc2":"2017-10-21T16:48:06.828Z","1.0.0-rc3":"2017-10-22T11:38:12.410Z","1.0.0-rc4":"2017-10-22T13:21:30.614Z","1.0.0":"2017-11-05T18:11:05.351Z","1.1.0":"2017-11-08T18:20:04.475Z","1.1.1":"2017-11-18T12:17:32.985Z","1.1.2":"2017-12-08T15:12:12.660Z","1.2.0":"2018-01-10T16:16:19.177Z","1.3.0":"2018-01-10T16:35:16.798Z","1.3.1":"2018-01-10T19:30:58.537Z","1.4.0":"2018-01-11T19:49:10.685Z","1.5.0":"2018-02-14T21:01:57.272Z","1.5.1":"2018-02-15T20:55:47.358Z","1.6.0":"2018-03-15T19:21:06.230Z","1.6.1":"2018-03-15T19:35:06.381Z","1.6.2":"2018-03-15T21:06:38.648Z","1.7.0":"2018-05-27T12:04:58.085Z","1.7.1":"2018-05-27T12:45:01.980Z","2.0.0-0":"2018-06-16T17:53:26.074Z","2.0.0-1":"2018-06-19T17:56:53.771Z","2.0.0-2":"2018-06-19T18:40:21.378Z","2.0.0-3":"2018-06-19T19:01:37.640Z","2.0.0":"2018-06-21T12:03:17.177Z","2.0.1":"2018-06-22T15:39:37.622Z","2.0.2":"2018-06-22T15:54:12.020Z","2.0.3":"2018-06-25T17:40:24.975Z","2.0.4":"2018-07-03T14:49:20.351Z","2.2.0":"2018-07-10T19:35:55.528Z","2.3.0":"2018-07-28T19:38:27.726Z","2.4.0":"2018-08-11T17:07:31.395Z","2.4.1":"2018-08-27T05:41:44.108Z","2.5.0":"2018-10-02T19:03:44.839Z","2.6.0":"2018-10-02T20:00:59.316Z","2.6.1":"2018-10-03T16:52:31.239Z","2.6.2":"2018-10-03T18:07:21.749Z","2.6.3":"2018-10-03T19:55:43.181Z","2.6.4":"2018-10-06T16:50:20.914Z","2.6.5":"2018-10-07T15:51:38.953Z","2.7.0":"2018-10-27T19:25:43.616Z","2.8.0-rc1":"2018-11-16T18:55:02.878Z","2.8.0-rc2":"2018-11-16T19:56:22.678Z","2.8.0":"2018-11-16T21:10:15.475Z","2.8.1":"2018-11-16T21:31:56.483Z","2.9.0":"2018-12-03T18:08:52.595Z","2.9.1":"2018-12-05T21:34:54.992Z","2.9.2":"2018-12-08T12:27:56.201Z","2.10.0":"2019-01-14T16:43:40.740Z","2.11.0":"2019-03-05T21:30:50.367Z","2.12.0":"2019-04-14T08:48:16.592Z","2.13.0":"2019-06-03T15:56:05.596Z","2.14.0":"2019-07-11T19:06:36.051Z","2.15.0":"2019-07-16T20:18:26.952Z","2.15.1":"2019-07-22T20:18:03.046Z","2.15.2":"2019-07-23T09:48:21.803Z","2.15.3":"2019-08-02T18:34:07.639Z","2.15.4":"2019-08-02T20:32:11.660Z","2.16.0":"2019-10-06T19:42:20.488Z","2.16.1":"2019-10-10T17:52:52.892Z","3.0.0-rc1.0":"2019-11-03T15:33:46.127Z","3.0.0-rc1.1":"2019-12-20T18:12:12.380Z","3.0.0-rc2.0":"2020-01-03T16:03:41.300Z","3.0.0-rc2.1":"2020-01-05T12:50:35.699Z","3.0.0-rc3.0":"2020-01-14T18:09:21.104Z","3.0.0-rc3.1":"2020-01-24T17:46:40.570Z","3.0.0-rc3.2":"2020-01-26T19:16:24.062Z","3.0.0":"2020-03-15T14:45:50.752Z","4.0.0-r01":"2020-04-13T08:13:58.075Z","4.0.0-r02":"2020-04-19T19:27:53.259Z","4.0.0-r03":"2020-05-12T19:09:34.518Z","4.0.0-r04":"2020-05-17T11:51:27.593Z","4.0.0-r05":"2020-05-17T11:54:06.890Z","4.0.0-r06":"2020-05-17T16:26:05.869Z","4.0.0-r07":"2020-05-18T16:50:27.897Z","4.0.0-r08":"2020-05-18T19:45:04.860Z","4.0.0-r09":"2020-05-23T09:21:29.492Z","4.0.0":"2020-05-30T15:56:56.788Z","4.1.0":"2020-05-31T09:23:10.411Z","4.2.0":"2020-06-12T20:29:25.426Z","4.2.1":"2020-06-12T21:07:58.124Z","4.2.2":"2020-06-20T18:41:53.277Z","4.2.3":"2020-06-21T08:44:58.366Z","4.3.0":"2020-06-21T09:26:54.682Z","4.4.0":"2020-06-21T14:25:45.193Z","4.4.1":"2020-06-22T17:43:24.492Z","4.5.0":"2020-06-24T19:17:38.180Z","4.5.1":"2020-06-28T15:02:36.368Z","4.6.0":"2020-06-30T17:58:17.625Z","4.7.0":"2020-07-02T19:55:41.808Z","4.7.1":"2020-07-05T14:47:11.989Z","4.8.0":"2020-07-06T18:49:27.687Z","4.8.1":"2020-07-06T20:15:56.035Z","4.8.2":"2020-07-07T12:09:48.220Z","4.9.0":"2020-07-07T14:34:51.507Z","4.9.1":"2020-07-09T17:23:48.577Z","4.9.2":"2020-07-11T12:23:00.111Z","4.10.0":"2020-07-20T21:27:03.904Z","5.0.0-0":"2020-07-26T19:38:56.059Z","4.11.0":"2020-07-28T11:54:00.154Z","4.11.1":"2020-07-28T12:27:18.780Z","4.12.0":"2020-08-01T19:42:36.794Z","4.13.0":"2020-08-02T12:00:51.936Z","5.0.0-1":"2020-08-18T17:36:08.952Z","4.13.1":"2020-08-19T15:07:32.622Z","5.0.0-2":"2020-08-22T18:28:53.456Z","5.0.0-3":"2020-08-22T21:09:53.731Z","5.0.0":"2020-08-24T20:10:12.709Z","5.0.1":"2020-08-26T17:33:39.268Z","5.1.0":"2020-08-29T13:06:10.515Z","5.2.0":"2020-08-30T09:07:46.052Z","5.2.1":"2020-08-30T14:55:40.715Z","5.3.0-0":"2020-09-03T18:54:34.304Z","5.3.0-1":"2020-09-04T16:42:48.394Z","5.3.0":"2020-09-04T17:20:27.027Z","5.3.1":"2020-09-04T20:14:32.426Z","5.4.0":"2020-09-05T20:21:50.395Z","5.5.0":"2020-09-06T17:58:39.256Z","5.6.0":"2020-10-11T15:23:18.792Z","5.6.1":"2020-11-25T22:37:16.459Z","5.6.2":"2020-12-06T15:03:28.824Z","5.7.0":"2020-12-06T15:23:52.943Z","5.8.0":"2020-12-09T18:21:23.737Z","5.9.0":"2021-01-23T21:17:12.959Z","5.9.1":"2021-01-26T21:27:09.879Z","5.10.0":"2021-03-13T18:29:49.688Z","5.11.0":"2021-03-14T07:50:25.685Z","5.12.0":"2021-03-16T20:31:18.030Z","5.12.1":"2021-03-16T20:58:48.044Z","5.12.2":"2021-03-21T14:23:24.490Z","5.13.0":"2021-04-07T18:06:02.031Z","5.13.1":"2021-05-18T21:01:58.062Z","6.0.0":"2021-06-06T18:30:01.763Z","6.1.0":"2021-08-14T20:28:38.514Z","6.2.0":"2021-08-17T18:04:52.791Z","6.3.0":"2021-10-03T19:21:18.956Z","6.4.0":"2021-10-18T18:41:23.988Z","6.5.0":"2021-10-21T18:42:55.320Z","6.6.0":"2021-11-10T19:39:09.894Z","6.7.0":"2022-01-17T13:32:03.625Z","6.8.0":"2022-01-30T08:00:32.773Z","6.8.1":"2022-01-30T08:14:12.848Z","6.8.2":"2022-01-30T10:46:21.753Z","6.9.0":"2022-01-31T18:34:13.911Z","6.9.1":"2022-01-31T19:01:10.957Z","6.10.0":"2022-02-07T14:16:31.293Z","6.11.0":"2022-02-13T20:35:13.253Z","6.12.0":"2022-02-14T20:52:13.090Z","6.13.0":"2022-04-12T19:29:37.632Z","6.13.1":"2022-04-13T18:04:09.856Z","6.14.0":"2022-05-25T18:44:37.587Z","6.15.0":"2022-08-03T19:10:50.804Z","6.15.1":"2022-08-16T18:03:14.116Z","6.15.2":"2022-08-16T18:38:31.917Z","6.15.3":"2022-08-29T19:42:51.392Z","6.16.0":"2022-08-30T19:59:01.479Z","6.16.1":"2022-08-31T17:19:05.292Z","6.16.2":"2022-08-31T17:34:09.138Z","6.16.3":"2022-09-03T17:28:12.519Z","6.16.4":"2022-09-03T17:30:32.800Z","6.16.5":"2022-09-03T18:03:31.929Z","6.17.0":"2023-01-09T20:22:33.510Z","7.0.0-0":"2023-01-28T21:00:06.748Z","7.0.0-1":"2023-01-29T17:54:15.989Z","6.17.1":"2023-01-29T19:18:47.440Z","7.0.0-2":"2023-01-30T20:03:10.112Z","7.0.0-3":"2023-01-30T20:10:49.832Z","7.0.0-4":"2023-01-31T14:32:13.259Z","6.17.2":"2023-01-31T14:37:34.704Z","7.0.0-5":"2023-02-01T19:53:22.492Z","7.0.0-6":"2023-02-08T19:54:13.824Z","7.0.0":"2023-02-13T18:36:24.386Z","7.1.0":"2023-02-18T20:55:31.106Z","7.1.1":"2023-02-19T08:40:27.584Z","7.2.0":"2023-05-11T07:48:25.030Z","7.2.1":"2023-05-11T20:15:43.656Z","7.2.2":"2023-05-12T06:31:23.446Z","7.2.3":"2023-05-12T10:51:12.339Z","7.2.4":"2023-07-16T13:20:22.140Z","7.3.0":"2023-11-11T06:17:24.501Z","7.4.0":"2023-12-09T20:36:50.292Z","7.5.0":"2024-01-29T15:38:02.870Z","7.6.0":"2024-02-06T20:44:41.877Z","7.7.0":"2024-03-18T20:29:21.094Z","7.7.1":"2024-05-12T19:20:08.577Z"},"homepage":"https://github.com/buttercup/buttercup-core#readme","keywords":["password","vault","credentials","login","secure","buttercup"],"repository":{"type":"git","url":"git+https://github.com/buttercup/buttercup-core.git"},"author":{"name":"Perry Mitchell","email":"perry@perrymitchell.net"},"bugs":{"url":"https://github.com/buttercup/buttercup-core/issues"},"license":"MIT","readmeFilename":"README.md","contributors":[{"name":"Perry Mitchell","email":"perry@perrymitchell.net"}],"users":{"tapmodo":true,"retorillo":true,"detj":true}}