{"_id":"drive-db","_rev":"54-6286b1aa993cb239fd5519ca8c81b565","name":"drive-db","description":"📊 Use Google Drive spreadsheets as a simple database","dist-tags":{"latest":"6.0.1","beta":"5.0.0-1"},"versions":{"1.0.0":{"name":"drive-db","version":"1.0.0","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"b6b5d14e70fcbafbf1fee0e1f244172d6f89b7ac","_id":"drive-db@1.0.0","_shasum":"3cefd2df3ab83c1e06e1f616e14c12637f5330f6","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"3cefd2df3ab83c1e06e1f616e14c12637f5330f6","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.0.0.tgz","integrity":"sha512-kKCea1qzi53B+A/HsLTA6By4lyOPDYmkiN2g78cv2rB2OWtSgmJPOG/1GgN9wUGyyz6WniomNgrB+TRtnSdJEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFDJGKvY3P/2E56z30L0jjZDGJWTvzlTtwhJFu8CGJ56AiAt6C4eSFItrRFsFMQDbpoTbo1ewWup3Iga27Gkw3JCJA=="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.1.0":{"name":"drive-db","version":"1.1.0","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"b6b5d14e70fcbafbf1fee0e1f244172d6f89b7ac","_id":"drive-db@1.1.0","_shasum":"d2b61f8bb30cec1de4d4cacc7b31633013323291","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"d2b61f8bb30cec1de4d4cacc7b31633013323291","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.1.0.tgz","integrity":"sha512-PQlOt59BHKVGk7q+hnQwbAlsNcOFSn1FTkRpNsv5MbUUSOERlr6M5KIJZc54J6wkmI8lqWz7Cigv7Qzrn2rc5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA2J+MfNAGFrk6GC0phA7l7NyJqSEOkjKe9EPf5JQUeJAiEA9S+VoIKo6HE/6YQ+7PlbFfj75NX/S/KCgyElXnkrYJU="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.1.1":{"name":"drive-db","version":"1.1.1","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"2c56544f38b0aa773b9e8b8be64ad9dee5291d2c","_id":"drive-db@1.1.1","_shasum":"3c08809166bfa1cb3cf4eb6040ba435c62e7be11","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"3c08809166bfa1cb3cf4eb6040ba435c62e7be11","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.1.1.tgz","integrity":"sha512-2kr4QD1yJzOaVBIvxfNs0c+1bT2qZfMDxvUT1PI3K6mwaKeUjpPXUf/iVvMrCf47TJfItaN1XYcodnYEVQjLkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaEBxD1ESJ4xTuahx85M7BuLPUB6WEdBiSKYZPA5bm3wIhAP5U45pew9svJBYF+dU4DaQ3UsK9ik51bVB0XnlYpfza"}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.1.2":{"name":"drive-db","version":"1.1.2","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"60c43dc615aa6a00eb1775616035065e6eb2b0a4","_id":"drive-db@1.1.2","_shasum":"ca0e8fc441cc2474779fabf3cb85e1ef47af1223","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"ca0e8fc441cc2474779fabf3cb85e1ef47af1223","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.1.2.tgz","integrity":"sha512-Mw/9acEHxD9GMdA6z/QRsyW1yt9OYXTwOV5XvH+6bcvScRh6xY9e3dwZBF+S/Hl6axpP1YpzaEtNNjiOpL0oBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCReZmTG+U2UtHgGhyV8de1XenxAmL2WsxqueOlQKvJKAIhANwvH7zry3tJ1X12BoTpGry1JSymwgL2i21W2lQFMqLW"}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.1.3":{"name":"drive-db","version":"1.1.3","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"ce58e0d9144f1136190a651b18899d3d11592101","_id":"drive-db@1.1.3","_shasum":"b477f1225b6c19a04df846ee946867a4d3c2f561","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"b477f1225b6c19a04df846ee946867a4d3c2f561","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.1.3.tgz","integrity":"sha512-8X87VAkejmMIn6tqum5+YZliHxlG5DB9vTaWjoi/b9hysqXPlywLtxGqRFypwz39vuzpeegKOj8oq728uYzn5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJK+OGh9gc0x5bVirqjfflomvmzOB+mOYZWT4/PVASbAiEA6erw92n/V910DxzTICBrTPEEne15ZouvtJ6M1kSUUyk="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.2.0":{"name":"drive-db","version":"1.2.0","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"5633443903ee6b97fedff3d0e1c0773d2ee51ac9","_id":"drive-db@1.2.0","_shasum":"f515e1cab2255e41a8216db4bc868c0527f091be","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"f515e1cab2255e41a8216db4bc868c0527f091be","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.2.0.tgz","integrity":"sha512-rtac/Po7ls8KOODDbKMOM+0GqfZSp17r5Rm8aQ16N3/V60+Oq6ZYdUjKHRz5VmDHJQkZECiE1Qj7gG/yYwXwPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB5qt/F7O51jI97HOE5X68jcWyDgc+AjTAKkak42s0ZuAiAXXgahuTVfJFA9eXZCkA02gdZvYsUpjdWdMWnme/xGPA=="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.3.0":{"name":"drive-db","version":"1.3.0","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"5633443903ee6b97fedff3d0e1c0773d2ee51ac9","_id":"drive-db@1.3.0","_shasum":"e457e135c062ba2a73a69f410bfcbdaff0cd1f9f","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"e457e135c062ba2a73a69f410bfcbdaff0cd1f9f","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.3.0.tgz","integrity":"sha512-iIflv1lF1NKqV8wJ3OFDjac9yUEpkRHQNqegcmZeexdtTRC8RYd8S+6OjairSUKVmvzX32m7SQBFCC4U3O34SA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9BcJB7yqn2QwdXYZ9Qw756plOE2+1FhoupP0ALASMzgIhAKS0PH9ref6AdPDetvAZ9S8rRRuXDjKu4f+Mz8PPRSEo"}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.4.0":{"name":"drive-db","version":"1.4.0","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"94aec5f358eee51d619b39c17fb6dda33a3e5667","_id":"drive-db@1.4.0","_shasum":"3919720fbe7f531ea724e426cb0ce121e1e4371f","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"3919720fbe7f531ea724e426cb0ce121e1e4371f","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.4.0.tgz","integrity":"sha512-yJHXGiRlgdV7Ur41dhpmX8JdRuQcHqPEL3FzFPWU3bOPESMopH1iWzGOiXS3ghtpeW0DbczWJ7monrMbw9VhCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGpKREuGglnJ8nOFyaIpYpcGMiuTIaH5VyOEK5CrGIwJAiBX3wXH4z5hUfaczWNqW5bt+VMJ/U2erMn7ULRYD7Ynyw=="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.5.0":{"name":"drive-db","version":"1.5.0","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"6494d2458d15f72e589b67a1a64d6ad571d645cd","_id":"drive-db@1.5.0","_shasum":"bda21ae2f64c936785f58ed337646086701c07ee","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"bda21ae2f64c936785f58ed337646086701c07ee","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.5.0.tgz","integrity":"sha512-tSvligPu0r0zR0SDzonOHKmgyP2hY06zgz3emHSW8KoQ4PdSzh6hEk9jwOOlk8CZ2oIQ2hJ+7Ppx8ovFR1Ww7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbJ2Rxcdm3sWvWAHXtfNbVXy6H9VXyBbfb8IDCJuRDzwIgGsq7oS38VCc+YGyKvIGCbRt7iAY5epAwtpNpU5XnvT0="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.5.1":{"name":"drive-db","version":"1.5.1","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"d30b76f2e3aa40f91e9981fe03a47ec05d3003f2","_id":"drive-db@1.5.1","_shasum":"9c44389d2c0184d1c1e573806f6ad9aeceab9582","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"9c44389d2c0184d1c1e573806f6ad9aeceab9582","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.5.1.tgz","integrity":"sha512-LToMeRmxHr3vU48d+B1iWZJTV0LwLdVWajo+EgNKI/Jr1cT9WS6jPxZpq3qH0if3AWDTYylBj8qSxYi26xou8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3lnGHZ0m5UxFDsVN16HjN920xOkjfAfEBGSSJ5oHScgIgL6QucuHIkRK/dOF+MjLH9/ojvH4DqEmH6eullrfz8gQ="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.5.2":{"name":"drive-db","version":"1.5.2","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"d77b8215c503c8de1b3c901ce8655d9e9c677d04","_id":"drive-db@1.5.2","_shasum":"54dfa0efb44ff53969ad4e6b360f4a15b853533e","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"54dfa0efb44ff53969ad4e6b360f4a15b853533e","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.5.2.tgz","integrity":"sha512-sSpz8weziBj64TIK1q/WW6GZSCBKqXG2mv1wJo3HsT5/TsMRWtcx3iQ2DrIymIson2IDzjKc5FBFg2rqVUv7pA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHdpu9EEMGDwAhFu3SlJJdwea1rBgG4YwoXWkv4p64HIAiAWSzm/VYQg3ERKt1ugZ6lpH5peBH2x4V+tt9DlkxqkdQ=="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.5.3":{"name":"drive-db","version":"1.5.3","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"6a260d2b0c3f92eadba831569f6f52fa1a662dd8","_id":"drive-db@1.5.3","_shasum":"7dc0b0895c0578c0fe25c03f54c63da264331dff","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"7dc0b0895c0578c0fe25c03f54c63da264331dff","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.5.3.tgz","integrity":"sha512-TlCHUnfKUHo1n2plbkWv/HFMiSnr51W3sX/2sKexGSmbl1AEABxYJplGA6DWxQTmKTnITg0eBwqHJm3eCFJzLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVbHiCIxyy1dS8WQfhd7F6cJWqB49dPVa/6QbTq6x7TwIgCki0cX9InVgqwzkKa4ljBr/D6StJPJOawIOwIw51+pA="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"1.6.0":{"name":"drive-db","version":"1.6.0","description":"A simple google drive spreadsheet database","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet"],"author":{"name":"Francisco Presencia Fandos"},"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.51.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"ebfcfec611bbbb79c572610a4b3ff88a7042c250","_id":"drive-db@1.6.0","_shasum":"2d04fcdb238403877fe2d814e2c6127a89b58096","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.25","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"dist":{"shasum":"2d04fcdb238403877fe2d814e2c6127a89b58096","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-1.6.0.tgz","integrity":"sha512-9ED6WPaufyHp0lYDNHTIBO9qZtjj3ZlaC3XUGTt4iT0aSQrAMZUBY90e/a99LKew4m85B+4jH9W1OPReLDlnnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDeqlzmpzAGuCpqY/Ks79rK68RbcL0JIY7bFx49WzBLwAiAe1Un111ZtHep/PX5EGgH5GaXU8vnwdSWGMcFrAA+cag=="}]},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"2.0.0":{"name":"drive-db","version":"2.0.0","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"mocha ./test/index.js"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"request":"^2.64.0"},"devDependencies":{"chai":"^1.10.0","mocha":"^2.1.0"},"gitHead":"94c67b0cb849866917bbbe15a6aaf110761004bd","_id":"drive-db@2.0.0","_shasum":"4cf77569287c1c2fe99e104eb3f788e3a8a778f7","_from":".","_npmVersion":"3.3.3","_nodeVersion":"4.0.0","_npmUser":{"name":"franciscop","email":"developerfrancisco@hotmail.com"},"dist":{"shasum":"4cf77569287c1c2fe99e104eb3f788e3a8a778f7","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-2.0.0.tgz","integrity":"sha512-GaC81oC8BWpo9l7gFMyGN2nZ4YZx113CQjusFvzAff1k5XXqZGEe+fBoxw1Imjq0ceKh1YOWE/6/LMelhTtmqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwmxOk1wCphTnZrg+dfYyaHElrwJsS6LmxBCNE8tz0KgIhANcOwdZ0Sy7TFNJqr20lal0mCgD3iSB8svBMZac4kf0U"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"3.0.0":{"name":"drive-db","version":"3.0.0","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"defaults":"^1.0.2","fs-promise":"^2.0.2","request-promises":"^1.0.1"},"devDependencies":{"chai":"^1.10.0","coveralls":"^2.11.4","jest":"^19.0.2","mocha":"^2.1.0"},"gitHead":"c5d7d9ec6988bbf7339b6434531fb6b706b88c29","_id":"drive-db@3.0.0","_shasum":"e6241ecac82ba7c986d340344966a9d3535192e5","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.4","_npmUser":{"name":"franciscop","email":"public@francisco.io"},"dist":{"shasum":"e6241ecac82ba7c986d340344966a9d3535192e5","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-3.0.0.tgz","integrity":"sha512-WzBfu0EgUAH6MqtjotydUjE2/oCmi/T8Kch6m22AvGH4v64m1lVJwlcyUUQDxw8mN84yhOL9TxwrFojYxgW9wQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICsl5uAVxwf4V3TW4br9mpCMYxUMw5TD4mlscAJ7OPgqAiEA9fa7Niai7cDGU4S2XGAOTYJDkdGkYySQkTIsjPisGPs="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/drive-db-3.0.0.tgz_1490885052449_0.9244148428551853"},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"3.0.1":{"name":"drive-db","version":"3.0.1","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"defaults":"^1.0.2","fs-promise":"^2.0.2","request-promises":"^1.0.1"},"devDependencies":{"chai":"^1.10.0","coveralls":"^2.11.4","jest":"^19.0.2","mocha":"^2.1.0"},"gitHead":"9bc13bb0966a38db352b5a34bdc35fb0b6248ea3","_id":"drive-db@3.0.1","_shasum":"4d96d89f4273f4bee7802d37e906e48fc43dc5fa","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.4","_npmUser":{"name":"franciscop","email":"public@francisco.io"},"dist":{"shasum":"4d96d89f4273f4bee7802d37e906e48fc43dc5fa","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-3.0.1.tgz","integrity":"sha512-5uJrPS4cIBq0WWHs2tOyVM+vbq7cXW9f7XpMlPnQuA2+6apD3sm2aSq24O86oUKcCGtP6EpyZchLDe5fhUQzaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTq1GYGXktZcMHBe/gZoKrzWC7uo244tPEz1g7fjtqaAIhANNzPiuS44er3hRLKL0YRreiPZDDPcyfmw5YlWiVhC88"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/drive-db-3.0.1.tgz_1490887522302_0.17270848876796663"},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"3.1.0":{"name":"drive-db","version":"3.1.0","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"defaults":"^1.0.2","fs-promise":"^2.0.2","request-promises":"^1.0.1"},"devDependencies":{"chai":"^1.10.0","coveralls":"^2.11.4","jest":"^19.0.2","mocha":"^2.1.0"},"gitHead":"6462d061833872e047cfe0efc3253bc7afd5670b","_id":"drive-db@3.1.0","_npmVersion":"5.0.0","_nodeVersion":"7.7.4","_npmUser":{"name":"franciscop","email":"public@francisco.io"},"dist":{"integrity":"sha512-dpnuh9O0W8qooQTgGdminQ5aXxHgqO2RycnWe33sTM1cusRVPgUv4ZQGW4FXwjdQq8OHxui7YhudI6iBFVeciQ==","shasum":"7573dc75849b7a10a26ddb5674fef1e54cb44604","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-3.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFbdXHQ5Nl1QGyfiIojTucmOCzXfkZHI+1MJRepFGBLmAiBqMOvqXJL4XGqRWhEe+kho/X+nDPNeFSD+idYBXto8MQ=="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db-3.1.0.tgz_1496246898854_0.33044318156316876"},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"3.1.1":{"name":"drive-db","version":"3.1.1","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"defaults":"^1.0.2","fs-promise":"^2.0.2","request-promises":"^1.0.1"},"devDependencies":{"chai":"^1.10.0","coveralls":"^2.11.4","jest":"^19.0.2","mocha":"^2.1.0"},"gitHead":"effa81beece2255be8eafb1af4adcb1102d4cbb8","_id":"drive-db@3.1.1","_npmVersion":"5.0.0","_nodeVersion":"7.7.4","_npmUser":{"name":"franciscop","email":"public@francisco.io"},"dist":{"integrity":"sha512-4gFDvdDfDwt+M9Qk6Eu3L9b0uasjpJ89Zk1yALLbEwnFjBXvrm3l4CZULGW2Q5q4EQQfyVa7oz1jde7iZrHrFA==","shasum":"3fe84b23ace4eef2f8230c5bcf526751e3cd583b","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-3.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGoc4jWkv3lySVtWYzEqjTzQ6rE6yI34OGK9znq39gRUAiALk0qmYxAblfJAItJAZuFgOCozCVqq6eEefyCUYvOs6w=="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db-3.1.1.tgz_1496247129871_0.788404005812481"},"directories":{},"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"4.0.0":{"name":"drive-db","version":"4.0.0","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"defaults":"^1.0.2","fs-promise":"^2.0.2","request-promises":"^1.0.1"},"devDependencies":{"chai":"^1.10.0","coveralls":"^2.11.4","jest":"^19.0.2","mocha":"^2.1.0"},"gitHead":"0a401dd0eb971214a0bb45a2a5c90f919322e1cf","_id":"drive-db@4.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"franciscop","email":"public@francisco.io"},"dist":{"integrity":"sha512-yHIcSfYHZ9R6F1g4yPptMZqq7098UTvTUWL/2TzMCCoU4iuu26t4WqDwQYqq16ZqV0kKkTz79lsZGDSs1B/kRw==","shasum":"3401af6f5998adaf5f6654becf6963efc407eaa0","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-4.0.0.tgz","fileCount":21,"unpackedSize":30714,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAyXySk3k8W3sFs9LjJprCbwhZxrtNDolt/rSidWlaXdAiEA35hLE/ZN/amH0qThu4g8otv28OGffF9brodbVrxd4as="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_4.0.0_1518235702937_0.1905823620996323"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"4.0.1":{"name":"drive-db","version":"4.0.1","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"defaults":"^1.0.2","fs-promise":"^2.0.2","request-promises":"^1.0.1"},"devDependencies":{"chai":"^1.10.0","coveralls":"^2.11.4","jest":"^19.0.2","mocha":"^2.1.0"},"gitHead":"1c04a3218ba1a5e86a9a2f0d16832ae936ca1ed8","_id":"drive-db@4.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"franciscop","email":"public@francisco.io"},"dist":{"integrity":"sha512-vISyBuFYyc56ryqr2T8PvJhuKpLg/UQ8RtE1yZui/6o7DplY8WgQoj+yg+ux/NVuqPpkO9JeloZvsY2jzksUxQ==","shasum":"f026076bb2531db1c378e97b72941084a5fdcbfc","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-4.0.1.tgz","fileCount":21,"unpackedSize":30745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOWv0H9wWxbs7XsWIizzriDRPdnZ5jcgjt1w0ZlIl7tAIgD08kG4/Sw+DC2PKurdk57Cmv8c6Hf59dJcZhsuRaBnE="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_4.0.1_1518235977761_0.9210849240779118"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"4.0.2":{"name":"drive-db","version":"4.0.2","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"defaults":"^1.0.2","fs-promise":"^2.0.2","request-promises":"^1.0.1"},"devDependencies":{"chai":"^1.10.0","coveralls":"^2.11.4","jest":"^19.0.2","mocha":"^2.1.0"},"gitHead":"e6d9f6072c87bcedeb32f1490cecbdb850ea9f9e","_id":"drive-db@4.0.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"franciscop","email":"public@francisco.io"},"dist":{"integrity":"sha512-uMO6SmgCPimy0OdAidm1ed2Qgb0rmW0iTtCv2Xb/syI4x6SqYhKCbdPxAgfCAsNDIH5awwEVfdF1TOJOHpC3qw==","shasum":"0101a23e9f44d2c24a58abfdee827c5367816eaa","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-4.0.2.tgz","fileCount":21,"unpackedSize":30866,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCALabPPqHX8tAaiUrpUCuS91PyuLnCGwWXIIqiBRGUoAIgIfw4uF80uOuhjvWexgIoDQixBuXT9YTkutOoi7pesE0="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_4.0.2_1518236099120_0.13039578197745372"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"4.1.0":{"name":"drive-db","version":"4.1.0","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia Fandos","email":"publicfrancisco@hotmail.com","url":"http://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{"defaults":"^1.0.2","fs-promise":"^2.0.2","request-promises":"^1.0.1"},"devDependencies":{"chai":"^1.10.0","coveralls":"^2.11.4","jest":"^19.0.2","mocha":"^2.1.0"},"gitHead":"d8badf30839681ac41e1e2607278dd5c31af07e6","_id":"drive-db@4.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"franciscop","email":"public@francisco.io"},"dist":{"integrity":"sha512-T/eq1bYx3g4a46tFzBW37oD4nH8adqUFxcbC+aGMJbzR2siIIQc0GhST26s3eJGitI02vkK+YD+X4q5Hy7s0tQ==","shasum":"1174da363bbeb3ca131ce2bb22eb4aea05fc8203","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-4.1.0.tgz","fileCount":21,"unpackedSize":30882,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcHw1JW8yGzGKIi5td1+FTbP6bQne3LADM6Y2LnIscLAIhALvT4UQ1/q8+mLX1e2rWwnHcie/1DaliFzOqePu6QC8z"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_4.1.0_1518258942052_0.1466673860351566"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"5.0.0-0":{"name":"drive-db","version":"5.0.0-0","description":"A simple google drive spreadsheet database with mongodb interface","main":"index.js","scripts":{"start":"jest --watch","test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{},"peerDependencies":{"node-fetch":"^2.6.0"},"devDependencies":{"jest":"^24.8.0","node-fetch":"^2.6.0"},"readme":"[![Build Status](https://travis-ci.org/franciscop/drive-db.svg)](https://travis-ci.org/franciscop/drive-db)\n[![Coverage Status](https://coveralls.io/repos/franciscop/drive-db/badge.svg?branch=master)](https://coveralls.io/github/franciscop/drive-db?branch=master)\n\n# drive-db\n\nA Google Drive spreadsheet as a simple database. Perfect for collaboration with multiple people editing the same spreadsheet:\n\n| id | firstname | lastname | age | city          |\n|----|-----------|----------|-----|---------------|\n| 1  | John      | Smith    | 34  | San Francisco |\n| 2  | Merry     | Johnson  | 19  | Tokyo         |\n| 3  | Peter     | Williams | 45  | London        |\n\n> Heads up! Since 5.0.0, the API has been simplified quite a lot! Also you can now use it in the front-end! 🎉\n\nBecomes a JSON file and an array of objects in your code:\n\n```json\n[\n  {\n    \"id\": \"1\",\n    \"firstname\": \"John\",\n    \"lastname\": \"Smith\",\n    \"age\": \"34\",\n    \"city\": \"San Francisco\"\n  },\n  {\n    \"id\": \"2\",\n    \"firstname\": \"Merry\",\n    \"lastname\": \"Johnson\",\n    \"age\": \"19\",\n    \"city\": \"Tokyo\"\n  },\n  {\n    \"id\": \"3\",\n    \"firstname\": \"Peter\",\n    \"lastname\": \"Williams\",\n    \"age\": \"45\",\n    \"city\": \"London\"\n  }\n]\n```\n\n\n## Usage\n\nTo access it with the default configuration you just need to provide the Google Drive's sheet id. Read more in [**the full documentation**](https://github.com/franciscop/drive-db/blob/master/documentation.md), but here's a basic example:\n\n```js\n// Include the module and tell it which spreadsheet to use\nconst drive = require(\"drive-db\");\n\n// Load the spreadsheet\ndrive(\"1BfDC-ryuqahvAVKFpu21KytkBWsFDSV4clNex4F1AXc\").then(db => {\n\n  // Find all people from San Francisco\n  const sf = db.filter(entry => /San Francisco/i.test(entry.city));\n\n  console.log(sf);\n});\n```\n\n\n\n## Installation\n\n```bash\nnpm install drive-db\n```\n\nTo get the right Google Drive spreadsheet:\n\n- Create [a Google Spreadsheet](https://www.google.com/sheets/about/)\n- File > Publish to the Web > Publish\n- Copy the id between `/spreadsheets/` and `/edit` in the url:\n\n    > [https://docs.google.com/spreadsheets/d/<strong>1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k</strong>/edit#gid=0](https://docs.google.com/spreadsheets/d/1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k/edit#gid=0)\n\n- Use this with the module in any of the following ways:\n\n```js\n// Single argument can be passed as that\nconst db = await drive(\"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\");\n\n// If you want to add more options\nconst db = await drive ({\n  sheet: \"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\"\n});\n```\n\nThe table has to have a structure similar to this, where the first row are the alphanumeric field names:\n\n| id | firstname | lastname | age | city          |\n|----|-----------|----------|-----|---------------|\n| 1  | John      | Smith    | 34  | San Francisco |\n| 2  | Merry     | Johnson  | 19  | Tokyo         |\n| 3  | Peter     | Williams | 45  | London        |\n\nSee [this document](https://docs.google.com/spreadsheets/d/1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k/edit#gid=0) as an example. **Please do not request access to edit it**.\n\n\n## Test\n\nTo run the tests, simply call:\n\n```bash\nnpm test\n```\n\n\n\n## Thanks to\n\n- [Creating and publishing a node.js module](https://quickleft.com/blog/creating-and-publishing-a-node-js-module/)\n","readmeFilename":"README.md","gitHead":"0cfd3bf0b86eb49c127997b33294cdd90c369db1","_id":"drive-db@5.0.0-0","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-U60z0ScYWY7c9ZoEn8JbUcckgHs3XeCG1ZpdrG2lszVI2eq5mBKttu9YlhY1TBZyc5f9ssc4MaoNBvzqDXfK3g==","shasum":"ddccc51b36afcdcb7516ade3c9f20657251d76b2","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-5.0.0-0.tgz","fileCount":6,"unpackedSize":14864,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTyrPCRA9TVsSAnZWagAAapMP/jTXNe70l7cw/xcdVLcb\nKWntzhu2uHrYKcpYD2MtiV9/0OatDh7hJkoFHYeS/E7Vnp9MbfvywwxSVxjK\nfwxxCwd/33tFBb+ia7+XvSVOdDWUwq4EiXthnjhEqaW1J/M9tKX/2ZYxAQGB\nlz/t086u+BPnJVoItg8YICyw/SrrzEHs9PBWX1x3gxKe/xrhxEimznH1SrSD\nb3YMKMt90IhELZe81kq4WH3zCsI4eq1I92F68j+Ali/RFmM4HHG/9LdwWnvj\nN0rbKEvPqIircO9uYjn4OXm5+xnQ2lgKScXloMY60HFr5sKtkZ+u7Mv7TR/z\nOG2iHvPltjkLaWiSTJfBiSM/KQ080k/eILXUAIu8Fo5Og3ZUWqktJIe5jWe/\nK+PLDiD3SXJmmEAIEHk+JmrPBWgb/Xl5c8j5RJSHPVk5It1gIHJulJAwhk6J\n/UGB0xSfKqe3Nx7orW9sreMi3qP7ThOOYLb7+A4ulNDA6Rd0UPSkYJYK4zvj\nsE33v+WriF/82TN6nnV9mI2pO6RKW6nXpDS4DKyJoTFAV7Bolon4jHWaqgqd\noJ1qZdINLPTPUe/yd+xZ49hMtaBnZSJCbiXaiMg9lfsSzauhWd8fNeeiCU2E\n7KY5EPp4y7jwa9xp15/DJaVvNKeTVf/KrZiX+wocBLs2qjfFn4aynbFeh09K\nNOcM\r\n=usYW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDq1yHJSzGhSGz/FaeVdpReAfYGQRRrCVQUyEI9pzvxqwIhAKobDsnWwel/3eenYIfgHM5FfblI0Ut5Obk/RarWxycO"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_5.0.0-0_1565469390663_0.3826048019486996"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"6.0.0-0":{"name":"drive-db","version":"6.0.0-0","description":"📊 Use Google Drive spreadsheets as a simple database","main":"index.min.js","scripts":{"build":"rollup index.js --name drive --output.format umd | uglifyjs -o index.min.js","demo":"node ./demo.js","start":"jest --watch","test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{},"peerDependencies":{"node-fetch":"^2.6.0"},"devDependencies":{"@babel/core":"^7.4.4","@babel/preset-env":"^7.4.4","babel-jest":"^24.8.0","jest":"^24.8.0","node-fetch":"^2.6.0","rollup":"^1.11.3","uglify-es":"^3.3.9"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"readme":"[![Build Status](https://travis-ci.org/franciscop/drive-db.svg)](https://travis-ci.org/franciscop/drive-db)\n[![Coverage Status](https://coveralls.io/repos/franciscop/drive-db/badge.svg?branch=master)](https://coveralls.io/github/franciscop/drive-db?branch=master)\n\n# drive-db\n\nUse Google Drive spreadsheets as a simple database for Node.js and the browser. Perfect for collaboration with multiple people editing the same spreadsheet. Works on the browser, Node.js and Functions:\n\n| id | firstname | lastname | age | city          |\n|----|-----------|----------|-----|---------------|\n| 1  | John      | Smith    | 34  | San Francisco |\n| 2  | Merry     | Johnson  | 19  | Tokyo         |\n| 3  | Peter     | Williams | 45  | London        |\n\n> Heads up! Since 5.0.0, the API has been simplified quite a lot! Also you can now use it in the front-end! 🎉\n\nBecomes an array of objects with the corresponding keys:\n\n```json\n[\n  {\n    \"id\": \"1\",\n    \"firstname\": \"John\",\n    \"lastname\": \"Smith\",\n    \"age\": \"34\",\n    \"city\": \"San Francisco\"\n  },\n  {\n    \"id\": \"2\",\n    \"firstname\": \"Merry\",\n    \"lastname\": \"Johnson\",\n    \"age\": \"19\",\n    \"city\": \"Tokyo\"\n  },\n  ...\n]\n```\n\n\n\n## Getting Started\n\nInstall `drive-db` in your project:\n\n```bash\nnpm install drive-db\n```\n\nTo get the right Google Drive spreadsheet:\n\n- Create [a Google Spreadsheet](https://www.google.com/sheets/about/)\n- File > Publish to the Web > Publish\n- Copy the id between `/spreadsheets/` and `/edit` in the url:\n\n    > [https://docs.google.com/spreadsheets/d/<strong>1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k</strong>/edit#gid=0](https://docs.google.com/spreadsheets/d/1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k/edit#gid=0)\n\n- Load the spreadsheet into your project:\n\n```js\n// Include the module and tell it which spreadsheet to use\nconst drive = require(\"drive-db\");\n\n(async () => {\n  const db = await drive(\"1BfDC-ryuqahvAVKFpu21KytkBWsFDSV4clNex4F1AXc\")\n\n  // Find all people from San Francisco\n  const sf = db.filter(entry => /San Francisco/i.test(entry.city));\n\n  console.log(sf);\n})();\n```\n\nThe table has to have a structure similar to this, where the first row are the alphanumeric field names:\n\n| id | firstname | lastname | age | city          |\n|----|-----------|----------|-----|---------------|\n| 1  | John      | Smith    | 34  | San Francisco |\n| 2  | Merry     | Johnson  | 19  | Tokyo         |\n| 3  | Peter     | Williams | 45  | London        |\n\nSee [this document](https://docs.google.com/spreadsheets/d/1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k/edit#gid=0) as an example. **Please do not request access to edit it**.\n\n\n\n## Include the module\n\n```js\n// For ES7 modules\nimport drive from \"drive-db\";\n\n// For common.js imports\nconst drive = require(\"drive-db\");\n```\n\nTo initialize it, call it and await for the promise it returns:\n\n```js\n// With async/await:\nconst db = await drive(SHEET_ID);\nconst db = await drive(options);\n\n// Use the callback syntax:\ndrive(SHEET_ID).then(db => { ... });\ndrive(options).then(db => { ... });\n```\n\n**SHEET_ID**: this is the only option that is required. When editing a google spreadsheet, it's the part between `/spreadsheets/` and `/edit` in the url. Please make sure to also publish the spreadsheet before copying it (File > Publish to the Web > Publish):\n\n```js\nconst db = await drive(\"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\");\nconsole.log(db);\n```\n\n**options**: a simple object containing some options. Example with all the defaults:\n\n```js\nconst db = await drive({\n  sheet: \"\",\n  tab: \"default\",\n  cache: 3600,\n  onload: data => data\n});\n```\n\n- `sheet`: set the spreadsheet id. Read the previous point\n- `cache`: set the maximum time (in **seconds**) that the current cache is valid. After this, the data will be loaded again when the function is called. This is really useful when combined with development env constant. Set to 0 to refresh in each request.\n- `onload`: a function that sets a transformation between the data of the spreadsheet and the local db. It accepts the whole array and must return the whole modified array and it's useful to avoid doing the operations on each request. You can return a promise here and it will be waited. It will be called ON EACH CALL, even if the underlying data was cached.\n\nIt returns a plain Javascript array. With ES6+, operations on arrays are great, but feel free to use Lodash or similar if you want some more advanced queries.\n\nIf you are using [server for Node.js](https://serverjs.io/) with ES6+:\n\n```js\nconst drive = require(\"drive-db\");\nconst server = require(\"server\");\nconst { get } = server.router;\nconst sheet = \"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\"; // Or from .env\n\n// Pro-tip: warm the cache as soon as the Node.js project is launched\ndrive(sheet);\n\nconst home = get(\"/\", async ctx => {\n  const records = await drive(sheet);\n  ctx.res.render(\"index\", { records });\n});\n\nserver(home);\n```\n\n## Advanced\n\nThere are some more advanced things that you might consider. While I recommend you to read the code for this, here are a couple of examples.\n\n### Refresh the cache\n\nTo clear and refresh the cache, call `drive()` with a cache time of 0:\n\n```js\ndrive({ sheet, cache: 0 });\n```\n\n### Load locally\n\nThis is not available anymore. Since `drive-db` returns a plain array, so you could just load the data locally:\n\n```js\nconst data = require(\"./data.json\");\n```\n\n\n\n## Thanks to\n\n- [Creating and publishing a node.js module](https://quickleft.com/blog/creating-and-publishing-a-node-js-module/)\n","readmeFilename":"README.md","gitHead":"9e9ff6b8e8d00a361d779be816166eddb5bc14db","_id":"drive-db@6.0.0-0","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-yyLAI9YJHwcTkk1OURLnoRQxgIp3/QUU7JEbBs8yo674d3qwfDkQ/dw3UfVuVxjsw4z/AwFjVN3gfaa4fdIFDA==","shasum":"35afe998b8db3ac4ae30aead8fbba5a116bdd73a","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-6.0.0-0.tgz","fileCount":7,"unpackedSize":12765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdT/n+CRA9TVsSAnZWagAAbi0P/ivXp2EmvEYxKkjXQclX\nGsrFhRKSppjD0kIP9r41nIqrfOHZTMJJ1vSPG8+GsYnLIPt5i1OYwwDvdgnm\nVUElSowEkHgt+J+A3vo279mmVhWhHEf06p1UyoR/wnSYallvBWRTKBPTHTHv\nCgx1Eq81R7Ionqvguc2mcMoJ6WqVp3Kokq8a6rWYPzE35hG+L4MyRlkz+ZVI\nbrVL87ra18q/ZQvrbrLkNihlP9XOXnvWfDibNos7RaLX4+qvXTT/dabHCqfQ\nlyf7M78dE8RV48a4xqTbFbdRzrYePFd6FD15PknslW1XOWRk/wnRP6zjO+kE\nx73NM1jWlc99MtOK0zHrHGnxcuy7cBPREYV4c3f/YHbxi5ICqN1iWFkodFB3\nfPczssRde2pq6gWSaTeARYjB6FQsFg41QUuNtQvz3WYmQcbgbHrxTKaLsap/\nDJ+7Ui9lhMiEVLZLUIZV7dNQ2lzU/B/BJBNAUeKaWuqeIluOD/C+70UcT32w\nX9SGWfQsSNHyC0OXMlgQqAele+ZS5E4Lz86lKsFBVTlDHXi000ypnCMvNCS9\nas3sKN9GJJF0jPFHTgICGOezWYUpO3OL7Cb/4PMiKs0pl99OU2KaA+p1bPlq\n0LFJyRC7WFFh5TL/QXavkIOBo1cHAZiW/jABMV03xt+tPi7S16FrPRHg+VSe\nVOvz\r\n=F/++\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFMjuRXyln6roJBZWDqym5dH3Wh5IyL2l9/HEBxjwO/6AiAXXvE3peI3q/aPj3I10fJAP7didnzVT7t2jfN3cXad/w=="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_6.0.0-0_1565522429757_0.9765136552578142"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"5.0.0-1":{"name":"drive-db","version":"5.0.0-1","description":"📊 Use Google Drive spreadsheets as a simple database","main":"index.min.js","scripts":{"build":"rollup index.js --name drive --output.format umd | uglifyjs -o index.min.js","demo":"node ./demo.js","start":"jest --watch","test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{},"peerDependencies":{"node-fetch":"^2.6.0"},"devDependencies":{"@babel/core":"^7.4.4","@babel/preset-env":"^7.4.4","babel-jest":"^24.8.0","jest":"^24.8.0","node-fetch":"^2.6.0","rollup":"^1.11.3","uglify-es":"^3.3.9"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"readme":"[![Build Status](https://travis-ci.org/franciscop/drive-db.svg)](https://travis-ci.org/franciscop/drive-db)\n[![Coverage Status](https://coveralls.io/repos/franciscop/drive-db/badge.svg?branch=master)](https://coveralls.io/github/franciscop/drive-db?branch=master)\n\n# drive-db\n\nUse Google Drive spreadsheets as a simple database for Node.js and the browser. Perfect for collaboration with multiple people editing the same spreadsheet. Works on the browser, Node.js and Functions:\n\n| id | firstname | lastname | age | city          |\n|----|-----------|----------|-----|---------------|\n| 1  | John      | Smith    | 34  | San Francisco |\n| 2  | Merry     | Johnson  | 19  | Tokyo         |\n| 3  | Peter     | Williams | 45  | London        |\n\n> Heads up! Since 5.0.0, the API has been simplified quite a lot! Also you can now use it in the front-end! 🎉\n\nBecomes an array of objects with the corresponding keys:\n\n```json\n[\n  {\n    \"id\": \"1\",\n    \"firstname\": \"John\",\n    \"lastname\": \"Smith\",\n    \"age\": \"34\",\n    \"city\": \"San Francisco\"\n  },\n  {\n    \"id\": \"2\",\n    \"firstname\": \"Merry\",\n    \"lastname\": \"Johnson\",\n    \"age\": \"19\",\n    \"city\": \"Tokyo\"\n  },\n  ...\n]\n```\n\n\n\n## Getting Started\n\nInstall `drive-db` in your project:\n\n```bash\nnpm install drive-db\n```\n\nTo get the right Google Drive spreadsheet:\n\n- Create [a Google Spreadsheet](https://www.google.com/sheets/about/)\n- File > Publish to the Web > Publish\n- Copy the id between `/spreadsheets/` and `/edit` in the url:\n\n    > [https://docs.google.com/spreadsheets/d/<strong>1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k</strong>/edit#gid=0](https://docs.google.com/spreadsheets/d/1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k/edit#gid=0)\n\n- Load the spreadsheet into your project:\n\n```js\n// Include the module and tell it which spreadsheet to use\nconst drive = require(\"drive-db\");\n\n(async () => {\n  const db = await drive(\"1BfDC-ryuqahvAVKFpu21KytkBWsFDSV4clNex4F1AXc\")\n\n  // Find all people from San Francisco\n  const sf = db.filter(entry => /San Francisco/i.test(entry.city));\n\n  console.log(sf);\n})();\n```\n\nThe table has to have a structure similar to this, where the first row are the alphanumeric field names:\n\n| id | firstname | lastname | age | city          |\n|----|-----------|----------|-----|---------------|\n| 1  | John      | Smith    | 34  | San Francisco |\n| 2  | Merry     | Johnson  | 19  | Tokyo         |\n| 3  | Peter     | Williams | 45  | London        |\n\nSee [this document](https://docs.google.com/spreadsheets/d/1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k/edit#gid=0) as an example. **Please do not request access to edit it**.\n\n\n\n## Include the module\n\n```js\n// For ES7 modules\nimport drive from \"drive-db\";\n\n// For common.js imports\nconst drive = require(\"drive-db\");\n```\n\nTo initialize it, call it and await for the promise it returns:\n\n```js\n// With async/await:\nconst db = await drive(SHEET_ID);\nconst db = await drive(options);\n\n// Use the callback syntax:\ndrive(SHEET_ID).then(db => { ... });\ndrive(options).then(db => { ... });\n```\n\n**SHEET_ID**: this is the only option that is required. When editing a google spreadsheet, it's the part between `/spreadsheets/` and `/edit` in the url. Please make sure to also publish the spreadsheet before copying it (File > Publish to the Web > Publish):\n\n```js\nconst db = await drive(\"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\");\nconsole.log(db);\n```\n\n**options**: a simple object containing some options. Example with all the defaults:\n\n```js\nconst db = await drive({\n  sheet: \"\",\n  tab: \"default\",\n  cache: 3600,\n  onload: data => data\n});\n```\n\n- `sheet`: set the spreadsheet id. Read the previous point\n- `cache`: set the maximum time (in **seconds**) that the current cache is valid. After this, the data will be loaded again when the function is called. This is really useful when combined with development env constant. Set to 0 to refresh in each request.\n- `onload`: a function that sets a transformation between the data of the spreadsheet and the local db. It accepts the whole array and must return the whole modified array and it's useful to avoid doing the operations on each request. You can return a promise here and it will be waited. It will be called ON EACH CALL, even if the underlying data was cached.\n\nIt returns a plain Javascript array. With ES6+, operations on arrays are great, but feel free to use Lodash or similar if you want some more advanced queries.\n\nIf you are using [server for Node.js](https://serverjs.io/) with ES6+:\n\n```js\nconst drive = require(\"drive-db\");\nconst server = require(\"server\");\nconst { get } = server.router;\nconst sheet = \"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\"; // Or from .env\n\n// Pro-tip: warm the cache as soon as the Node.js project is launched\ndrive(sheet);\n\nconst home = get(\"/\", async ctx => {\n  const records = await drive(sheet);\n  ctx.res.render(\"index\", { records });\n});\n\nserver(home);\n```\n\n## Advanced\n\nThere are some more advanced things that you might consider. While I recommend you to read the code for this, here are a couple of examples.\n\n### Refresh the cache\n\nTo clear and refresh the cache, call `drive()` with a cache time of 0:\n\n```js\ndrive({ sheet, cache: 0 });\n```\n\n### Load locally\n\nThis is not available anymore. Since `drive-db` returns a plain array, so you could just load the data locally:\n\n```js\nconst data = require(\"./data.json\");\n```\n\n\n\n## Thanks to\n\n- [Creating and publishing a node.js module](https://quickleft.com/blog/creating-and-publishing-a-node-js-module/)\n","readmeFilename":"README.md","gitHead":"8104285d15cc34a4520f85921c46206d4bc85c74","_id":"drive-db@5.0.0-1","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-pMdn7qas07PL0iVZcbWLU+7A6NZWDReHl3SmoN0DpP7weyiP4f/Z1b5dcIDcPzDmlTfLTU7y+/IIEqlRBXOZ7Q==","shasum":"e584ef8e88614d769a0a5beaef0e11757a591e1d","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-5.0.0-1.tgz","fileCount":7,"unpackedSize":12765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdT/wTCRA9TVsSAnZWagAAfgwP/0VRnhR7IWIp0EeHh4d3\nO2Lz1Th4fE+C1VFQyFrv+CYahcKZrfkGiztmtQ6l9isZryUwvrdhMNL7zZX5\nnluLDglCslbQjdVuGxnLcHs0z5cswbEEWB2rdFDeCMSx5NN7o3+Rci9Okj6p\n7YZheXgxXrcEMrijyvudPltJIot5u/y998+dBpKYvqSPM+uklZaJ8ScQnko6\nLFumUya6MVN3OMweEpuWaxfM2v+KtXxMF/q6SJmbufOydhIxEUZ4eVAQc16H\n1xpE7Nlq5gFkaY7d7iiaqOXWk0nn7/xADGqIcid2zF8kjiksvBBzVuCB7oFi\nDzDqBCQLAMBYufJDVFo9CiiAmJ51TG6RBh08aqYba4mfqIvYBWRsGn94budb\n5o4SF1Y9sYSf0gk975AVBmgB5qLNkxrXAAwN2ZVi6dWPTk0tAlP7ZvqSdvzJ\nwuxOehZ9ntEDJgBOS8ETcGxa62//+iy2SuBkU0tJN1EU0kV/r6UyGxR8gL/x\nrIzxwzO5omoTruDI40aBzEeWmWb7lORS52LZfaXrv/r/0/0MSxxJgkYM4qLo\nrXMS8/A6yeVFQRxSctbcqpIa4ky2/x5asYeolmI5hmgMgGqgGy6TjqG/f7Ve\nTkcXLhVhjgc0c+jBwZLSBajD4Nv6EV0MTE/5T3fRj5j2kDj+EZgwkMTeH6q1\n89D5\r\n=g0Bj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVTDbS/KtH6yGScEivEg3HowweuN5s4g7hBDLkaRY0bAIhAIhd46iK2LGVfEp9ZnJ2gntTU3KUSSmfkMeCjmmkv+Ke"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_5.0.0-1_1565522963173_0.6380506941752493"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"5.0.0":{"name":"drive-db","version":"5.0.0","description":"📊 Use Google Drive spreadsheets as a simple database","main":"index.min.js","scripts":{"build":"rollup index.js --name drive --output.format umd | uglifyjs -o index.min.js","demo":"node ./demo.js","start":"jest --watch","test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{},"devDependencies":{"@babel/core":"^7.4.4","@babel/preset-env":"^7.4.4","babel-jest":"^24.8.0","jest":"^24.8.0","rollup":"^1.11.3","uglify-es":"^3.3.9"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"gitHead":"4eaee80d60b8174a7cbccf8e2e21ecc62a193e3b","_id":"drive-db@5.0.0","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ZoWxdC1m/mJJRPAtymbxT8c+48KxNF5koyq0/J3iaZrxAMMnyUQXwcz2QrPS+zTBBqHFSYlGzNKCAwC/QsoEBw==","shasum":"e510ce97ffa8a19446968ac2bb9240ba61d9a135","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-5.0.0.tgz","fileCount":8,"unpackedSize":14261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUZvECRA9TVsSAnZWagAAIZsP/0z08gWGPoau5RiDdTCw\nNeaRRg3MaP8VLc9o2eLKhm8IspB+XZ4HXqhtodpni5iWSZ6ZkfImkSyLgKso\n2HtiNuOt8owmEkMsSSHr+7kRspHsE27SWiKTkSEAEZw6eE5nkaMZmCGvU/xY\nCPdPJNW4w0bAVoTZ9sieRtDhc//XumnHtye+/52JCipDmITAgQJqBH5nEpwa\ntjbJKn+0+9zv4dafLkKrQZhuLXn3QCowAGUrCfAEQ66FYNQTseiEt2bzhFRG\nm6sq1wDXd76/8Oi4vwoBsJis0mo5tcjmSDNsrZ0XZfoJOHrvzWTmFDmEi9XF\nuipf7ogD/e+1o9sD6q4oAYM+QxKcUCjcDUm8D+yZuXE2NYRBFrR3eY1ry6Yc\nmh/ivYPjSovXcIPFx6KwTp70FSi0ETpUcJiURZGe5dCo9iFicgwMqmGe6TCd\nK28CgoOT4gb8Qozt2IeBHZx5XvvTMMcxe1t5stz4rVqY83C/aCLwSwAr3kFb\nA+26AEYOigGgfLHCSc1bUQs2JKzuTIhoKh0FPxval1s3Gl2+kcX99llnQlFZ\no82q/pRWPD9ZaWnH3PEnfDLAdbN7bvyAAKp0b2I474OQCBndg21htiUll8M/\nLtu7fTy2j9XhptJ0lHEhicBsUo0SartSssjKRPhlKNtYyfBSD2w6ppjDrg8V\nNr/p\r\n=nOAB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUjU6xC/sxk5HdnXnsDIoqOJFNkSV+WbZmRRpuEY98mwIhAMmNWwppEff0KyJ1KOytCKXCVFfx0Qhtwxur62UTyjLB"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_5.0.0_1565629379854_0.5559472677843602"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"5.0.1":{"name":"drive-db","version":"5.0.1","description":"📊 Use Google Drive spreadsheets as a simple database","main":"index.min.js","scripts":{"build":"rollup index.js --name drive --output.format umd | uglifyjs -o index.min.js","demo":"node ./demo.js","start":"jest --watch","test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/FranciscoP/drive-db.git"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","bugs":{"url":"https://github.com/FranciscoP/drive-db/issues"},"homepage":"https://github.com/FranciscoP/drive-db","dependencies":{},"devDependencies":{"@babel/core":"^7.4.4","@babel/preset-env":"^7.4.4","babel-jest":"^24.8.0","jest":"^24.8.0","rollup":"^1.11.3","uglify-es":"^3.3.9"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"gitHead":"e035cb1ba5c256625e70bb56dbc2c69e4bfefc85","_id":"drive-db@5.0.1","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-o/+xbmFkGMiZ8XJ0MBTqxrOtJDryo4PUwCq9W0bqw5eBBVCoCWFalipdhWBqMqtWvWdVAWIcRJkLbSsBB4WN6g==","shasum":"040a20a9dc2d0ee63777bea5598904ad1d1ba196","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-5.0.1.tgz","fileCount":8,"unpackedSize":14572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUb+4CRA9TVsSAnZWagAAOqoP+QDq406DTsjL9xSaq72r\n2N0WAn2zd2wP1Lou/nW5iGVbSi/POml8Yv33tWJrc8rwbQGY7G2DgkrxUwLT\nvxsMtbwAYsXV0aOdrgIEWR1VWWzTj0oI8zeGOvsdoDnBgBuuMp6G1ldGPElg\nq6Rjh5ygEPGpFK1OKvCnNSJjuj7bjybIlwnCUkk7Z8SJHM2i2R3JwF+McW2G\niYOqsYAx41nZNvLm/yjsi9JmLXSdlRtPWEl3npPbln57UuD/TX7XaN+d0lix\nbdjacsBLsS5Vtxl3dsFsXqzkTom+VWPi7fUkTrvUD9wTCbsVEgUnP3mAwJHq\nMiujwx+pF1iGFI2NT8Re1lXEsO4UV2kqsYsM+8+ynVHTa8NL6y0t1bpSJa8C\n6cOT6CDieIP+Mq6xpK8k7rJHWRAdcEmxBG0VNupCT+ILReV5G1D+RRcR3k5C\n0w5l6tdxQHDP9Omqtp+iG+kxv7JUIFHc74C6hxtvvQaYDkEJgFMc2tsVAfa1\nte1XXGhdkR5GLCF7r8V8IHnRtmD1ETHDq0y0T6o62yBvnLg7j+/NuAauj0FO\nZBrLUmUEFzMafZ8hKoXohx69nyBjjUh/qZV7AxJxY2DkLsu7tJXJPBLinEWw\nAmK2cTHB34z4tfqYYU1FxzaPasdI29FvRhO+TGW8JuIgkKd8/rVTG79tRSq9\nctcX\r\n=NnM8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3LPIuY250WzRI4aqoy1SQpeariGDajD2YGadrjpEvzAIhAJJF59UzJlbVcrQHx+Wf2DOsEzBA5fHcU+A9HUzSFRpz"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_5.0.1_1565638583720_0.5051446511790869"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"5.0.2":{"name":"drive-db","version":"5.0.2","description":"📊 Use Google Drive spreadsheets as a simple database","homepage":"https://github.com/franciscop/drive-db#readme","repository":{"type":"git","url":"git+https://github.com/franciscop/drive-db.git"},"bugs":{"url":"https://github.com/franciscop/drive-db/issues"},"funding":"https://www.paypal.me/franciscopresencia/19","author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","scripts":{"build":"rollup index.js --name drive --output.format umd | uglifyjs -o index.min.js","demo":"node ./demo.js","start":"jest --watch","test":"jest --coverage"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb","async"],"main":"index.min.js","dependencies":{},"devDependencies":{"@babel/core":"^7.4.4","@babel/preset-env":"^7.4.4","babel-jest":"^24.8.0","jest":"^24.8.0","rollup":"^1.11.3","uglify-es":"^3.3.9"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"gitHead":"db6ba3aa77ee774c44d951fae765dec2508eb8a6","_id":"drive-db@5.0.2","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-UhlDWpN3m2IBGQ1ZaUhJbMOiXPMjUulNe2Cvxzmnq4n4Yawxd6HIsNCIyGemkqPR4gJrNZeZ0ZAAagC3OOSDOg==","shasum":"8634ee15c92326f8558ffd0a47ca787d74720861","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-5.0.2.tgz","fileCount":4,"unpackedSize":10629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHDRxCRA9TVsSAnZWagAA+LcP/iwSE7ZpDnzLfsN+ocyQ\nNhSplFJqCinVE5saJ9b89j+hSSAZLB1jdkIuWXuTInvhFWew2K5JhCBIyTbh\ndZ51CLQOqms780KpkqUN2M/t5BSJLcgZrJucfXLwRpYuTYSUG6g3RnsNbb5s\nuq0ts1fkxrRGsSOo+rXNXpRoAIj5BY/dr1F4y8VRjmo1to3VYB/Fk/aQK9Rj\nj2cdoKjbXXxwpCZziYG5lWtiW5jJEydQlah2eBhmLkXfBxkmgT7dKPBOXS09\nKjSvfZ5uFuElGqPTF6jSmbX/rs6ltnmvpi6akVDbVo5AbauzlyNq2MYowYFl\n4M1536HlqSWJgjZuZiWxR+th5t516AX+8yeagv2bBpjnYHb+z5lvkeviT0iI\n2AD5GPgFfaIfikjBXaYQYa5OJT7y0LmAGTSlH93TYmg+34SI1arPr/Vc1WWR\nzB7KZlMpxGaDW3n4u9eH0oyoFJ9VsLpNP8R0H4kEKbpAocI6c1BTEWs/MYpw\n0uX6b4Pka/ybVhi5zJBGNKPAdag2BSGsM7rn4vGBrfo26BVkyrze9RODQeQh\nIbQZIhvY5Hp2vUZk9Si0WPjxCEdnnf3kxI2jY2ujTGIQbere+BI9wmE6vrr9\nF5fIFc3AD8+hZN+X+yvT/6yRlUt6S6bVmII1dJeVIcoBAjjrZ/MBic8/kWUj\n6EG5\r\n=+fJy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgKQUklfaUCZhEGFnigWXhzdVqfi3Q3DscgF3Z1orzRwIhALt7abSZAHUyw75X5zeP431Tv82bqbpu+bl95M1gGlQB"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_5.0.2_1578906736847_0.7586931784314501"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"5.0.3":{"name":"drive-db","version":"5.0.3","description":"📊 Use Google Drive spreadsheets as a simple database","homepage":"https://github.com/franciscop/drive-db#readme","repository":{"type":"git","url":"git+https://github.com/franciscop/drive-db.git"},"bugs":{"url":"https://github.com/franciscop/drive-db/issues"},"funding":"https://www.paypal.me/franciscopresencia/19","author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","scripts":{"build":"rollup index.js --name drive --output.format umd | uglifyjs -o index.min.js","demo":"node ./demo.js","start":"jest --watch","test":"jest --coverage"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb","async"],"main":"index.min.js","dependencies":{},"devDependencies":{"@babel/core":"^7.4.4","@babel/preset-env":"^7.4.4","babel-jest":"^24.8.0","jest":"^24.8.0","rollup":"^1.11.3","uglify-es":"^3.3.9"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"gitHead":"f27bd80266edcac148e1df19926845fbe99a9897","_id":"drive-db@5.0.3","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-IJL8B1+xkjsACP3t8KxRQdnnWINr9kXc1odtZVOvmspuK+M7L1KhCFVrbamVmaAv/qM7nLkG1peeKFLv0t7f2A==","shasum":"ae7832a4fd0b46dde8454e675a074fac6e190f1d","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-5.0.3.tgz","fileCount":4,"unpackedSize":10648,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSRJVCRA9TVsSAnZWagAAJ6QP/Au3rufVx0fSLUhVKD2i\nM46uwT9mK0JHxBLA8ELuCWT6l2WaYxbYv7mrim8yM8nvOP/09DECyXtxHq73\n6HND2Jb2PXjU6pR3OKDeRqK+zWZUHrcgUwzPHtmPi2mGTJaCs7wQWolNUz/2\nCpZ09URvtIwdf4SBrnwVAbRHpnSUzw3FZ/zXMlFioPHdJM6pEwJ/qn6KNZ9v\nJzwFsUoD0nbsu74t9jWgQdate5WkIzm6oR3RFMvIhjXFaxYt2vgL8Kw4EMjl\ny1RB3PJSbh06jNpl3BQliRtcxnU7vio94REM8g1rwX0jJExigsvijmN1i9xh\npHj88/Myvr5mgK7GWCr+Sn4r/Q/0PrPwv//8q8O5EnuhVpXzf6HIpiyNej0p\nrnw1QI8ok86Mip/Z+05n5/86czZS6qxafiO3GsiXtadcS8ha25snP1s3FzdN\nyKUr0YrktO7qHs4IEQfhaWbQO6/DrtLYZBqUjka27uUTAEEZD9tUtxsR/O0Y\nQn3rYqr2LH7L0Tn7JHhx+elF8XnDvil86Ke2F1haKb6X9CjtKn+BcBpCE0Ni\nBNVnA3ip4Ry0wbiVvKlV/d2PlF9qKXHOGsauDQO7/xjOelkUAkSMKTX4PeE9\n93iHg90eWePX2YpA76c2FGYkmzWUyH8Xl4gEnhWkFvFvmF3QtO6uw7mm7/rS\n3dyv\r\n=m9nE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcn+HjvLzuZWuMZhiMiFWMG2kxKCicK7aYPY5xz1I1cQIgd5cNvF0DeJIv+hEzRCe4c2m178IAyHVDkGONLFP0mk0="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_5.0.3_1581847125024_0.5625719749336988"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"6.0.0":{"name":"drive-db","version":"6.0.0","description":"📊 Use Google Drive spreadsheets as a simple database","homepage":"https://github.com/franciscop/drive-db#readme","repository":{"type":"git","url":"git+https://github.com/franciscop/drive-db.git"},"bugs":{"url":"https://github.com/franciscop/drive-db/issues"},"funding":"https://www.paypal.me/franciscopresencia/19","author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","scripts":{"build":"rollup index.js --name drive --output.format umd | uglifyjs -o index.min.js","demo":"node ./demo.js","start":"jest --watch","test":"jest --coverage"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb","async"],"main":"index.min.js","dependencies":{},"devDependencies":{"@babel/core":"^7.4.4","@babel/preset-env":"^7.4.4","babel-jest":"^24.8.0","jest":"^24.8.0","rollup":"^1.11.3","uglify-es":"^3.3.9"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"gitHead":"b4d463aecfd6c527ac827c15d9bb9de85ab0b367","_id":"drive-db@6.0.0","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-DkMtcLcL0O4FCYMLgecXoeNwRKLprCS5dgD2FkXPylt/EakbzPoMoDJSO3qGuN9MqUN22mdF67YOKfcLtZrHLQ==","shasum":"d503bf61aea00b4fa88e5bcafc92982daa70049e","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-6.0.0.tgz","fileCount":4,"unpackedSize":10490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeY3OQCRA9TVsSAnZWagAANSAP/jILDhkCyhPCtCJqMpFS\navH3FQpH3/Uyfz2rZ1Bk4ssUxcVGzVfJ2+jsE9GHaxPNp4bMWNC++BAiuXv4\nl5QqjfHzO7ezXb5l2d80UXAmWrpTPmkPIcd94G0KFDPJLAZRFFc549pxVeeE\nbYdgXl/SaLllzyszIeNlqW8XdCncVmCnK3Imf4girLHUZxozZ3MWXMjAdB8R\nnde2TzdJ9OUGeF52RzzJnJXHmi8dk1NYD7EgfwBQ7TeqOGzw00tcFu5YnYJ7\nnWAO0OvqFRoXEqIHU20W0pVOTo/lKGDfjy0K5aqJMN5KHscfvwimo0u7Vw/k\n1M/N2AzPbsmXZ325Aial6YMjeRuFmzhQ1E8IJbFncwLUI3canRI7/4m6JsQI\njKo1fcKBAKDMXyWmjnbkiVYUoOHB9meJuk0W1wFhSVtReL4S3LkLDfQb4/x0\nAyWBSBNZ4R6Zj8Vka9NPIiiVHlSul2bZ4WfiG17pw6T/r2o/WwRWEkYHhuOz\nSkR07xQbjm2u0xqdWgNX5/VJtV0VCxbD64AKD1AgK2OeqeVqctE5nHVu6PCV\nv90U3+UV1cez1ub09fC3Vzq4TPyjvFGBzRXqlrz5M4kBxGcTWqqXEZ2rxCNv\ni92Sjq8TDRzAs922lr2aAzIAJJKlsF0RGIqpAh2BYwbDmkXGWs9X/EOZDS5E\nza7W\r\n=Qc7K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlfvBP35sQLfFKZPOJLtYpCXxlJ9IvEOCpaWiuxqpiEwIgFiQjsXfPkqJNcg9ERiN9BYMccS4dIQeMkYeVrw3erVI="}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_6.0.0_1583575951557_0.245759804352371"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."},"6.0.1":{"name":"drive-db","version":"6.0.1","description":"📊 Use Google Drive spreadsheets as a simple database","homepage":"https://github.com/franciscop/drive-db#readme","repository":{"type":"git","url":"git+https://github.com/franciscop/drive-db.git"},"bugs":{"url":"https://github.com/franciscop/drive-db/issues"},"funding":"https://www.paypal.me/franciscopresencia/19","author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","scripts":{"build":"rollup index.js --name drive --output.format umd | uglifyjs -o index.min.js","demo":"node ./demo.js","start":"jest --watch","test":"jest --coverage"},"keywords":["google","drive","database","db","table","spreadsheet","mongodb","async"],"main":"index.min.js","dependencies":{},"devDependencies":{"@babel/core":"^7.4.4","@babel/preset-env":"^7.4.4","babel-jest":"^24.8.0","jest":"^24.8.0","rollup":"^1.11.3","uglify-es":"^3.3.9"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]]},"gitHead":"08b79063da7911b163b75c065fc62c2019d5d648","_id":"drive-db@6.0.1","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0w5sY578y+m3g0UwH8vPUqOxj8pepQgheaksA2XGZLsWK7XxafRkUwAhipgiGtapDwMBU5FIZkke2fFztZbDpA==","shasum":"29204ecf3402ce921566cd788db89e7a06199813","tarball":"https://registry.npmjs.org/drive-db/-/drive-db-6.0.1.tgz","fileCount":4,"unpackedSize":10378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2op7CRA9TVsSAnZWagAA2H4QAIAMyjRPa7maBivQSPoa\nklczDvUXjJZwIzCOORD99mfw4H2rDdLEd3rhmiBVTwik215t0bFVtGnnLP+0\n9XJZtqZ3YaE2T1zi7MlHgU663QW1l9HvMAsWJ9OUyAxkya+/2/6Xgk4NyWH3\nI1hKFaAyQWfustcdXJZk+9JuyKhxT3UZLuLYuYWQvOSjGlAyfEqCELcWqOr3\nyNHQgGkUSVwmFpZS4vvxj0148Qw49n84cj7e46nNVHGfhbo0Luhlcaou+zkY\nW1wYu1iu4uzXeYdDq/XFrfZ2zBXkGX7BiAkityFFzKtI71gpTD9r2az6Ff7s\nbMeKfZYK0xM52flMNws3DjohC1Rqqt4SgtbE66HNJCegiXW8XXgIUN1o3R8p\ncNR/v8Tya1U5pVe9PoaAkDSzC0RvvG9ljCbF+LPcp9q4fB/VCHdpNWwKy8Uy\nBZMbkypgtuuruYK+UK9ZRlz0u1MBpSakDd7DanOf/vphWURbMYHCGidT5dlp\nLPUi2znGGBF1t2CO45j80C0VaQgWXtdT6Dd5DV6rGzUq7eIbVcIDBL50eaHn\nBCe0m6/Cle4pRSyt61uZXpGM1KEEIz1SWr5SY07/dOGMtQ2oDwU7bB1co2Oq\ndw3+jhQqq2z0SbQk1cZH/x57sQYPli3A26ppZJl/TPyTWWtFIOp6Jc9qdTuI\ntr7t\r\n=Gfv4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9dyanVL0o8sf/5EtgWMNM3ri7rGrOY7Xy8AAleSTF9AIhANFJHjIShJ5YTsdAABoalgNmnnVMqTkjUIvKjPM5MJXx"}]},"maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drive-db_6.0.1_1599352306205_0.24993400591683224"},"_hasShrinkwrap":false,"deprecated":"Google has killed Google Sheets API v3 that allowed this library to exist, so unfortunately drive-db no longer works. Their new API does not provide the same functionality and it doesn't allow you to publish a spreadshit, so we cannot do anything on our end. Thank you everyone for using and trusting it for so long! drive-db is one of the first libraries I ever made, and it's with a heavy heart that I am deprecating it."}},"readme":"# drive-db [![npm install drive-db](https://img.shields.io/badge/npm%20install-drive--db-blue.svg)](https://www.npmjs.com/package/drive-db) [![test badge](https://github.com/franciscop/drive-db/workflows/tests/badge.svg)](https://github.com/franciscop/drive-db/blob/master/index.test.js) [![demo](https://img.shields.io/badge/demo-blue.svg)](https://jsfiddle.net/franciscop/1w4t7mc5/)\n\nUse Google Drive spreadsheets as a simple database for Node.js and the browser. Perfect for collaboration with multiple people editing the same spreadsheet:\n\n```js\nimport drive from 'drive-db';\n\n// Load the data from the Drive Spreadsheet\n(async () => {\n  const db = await drive(\"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\");\n  console.log(db);\n})();\n```\n\n| id | firstname | lastname | age | city          |\n|----|-----------|----------|-----|---------------|\n| 1  | John      | Smith    | 34  | San Francisco |\n| 2  | Merry     | Johnson  | 19  | Tokyo         |\n| 3  | Peter     | Williams | 45  | London        |\n\nBecomes an array of objects with the corresponding keys:\n\n```json\n[\n  {\n    \"id\": \"1\",\n    \"firstname\": \"John\",\n    \"lastname\": \"Smith\",\n    \"age\": \"34\",\n    \"city\": \"San Francisco\"\n  },\n  {\n    \"id\": \"2\",\n    \"firstname\": \"Merry\",\n    \"lastname\": \"Johnson\",\n    \"age\": \"19\",\n    \"city\": \"Tokyo\"\n  },\n  ...\n]\n```\n\n\n\n## Getting Started\n\nCreate the Google Drive spreadsheet and **publish it**:\n\n- Create [a Google Spreadsheet](https://www.google.com/sheets/about/)\n- File > Publish to the Web > Publish\n- Copy the id between `/spreadsheets/` and `/edit` in the url:\n\n    > [https://docs.google.com/spreadsheets/d/<strong>1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k</strong>/edit](https://docs.google.com/spreadsheets/d/1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k/edit)\n\nNow you can either add the CDN `<script>` or use a bundler. For the CDN:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/drive-db\"></script>\n```\n\nOtherwise install `drive-db` in your project:\n\n```bash\nnpm install drive-db\n```\n\nAnd then load the spreadsheet into your project:\n\n```js\n// Include the module and tell it which spreadsheet to use\nconst drive = require(\"drive-db\");\n\n// Create an async context to be able to call `await`\n(async () => {\n  // Load the data from the Drive Spreadsheet\n  const db = await drive(\"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\");\n\n  console.log(db);\n})();\n```\n\nThe table has to have a structure similar to this, where the first row are the alphanumeric field names:\n\n| id | firstname | lastname | age | city          |\n|----|-----------|----------|-----|---------------|\n| 1  | John      | Smith    | 34  | San Francisco |\n| 2  | Merry     | Johnson  | 19  | Tokyo         |\n| 3  | Peter     | Williams | 45  | London        |\n\nSee [this document](https://docs.google.com/spreadsheets/d/1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k/edit#gid=0) as an example. **Please do not request access to edit it**.\n\n\n\n## API\n\nYou import a single default export depending on your configuration:\n\n```js\n// For ES7 modules\nimport drive from \"drive-db\";\n\n// For common.js imports\nconst drive = require(\"drive-db\");\n```\n\nTo retrieve the data call it and await for the promise it returns:\n\n```js\n// With async/await:\nconst db = await drive(SHEET_ID);\nconst db = await drive(options);\nconsole.log(db);\n\n// Use the callback syntax:\ndrive(SHEET_ID).then(db => console.log(db));\ndrive(options).then(db => console.log(db));\n```\n\n**SHEET_ID**: alias of `options = { sheet: SHEET_ID }`:\n\n```js\nconst db = await drive(\"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\");\nconsole.log(db);\n```\n\n**options**: a simple object containing some options:\n\n```js\nconst db = await drive({\n  sheet: \"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\",\n  tab: \"1\",\n  cache: 3600\n});\n```\n\n- `sheet` (required): when editing a google spreadsheet, it's the part between `/spreadsheets/` and `/edit` in the url. Please make sure to also publish the spreadsheet before copying it (File > Publish to the Web > Publish)\n- `tab` (`\"1\"`): the tab to use in the spreadsheet, which defaults to the first tab. It's the number *as a string* of the tab. See [this demo](https://jsfiddle.net/franciscop/oj0fg9n6/) as an example of how to load the second tab.\n- `cache` (`3600`): set the maximum time (in **seconds**) that the current cache is valid. After this, the data will be loaded again when the function is called. This is really useful when combined with development env constant. Set to 0 to refresh in each request.\n\nIt returns a plain Javascript array. With ES6+, operations on arrays are great, but feel free to use Lodash or similar if you want some more advanced queries.\n\nIf you are using [server for Node.js](https://serverjs.io/) with ES6+:\n\n```js\nconst drive = require(\"drive-db\");\nconst sheet = \"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\"; // Or from .env\n\nconst server = require(\"server\");\nconst { get } = server.router;\nconst { render } = server.reply;\n\nconst home = get(\"/\", async ctx => {\n  const records = await drive(sheet);\n  return render(\"index\", { records });\n});\n\nserver(home);\n```\n\n## Advanced\n\nThere are some more advanced things that you might consider. While I recommend you to read the code for this, here are a couple of examples.\n\n\n### Warm the cache\n\nTo warm the cache on project launch before the first request comes in, call the promise without awaiting or doing anything with it:\n\n```js\nconst drive = require(\"drive-db\");\nconst sheet = \"1fvz34wY6phWDJsuIneqvOoZRPfo6CfJyPg1BYgHt59k\";\n// Warms the cache as soon as the Node.js project is launched\ndrive(sheet);\n\nconst server = require(\"server\");\nconst { get } = server.router;\nconst { render } = server.reply;\n\nconst home = get(\"/\", async ctx => {\n  // Cache is already warm when this request happens\n  const records = await drive(sheet);\n  return render(\"index\", { records });\n});\n\nserver(home);\n```\n\n\n### Refresh the cache\n\nTo force-refresh the cache at any point you can call `drive()` with a cache time of 0:\n\n```js\ndrive({ sheet, cache: 0 });\n```\n\n### Load locally\n\nThis is not available anymore. Since `drive-db` returns a plain array, you can just load the data locally:\n\n```js\nconst data = require(\"./data.json\");\n```\n\n\n\n## Thanks to\n\n- [Creating and publishing a node.js module](https://quickleft.com/blog/creating-and-publishing-a-node-js-module/)\n","maintainers":[{"name":"franciscop","email":"developerfrancisco@hotmail.com"}],"time":{"modified":"2022-06-16T00:12:12.530Z","created":"2015-01-19T21:35:43.236Z","1.0.0":"2015-01-19T21:35:43.236Z","1.1.0":"2015-01-19T21:40:56.205Z","1.1.1":"2015-01-19T21:55:56.460Z","1.1.2":"2015-01-19T22:18:46.624Z","1.1.3":"2015-01-20T01:00:58.567Z","1.2.0":"2015-01-20T14:18:32.215Z","1.3.0":"2015-01-20T20:01:57.641Z","1.4.0":"2015-01-26T14:52:33.890Z","1.5.0":"2015-01-31T17:35:55.736Z","1.5.1":"2015-01-31T17:37:38.487Z","1.5.2":"2015-02-11T13:52:37.404Z","1.5.3":"2015-02-11T15:07:34.640Z","1.6.0":"2015-02-13T10:57:56.550Z","2.0.0":"2015-09-28T00:25:12.668Z","3.0.0":"2017-03-30T14:44:14.276Z","3.0.1":"2017-03-30T15:25:22.988Z","3.1.0":"2017-05-31T16:08:19.999Z","3.1.1":"2017-05-31T16:12:10.836Z","4.0.0":"2018-02-10T04:08:22.979Z","4.0.1":"2018-02-10T04:12:57.938Z","4.0.2":"2018-02-10T04:14:59.872Z","4.1.0":"2018-02-10T10:35:42.123Z","5.0.0-0":"2019-08-10T20:36:30.807Z","6.0.0-0":"2019-08-11T11:20:29.933Z","5.0.0-1":"2019-08-11T11:29:23.312Z","5.0.0":"2019-08-12T17:02:59.977Z","5.0.1":"2019-08-12T19:36:23.849Z","5.0.2":"2020-01-13T09:12:16.989Z","5.0.3":"2020-02-16T09:58:45.163Z","6.0.0":"2020-03-07T10:12:31.708Z","6.0.1":"2020-09-06T00:31:46.328Z"},"homepage":"https://github.com/franciscop/drive-db#readme","keywords":["google","drive","database","db","table","spreadsheet","mongodb","async"],"repository":{"type":"git","url":"git+https://github.com/franciscop/drive-db.git"},"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"bugs":{"url":"https://github.com/franciscop/drive-db/issues"},"readmeFilename":"README.md","users":{"h0ke":true,"iksnae":true},"license":"MIT"}