{"_id":"infusionsoft-local-sync","_rev":"30-eac897709337a685be4336f773c4f52c","name":"infusionsoft-local-sync","description":"Infusionsoft local sync and CLI client","dist-tags":{"latest":"0.0.28"},"versions":{"0.0.1":{"name":"infusionsoft-local-sync","version":"0.0.1","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"3b5b4db422a28de42abbce09dc33349c2d3aab64","_id":"infusionsoft-local-sync@0.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.2.1","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-DkAwDW6rKH+1bqwCBKv1jH1BMZOZBX+ukcKfoOnsXpjHbNZ76INCO3TKsOFVSb18y8elnfe6bjOKp+UXPGR3QA==","shasum":"fcf30622129d4d1a72c0b69bf4f1529cae13c4d6","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGNt5GiTfVVNvc7Ol1PDkk8KXqcNS8/57YDhT236SuWjAiBC8a6FMfZ/U0jaSiE5FqhY/goyB/cS+Uhxsr15yvfX4w=="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.1.tgz_1515530024659_0.718929082620889"},"directories":{}},"0.0.3":{"name":"infusionsoft-local-sync","version":"0.0.3","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"3b093dee6d448e0bf15a2fa22a76efc91a83d08a","_id":"infusionsoft-local-sync@0.0.3","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-IkAOFfL/GgYwaZF4PrpaOgihFrkb8URpPzUjRybx13CWXdPe+cag6OCms/17e6Rp+FoSqxDrsfwAADvhOk0RLw==","shasum":"5f0d7b902b9e7464be0901ec55886d7379ce1d87","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF6AGHXWvXP0+2D6tyVvFFlB4r2SVakz80cyVmOQ7nWWAiABAnmuMWg6bOvxcu2vFh3FonS99FrNpRVm/R7H+646zg=="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.3.tgz_1515712576538_0.7023516192566603"},"directories":{}},"0.0.4":{"name":"infusionsoft-local-sync","version":"0.0.4","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"3027b85fac8226639566b20a15f40442c9591cc4","_id":"infusionsoft-local-sync@0.0.4","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-eyAOT03OJPiUTS5GtKZ8sVhw9x/OusnB1DBZ5XS48hj41QdTUopH8s+/PS6zAIOkrQh6WUmmh2UbxJYWqtATOQ==","shasum":"85cfd112edd0e6c67c2a6900da1f6b310d28f78f","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCISMUCMlv1IgdyTuY0SmuMmvAgWk+mxxxkhKtgqtYjPwIgIVdwPrbJksPilwrt7de7Kx4CNWJ935doOuYhTNtuJ4A="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.4.tgz_1515712940416_0.5361024106387049"},"directories":{}},"0.0.5":{"name":"infusionsoft-local-sync","version":"0.0.5","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"646a0d5b44a1cf166f103ed1082321981b86ce55","_id":"infusionsoft-local-sync@0.0.5","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-G+ONrS4GnxKwoGVaMCeHM5LKg6DMRI0NhQ2N45M2BqjKWRmDdQ1J5K7/D4RTJxBF2C7dF6HqlcymeCoOCEiEpg==","shasum":"f4f6cdea3694e422a22ed27bb9bf8b77039e01dd","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6TJqRkvme9/PV4Vew04BUN4IfsN74XoPjW0a0Yo8TjgIhAJiPi18/moHUHmxWOqmDWvHw13ghfRP7rh7gFSm3tkU9"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.5.tgz_1515778396836_0.9385551875457168"},"directories":{}},"0.0.6":{"name":"infusionsoft-local-sync","version":"0.0.6","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"5904d08c2a3350fa5e47017dd7aed7574b35ca1b","_id":"infusionsoft-local-sync@0.0.6","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-bz1qlaSk1nX07qz17obQLEcdrRvmz0rGLOvzCUutp/UpnRYBKjmBs3w+RB/bhYqlGRhXsZFXQfcHfxlfZdIyKQ==","shasum":"0f1542952b5252c7a704969abb4acdf4f8411bc8","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUrCv4RgJcmQvNmtc5jvs4qJArX2VKo+kYWyN9oMrBuwIgZwCwubsqhOLHQ9VI6+UbM+oROQ058gVx5enrtiwabfQ="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.6.tgz_1516384542745_0.3139309794642031"},"directories":{}},"0.0.7":{"name":"infusionsoft-local-sync","version":"0.0.7","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"712627bb46d88f81fa3daea2133ea392d335818c","_id":"infusionsoft-local-sync@0.0.7","_npmVersion":"5.6.0","_nodeVersion":"8.2.1","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-LqmFT3P0gxwnPbg06h2gw2wK5pQv0Wckt8dh3+fQZRy2UPlhC5A/ZeR2r0rFr+meX8vXoxiYpgdVmyz9031N3w==","shasum":"eab7d48173bdbe5cef262f8bc3a1cfb213859b54","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+6CKt9C/loKl9++U9TY+u3IFeQmfS4vqkpURA6sQ/nAiAH0wFj1j25VYkdkn5/feRwbc0z/HVGRF/XJjMsVE6Srw=="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.7.tgz_1516844077531_0.4822662672959268"},"directories":{}},"0.0.8":{"name":"infusionsoft-local-sync","version":"0.0.8","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"731f4f387d424628bf6085967e751d29430b79d1","_id":"infusionsoft-local-sync@0.0.8","_npmVersion":"5.6.0","_nodeVersion":"8.2.1","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-oiu/CGnrg6welgtlWk4x42EGpuHATW1iWMkkmSsIjQNv1gmUGYYLiyDCNKTnp8zlBWQMi5Jm5q9zDAtBSQOpiA==","shasum":"6ba7b8db6c7aebed1817a5ec65d990a366da2d6a","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtPsrxzPKaO2+hLShFKmT6WZ4MGEf4NAYhtn+FmItWhAIhAIv4F5aW2eqEcKAxxiLbIuearXSfOzY0Bi8c0nQZFrhh"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.8.tgz_1516844869651_0.999031440820545"},"directories":{}},"0.0.9":{"name":"infusionsoft-local-sync","version":"0.0.9","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"410785fad9f9cfd0ca25aa078d551c19be640e55","_id":"infusionsoft-local-sync@0.0.9","_npmVersion":"5.6.0","_nodeVersion":"8.2.1","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-ARC97ZASiCgJ1Om6MR44Zos54GDNWKnLdfFwVfWkYT5vvjk+E7ZUIlg73peq6MrxVVABtFlQCqoxp8yvFnTEVQ==","shasum":"fa548ee2611aea6c6dbf634137ea3add46ce967f","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDszhcFzneDNjB7ESxg9w2BAADGp+JsIoaU5Jw2/RRqKAIhAKtCkj3N8J8uP4hGHynkMrmFkKngkYyF0+xUbGDWweQ6"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.9.tgz_1516845923134_0.8794163577258587"},"directories":{}},"0.0.10":{"name":"infusionsoft-local-sync","version":"0.0.10","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"57044620a36e8c6deefff67e7274e25e7ddf589b","_id":"infusionsoft-local-sync@0.0.10","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-eWo0GWM2SUAc6jI06ik5W5xYudVSqW6BkI5UObY+KqK+e8ayFW2q7q4bp67bZ+tE5H9Sb7RZwxpAg7AjH5bmiw==","shasum":"5003d722bb1460c73abf224f37e233914fe27bf5","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFGwjQcSJcE/7DGxO8Wzgz7UkAVpH7yJtdjA8nY1BwPsAiEAikvcoEs9lN2ZCVTtm0HAf/r6aZZGYd4LmDDTTQsudUM="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.10.tgz_1517502893136_0.2590303528122604"},"directories":{}},"0.0.11":{"name":"infusionsoft-local-sync","version":"0.0.11","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"573484d3d90e264ee3f1ef1ec8d55dd11176bd54","_id":"infusionsoft-local-sync@0.0.11","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-EBIp5ElIsu1fEjFDcX8hFvNsulyeygzZcjffKzHB6flzRNf/LhCya8YmHG9TxPp3iJ9zFwvMj3XeiaCLHMQg8g==","shasum":"8326ac353b4388367bc0090ca5f9004213aafd24","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGUQBpKaEXgTTMS97r7eJsu+uHbxfvr/EpMmm7zPi5IsAiBmxRGrYQeec+3CnUzAlTBE33NaOHW2fNTWv/fLfCBmYA=="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.11.tgz_1517529981150_0.36617624294012785"},"directories":{}},"0.0.12":{"name":"infusionsoft-local-sync","version":"0.0.12","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.8.5","pg":"^7.4.0","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"8.2.x","commander":"^2.12.2"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.12.2"},"gitHead":"b6fc43f5ebbb427135e5545c41cd8fedeebb1ad7","_id":"infusionsoft-local-sync@0.0.12","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-e+lhNQKiVs0BHvIyTco8Wl4LyZ+uwbLddBks4hPttEA7kDusMg4CvpbgbOmZPhEBRzRaQHOJ2b9tGuzLSNkCJA==","shasum":"c45f00cd830ff4085ec0f86111394c73e78e4e6e","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.12.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEu5nk6ksIw79p/gz0XwNus0lWG7LaZziaYwudEZjJuVAiBkYBOKFq0XL7y2hSqISKshEtMtRywjBDnkZS1EXEgDNQ=="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.12.tgz_1517612813710_0.7760716441553086"},"directories":{}},"0.0.13":{"name":"infusionsoft-local-sync","version":"0.0.13","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"9.0.x","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"725415598121eb1bdfdb480f503c6a63e5d834b9","_id":"infusionsoft-local-sync@0.0.13","_npmVersion":"5.6.0","_nodeVersion":"8.2.1","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-X1ClN6uAdccqvBHP6Dsffjad9LzYQgHl7PEULqsfSOr2+GSu6J7vnmQJVVRUHNu9HTgj5nTV6AYAZE6jaW4pcg==","shasum":"cf336fef1ab1df180ff0af17cb2351a6889d3f35","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.13.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAFWgzCTb1k2Ck1CtsX6wZBF2In0nOum75x8uGWo66thAiBq3R28l/PtRIg+zYjy8pGcBJdSZyoZkgxl3Fh7IAH80w=="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.13.tgz_1517708913549_0.8138230103068054"},"directories":{}},"0.0.14":{"name":"infusionsoft-local-sync","version":"0.0.14","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"9.0.x","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"d7940ae275b113f8da4eab33cebce184ed7b8188","_id":"infusionsoft-local-sync@0.0.14","_npmVersion":"5.6.0","_nodeVersion":"8.2.1","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-zBaGvZ/xJCWwlllV88jq9vQ5oVm40daBM4Hexj3nv5eORs+T7fmj7SAePmF9qE4uDqJGB3y89GPAgi/BAzR0qA==","shasum":"6b3dbe406aff75ed3b8c2ae568dbc33b4316ee5c","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.14.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjCi8rE1IDpJU/ko+eqcDin34k1jGXG62Zny6unZaXZgIhALIS9BizfTuvhQugti5aAC1y4W5sPQOuyuEM2fAwcwk6"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.14.tgz_1517714152469_0.10541346156969666"},"directories":{}},"0.0.15":{"name":"infusionsoft-local-sync","version":"0.0.15","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"9.0.x","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"82e5fc2c0340f1051b9028ab2b3f255fe424755b","_id":"infusionsoft-local-sync@0.0.15","_npmVersion":"5.6.0","_nodeVersion":"8.2.1","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-ktom5yEEkpPRK83z972j7eu8pVt9pZHYFeiMmRQEPQ/oe1zoYNjNPT95H0cR9mhNK1O8pOLWuXScIutSUds8eg==","shasum":"bd6f645909daa226995a4d76540efde4a60138ec","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.15.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFImTP2A3qWEHv8c/FyK5/Y/Atbgy5sUkZ3xPH5KkgGDAiEAokV5VSBKV+Bid7QKA7LrrpVsN1ZQRSwqwXm79VI22Ds="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync-0.0.15.tgz_1517790388366_0.13745554094202816"},"directories":{}},"0.0.16":{"name":"infusionsoft-local-sync","version":"0.0.16","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"9.0.x","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"a405e72e5e1f05d5d5eb405dc6b3e9aa3e347c67","_id":"infusionsoft-local-sync@0.0.16","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-R2XcrxN6jF0KutzjHUzGwc49P6w8Pw6Ur290KrwqzitJ/nF1wtfQ69VrfunGmFC3192HdcBmhobvGcE98KP8ZQ==","shasum":"11f9daaf5fae4049076a1020e34ba5153e1b8228","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.16.tgz","fileCount":52,"unpackedSize":179256,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcsIREOtZ/id9IS7El5/vQzEYNDijwq7TSThRQTyR4XQIhAPCeh+umvCXMtk1ZgDrxcyXg7cKZSGMpyHBvqAsMGGmt"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.16_1518205053270_0.9299581848439145"},"_hasShrinkwrap":false},"0.0.17":{"name":"infusionsoft-local-sync","version":"0.0.17","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"9.0.x","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"46a86c02b45f845dfa3084b14c2b6306e9baff00","_id":"infusionsoft-local-sync@0.0.17","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-3Y64RXjsO8pw2ZOGB3Ao6TphEuItyJH9D2ysc9UDJP01H+Nu1FlM/EmL6t7EFpk42mmxH7gUW25ykVkc894OzQ==","shasum":"d0720536641e2990e040704ea4a5897fcab52a7a","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.17.tgz","fileCount":52,"unpackedSize":179225,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEerFuOr9AdGtPBNzEtU0I8knTQeLpzG9z/LVFBfckz+AiB2JVni+rreWLTxY7IBpNjzG/HcjojY0dtjLHSkUVIKXQ=="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.17_1518728915482_0.4348708883399044"},"_hasShrinkwrap":false},"0.0.18":{"name":"infusionsoft-local-sync","version":"0.0.18","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","sax":"1.2.x","xmlbuilder":"9.0.x","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"96a3b8493a550f3074688360875def92bf460d0a","_id":"infusionsoft-local-sync@0.0.18","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-woNEr0xO9WNp8OwfECH8b50Q4HzGolWsZdb2DcOjtS0jprBGa6koxEW9y3+tP50x1ciwulSz4rwQY5G4pdTGLw==","shasum":"a1e2d1b3892793b7a9b1b103b201dcf2211d7d43","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.18.tgz","fileCount":52,"unpackedSize":180350,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGhdCL628jOnv9enWTzUbDw5aNWQjCZxhzUOcHFOu+CvAiEAxlfdx0gIjKtg8HXmYQXAxpC+ZG6/wP0x5S5gazZTyQo="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.18_1519153128817_0.2529746961149333"},"_hasShrinkwrap":false},"0.0.19":{"name":"infusionsoft-local-sync","version":"0.0.19","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"48861f8a5c45e54fdeec8d9d22b10d19aadf853b","_id":"infusionsoft-local-sync@0.0.19","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-07hT8PKTVKA4uvaA6cUimQgfKLzn8dQOIyM11ri1sFRBOa6Rw1xO2aYW+AVVjMfcqb2n3xbTg2pxTT9Jrvw6YA==","shasum":"5b4b0ea283dcd41b9fffacd53cfed2d04dd02e46","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.19.tgz","fileCount":54,"unpackedSize":161272,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpIOTI1Zv8awQachkf24/Uc4nh1faKFpF3aoymQyMphQIhANZtJrpc65vs9Gg2+mcMY/CdlGkI84N1fv62aQOW5Hbl"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.19_1519684911980_0.7083195056261111"},"_hasShrinkwrap":false},"0.0.20":{"name":"infusionsoft-local-sync","version":"0.0.20","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"d98456211267d5d101716c1f8b5da5f2a84cd854","_id":"infusionsoft-local-sync@0.0.20","_npmVersion":"5.6.0","_nodeVersion":"8.2.1","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-8f5Q347GPS2lmu/5fdlJ7TiHPcEBz71JVbxkt2mcV7efg5jct0pT+eZqir0EnGL5H00QgDKLLM0zQwq/+FZOcg==","shasum":"7279ed2069958d2cbf1b5408701852d72ca5e865","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.20.tgz","fileCount":54,"unpackedSize":166841,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHfktmhKCyMjS1I6Y/K1JvCSy3O0cJN+Ekt5TRyeZH+uAiBq2Cw3mTthllcyMrLE/oIBeeCftk3qH3MeAm80EdZglg=="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.20_1519899135133_0.8696474254910387"},"_hasShrinkwrap":false},"0.0.21":{"name":"infusionsoft-local-sync","version":"0.0.21","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"9a31f4d84efc3ae1ad4281f69f0de78c512d3027","_id":"infusionsoft-local-sync@0.0.21","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-G4fyCW+W/W6kNbhXAW3dgp0X/5VcACKQdOWpiDllbME6Io5AksnQwXG7G9DltZ/UN2ADLpqXTtBtJB1U5K8qCQ==","shasum":"8421f8ab01b2eec0ab50eba9a511d62729012bd2","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.21.tgz","fileCount":54,"unpackedSize":174303,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6UjbGtnEsJ1nTDXKXNglYm4xZj8l5Phawgs37g421/QIgNgcp3XwnvQh6YqQfeYD+07mY1VKN64OSZH8g8cOUpFc="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.21_1519949237305_0.10539993398964387"},"_hasShrinkwrap":false},"0.0.22":{"name":"infusionsoft-local-sync","version":"0.0.22","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"3bf2090db5544c4b1e843dbd32c1abb2f4b54526","_id":"infusionsoft-local-sync@0.0.22","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-QQ2EOTZihA4FU20feg6VX7P1McOtr2INrHrPWvYPMGk+5o5m/c9sq7Z9WmvFUl5msX6p2ssGfCeibpsDDOZoDw==","shasum":"0838cae0031dca537ed4b54266ce22452a98c2fd","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.22.tgz","fileCount":54,"unpackedSize":175276,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGIjePxEmCQLMEi1SwXyC/OjXe5ym7AAS9PO7xYq/CUgIhAMZfFXMedzzlnFbBv81jfpJ9VQXPHVgt35DqUG1gjLUo"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.22_1520546251614_0.9689793480018598"},"_hasShrinkwrap":false},"0.0.23":{"name":"infusionsoft-local-sync","version":"0.0.23","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"e3e0b38c04ec6b65bd177c04231d51dcd98ed8c6","_id":"infusionsoft-local-sync@0.0.23","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-JmdkfOPkeVXRu/JZHnWhw61EBLVk/QeT9jh4Sfw5jDGDLrO8JmpMNR+CBG07Cjhl7BTnJHVp/NEawOhowntp3w==","shasum":"3d5010dda89205eac773ff1965738e9d610bd0d4","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.23.tgz","fileCount":54,"unpackedSize":175377,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnCpPYw6+5ggY8gO1QfGTNbRzfWbWxHL3FPoFxcjeJbQIhAPvEjqsN097KicOAEV9klG3zmF2D9b3GGYXnKV/RwmhY"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.23_1520633539819_0.8305813687364152"},"_hasShrinkwrap":false},"0.0.24":{"name":"infusionsoft-local-sync","version":"0.0.24","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"63959d2d5aad0b17c1b06cdd54fa0586b41f6cb1","_id":"infusionsoft-local-sync@0.0.24","_npmVersion":"5.6.0","_nodeVersion":"8.5.0","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-lUVay+iHX+5SF+t9ZT+grA3L6Wxx8KayPbeI8Jbc2rQt+KnPQCOOo7+3zM/jq1eX+vG8OpixJPw79NccOmc2EQ==","shasum":"5a9e6bf901fc134e241189fa4edcd144e8270b7d","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.24.tgz","fileCount":50,"unpackedSize":174354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDG+644S4TowHg3v8GcnNqbOKoLrogRn01dEQhKLLBCegIgZNsnA0AQU0JCLeKpow54cKXnHYH3Ewy1IJ5+GCg/sIs="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.24_1522790618809_0.430761736460485"},"_hasShrinkwrap":false},"0.0.25":{"name":"infusionsoft-local-sync","version":"0.0.25","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"04354f69fd904e4d0b045f418a376be662fadc55","_id":"infusionsoft-local-sync@0.0.25","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-J088K4FWwhVmznNd3ZNkCaZPrkwiLrm93F0SoLyap6QBGvoqiBMuKdb01rAduwvXUE3qcqy1Fa/9qXYASBWxqw==","shasum":"ab9339ab17eb0669c08f5c4e9a68f5656a302e04","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.25.tgz","fileCount":50,"unpackedSize":175741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsLQ3CRA9TVsSAnZWagAADA0P/2nh9hqLwyagWBF85Zi1\nEdtwK2AEW5CqZYnFbisiUzadlGyMfw4uxVT7YLtsfj0J0fuoZoTpCvd3mKkx\nURRrTN/QFzHq6BCoqm58bzEXwWN2vSYIltPBG8FP7AcSyC3KUFrkFkreQS01\nsUnu6/nVaprRagwC7JMHqXHooq2txYuNBM2e9d5j9EmUAZjWKWV7CnnSLeiw\nZPpBK7Arw5b+wRVTDVRaKfNT4vK5mzjh+97/UrqPCmfoMtlWuHnmhRxzZ+3O\n6UYzDILXFl2PwPAo5EQVetGaTSNeksyXKcrSvtNxCmFotrOn5mAZ2u702vNh\nhHXRB2FyYOkhQ7fzpZyKn9O57AF2izridLwzgrJHm7298ugNa5hTa6UKKNRZ\n7SJhHkPu8B9QgnLz8REzC6hmHb0gfG73zr1OH8sZzFUorZeGAKXZ3rE6UCh4\nVH+9WdhkNf1I/owLbH8FBQDlQ8BZaJVfsa1DZgEU63Lzb05iiMDgbXrKUJuf\nTfm72feipDoc2CXXp4NEy4A38PlCPIrzDiArUvPditKTstPHSfsGv3Br6NQ4\nBE49NVC1xHuXSrqgIo0bdnsU5/oxu60cRymH4MXLXDXwJOJfVSuZRNqAZ9i5\n0T0B6LSq9ILg+Rm5omLWHQuYhcYll23urvLI2r9Wmb0oXxd5vnJW5mTM9ZRg\n0sSV\r\n=g5VE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBsbn7e3GwtXt3/CEt3iVSeDoRprjBfqy1tR3Nrd1DRSAiEA8un+axfaXGHLkXn7MuHiVUGGvWd9uL7j1f0GLnphQTY="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.25_1555084343012_0.6316465862307061"},"_hasShrinkwrap":false},"0.0.26":{"name":"infusionsoft-local-sync","version":"0.0.26","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"49d7adc4da69dc5c38bf0af69afcfff8230d39e3","_id":"infusionsoft-local-sync@0.0.26","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-Cssr00tFL/hMGt57UHi/pXgZ/H0v7Kq1QZkJbtGt/ThmtcgYoh3GbgkpZTpUkzSRkfkdKleaL7EOb7rOiEUSAg==","shasum":"f243699f904a32e7723779ddc0ec1e14aa1ac718","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.26.tgz","fileCount":50,"unpackedSize":175804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsLWqCRA9TVsSAnZWagAAJBwP/2z8kTwgatwpkfZcsmaw\na7CSZdYKdrvfAJXrY+uV4Udr518Q3QNXogftj2bF0QSknEVpv58h1Sro5A24\nOQJpsPH9teuvekd8dgXe6junkvv0g9U2CKpwAwd+i21v8bYWu53sdX5Mch7O\n5WPm4Fbme/rvshPxAd1fC8u92pYeIHJ9zULcAFtXXUPtqadkYOupi96XjDhn\n2+vN1PDbzChllYUwA/+8Ci/rZutdPozpIBjzjRFl6SU/ZX+Evnl8W027ffTJ\ndedhaYxNrGxld6XiFwqBg6+YryBxevKnxtWmKPptZsjftJVDNZ+bods5IWEH\nGTyKAtvMk72K8r33NqVXwb+kjadpZtpDTAF7KfHkk4jOHneOnb2+U9QkdHyM\nzgzn8xzG5DxXmnv28TDa/d3GCiYhWZyJguYmznEsLlurMjrBMs/1qre99G10\nQksy0rZb8c3PdNZ1MJ3jsJEVfQmKSdMY7I5i+t8K5MwpCdZnmAHurfYnklTj\njDKQDcOm3v89JC/5HI4K95oXg5T84c87lG5DFGNkGjCsyzza79sgQkAn9ax4\nOOCw3fDmB01RAIcYgSfu90q0ur07Yt+mvqnRoGq3UdUofFyNujHCePqyTWnI\noMqxveJ5oQEy26sewS52GuQN1u9SPzhEJY7PVrRr4XKPaeYGIKZLZLhOfq00\njUp5\r\n=0mht\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgZFXFASSJNKfRm7cwiDUrahw3iRHwj5C97lo7+JtuiQIgZOeQvmSUBxHYQTeQl0JgAFoG++cl+0PzrdWYtOyn6TM="}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.26_1555084714233_0.01027110748936777"},"_hasShrinkwrap":false},"0.0.27":{"name":"infusionsoft-local-sync","version":"0.0.27","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"f4da0ab150a786e4f06498031ba5aa09bb4310a9","_id":"infusionsoft-local-sync@0.0.27","_npmVersion":"6.4.1","_nodeVersion":"8.11.2","_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"dist":{"integrity":"sha512-T1q61VxLouNHjBK3Ky1ofxkT6FVc31tzD5YWzY1PnKqJQePVN+weJE0s5KfvX71MPFUhFTi+/s1ysku5bYqqZQ==","shasum":"d3434deeea0b5f76ce7d2b17ec13f6a4a4e8cae3","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.27.tgz","fileCount":50,"unpackedSize":175834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuMSWCRA9TVsSAnZWagAA6TgQAIHEBIhT5le8iCvuUSO0\nHPgHUAgAXiKUC3SPH1bNY6532hZNBhYOLXG6qnOx7MOyooXVw2fInzVOOPRD\nL6Bjcdc2yvfqaPifZcezCzes79uxhBJxmnYo5tcrgYZk3lGstQa5kEkrAs/O\nysttzrdlgNg9yZI8i0w7ogO8eKLf32MMd6p1eWNwBws+YATX7cy4n9DOyw9I\nTk9uaL7yJHzt+UbkTM1zuyvYfx705U0H6EvfghrAGthNkHMd7D2/5xoTrT9v\nBeBnmHD2P4WYFWF0v5uFBbm5B2w0n8871HfhBMdGrjPnzkA4lQ/pHP0Ui/Pc\n1Gn7xjJzQeLYRqe4TyQT6931Z8voaxg2eI+gi5Avn1KzrfW/PcPSMvmYPDXF\nex75Mhq9W5BgVtTZXX4pPiTWLXwtynBhDsZNMjyqFprMAiArO6F8H8D2M/XG\naviDW/W5BiOVdASLmfyOGRnjJBPPPLNNp5T1I0os3uXe54oRqVueibcSV5h1\nEN3NyuOuySCi+w+GA3zpB5p7dEAkiWFBc5gYSMc2roqq+hZxh8/5bseYph+n\nkhNWdm2AMdQZdIS0Iuwzp34UGZslgk+5Q4akcvswGfYnZI8ltTD8uiFzbQLz\n2q9/iyX42Nh1Eq/LqWPlg3km4j2XXFbv8E0CqK+0HC3pcPZesSojU8P6F2QV\nURLN\r\n=mccb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd3NZIJn0Zwt/yy5az4gGnmsW4y01MyLfLXIBNIxxCAAIhAO5n7SdvI8W3XfRBZPz0tC9d+ldCQ1ZrJuZYyWk0ycJK"}]},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.27_1555612821085_0.5660694179027439"},"_hasShrinkwrap":false},"0.0.28":{"name":"infusionsoft-local-sync","version":"0.0.28","description":"Infusionsoft local sync and CLI client","main":"src/index.js","scripts":{"test":"nyc mocha"},"repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"bin":{"ils":"cli/index.js"},"author":{"name":"Chuck Reed"},"license":"MIT","homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","dependencies":{"chalk":"^2.3.0","debug":"^3.1.0","knex":"^0.14.2","moment":"^2.20.1","momentjs":"^2.0.0","nconf":"^0.10.0","pg":"^7.4.1","request":"^2.83.0","xmlrpc":"^1.3.2","commander":"^2.13.0"},"devDependencies":{"chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","fs-copy-file-sync":"^1.0.1"},"optionalDependencies":{"commander":"^2.13.0"},"gitHead":"236ac0acc1c44b80c235cea8d3f21d3a5806b53f","_id":"infusionsoft-local-sync@0.0.28","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ntWd+Z1qOUMFHhtOG6qHU1bpmJKm9qIOebxKjhA1uCH1pF0nmDAKMV7ROuTavt8U2gkZmIQpiaJS+9Wk4v0isg==","shasum":"491fb1df0654f6285d720bff24083db87a05970e","tarball":"https://registry.npmjs.org/infusionsoft-local-sync/-/infusionsoft-local-sync-0.0.28.tgz","fileCount":50,"unpackedSize":176938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1BnjCRA9TVsSAnZWagAAnRIP/iqm0Rj4W6h35zKymqHb\nj2v1MeNTwtTY08NlM25ZGqCku6r6NxKQsrILbCWSM2Z3in7jLDRHpaZNtNC8\n/oiC0B77GoNkFFTy964H6HhxCCEQOnoizR5EXra49RS/oLYiatT8iQ01qOlM\n5vUi0AOjKo6GXpz2xhB3CIdxOHACVozkVDqR18J/iGirdntofMSADzpIFYuG\n8uUni9KxCghOPNVRhjGHPBlVC8lptHn5I+bgPzvCHTKKkFhRCRc+2eiNreOi\n/eHXWATLcc/ojP6eL0dg9FEfvzx4E3sNNbJki3U6XAq+l156Ih+RH3zWMYU0\n+voFDj7XCCRQkbgSP+afajp7CRu/bwfK30t0dRaejcL4zJXTiutr8K9mOGkN\nPvm6BI4DLi3fDVdv5KdBRoKbYemUqCcFWxzYUbCnrypUMQKZTGHUAU4Ko8Yo\nH+1ewIgsfwHImnMu8j5+ymKET5CosyZXJ8nVZTZliivAMpuJQV46zm/unEFS\n964lyZGnyEY3lV+T+5LbjYFkhWvqAO5pXMVTRomaqdeoGUkWECgfgvBJ8O2Z\nErV2xRtP7I4joBXMR0k6LHqcd4nUNPoUCr+lIcxxSUft+d73gB1flIRjFC//\nyjhRV1H3xt+HWeFhaj2TuNCdyN9PDgSGeqlaRgsMfEmlPXlsOSPQZQGyHFmy\nqX/y\r\n=MOce\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJVc/Yv59dh0CRNXml0jo266S5nb9YT1JiAbs7ZXJpNgIgXKVRWs5d7XfwpuTo2+iQxYmqV2n+/ZMCHlBK2o65oWY="}]},"_npmUser":{"name":"chuckreed","email":"chuck@grayframe.us"},"directories":{},"maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/infusionsoft-local-sync_0.0.28_1607735778808_0.8678339932630941"},"_hasShrinkwrap":false}},"readme":"# Infusionsoft Local Sync\n\nSynchronizes an Infusionsoft app with a local PostgreSQL server.\n\nAs this is an early commit, this document is a TODO, not a proper readme.\n\n## Purpose\n* Use this if you want to have some way to access your Infusionsoft database from your own server-- to run queries impossible with Infusionsoft's standard API.\n* Can be used as a backup, for redundant storage or as a fallback in case your Infusionsoft app becomes temporarily inaccessible. (NO WARRANTY IMPLIED)\n* As a tool to assist migrating your CRM data.\n\nThe intention is to make it easy and quick to find records using a CLI query for a quick one-off, or a proper SQL/Knex interface for more advanced stuff. (we use knex.js, did I mention that?)\n\n## Getting started\n\n### Installing\nWhether standalone or as a dependency, you'll need a PostgreSQL instance to store your data. Sorry, we don't support other databases-- PostgreSQL has bindings for most languages and reliable binary distributions for every major operating system.\n\n#### As a standalone app\nRun `npm install -g infusionsoft-local-sync`.  If your NPM binary directory is on your PATH, the `ils` command should become available system wide. \n\nTodo: Implement an `ils configure` command to configure the system using OAuth, like google does.\n\nTodo: Should webhooks become available in standalone mode?  Probably not.\n\n#### As a dependency\nRun `npm install infusionsoft-local-sync` from your project directory.\n\nYou can then `require('infusionsoft-local-sync')` to get the API library and configure it as (will be in the future) documented below.\n\n\n### Configuration\n*in progress* The tentative layout for the config object is like this:\n\n    {\n      \"api\" :\n      {\n        \"app\"         : null, //your infusionsoft app name\n        \"key\"         : null, //your infusionsoft app private key.  They say they're phasing out this method of access, but api coverage is too thin right now to really dispense with it.\n        \"retry_count\" : 5 //number of times to retry.\n      },\n      \"web\" :\n      {\n        \"client_id\"     : null,//Your client ID for oauth, gotten from developers.infusionsoft.com.  Might not be possible to set this up on standalone/cli version\n        \"client_secret\" : null, //same as above\n        \"passport\"      : false, //whether we will set up a passport object.  Forced to false for standalone/cli version.\n        \"local_url\"     : null //The URL to reach our API endpoint, forced to null for standalone/cli\n      },\n      \"sync\" :\n      {\n        \"db_client\"    : {}, //Same as config object passed to the database client library.\n        \"local_db\"     : \"infusionsoft\", //The name of the local database to use.\n        \"local_schema\" : \"infusionsoft\", //The schema to store Infusionsoft mirrored tables under.  If left blank, it will create a schema the same as your app name.\n        \"use_webhooks\" : false // Whether sync uses webhooks to receive notifications about updates.\n      }\n    }\n\nCalling `require('infusionsoft-local-sync')` returns a constructor that can receive an object with the above format. In standalone mode, an `infusionsoft-local-sync.json` file is created in your operating system's equivalent of `/etc` or with a leading dot in your home directory i.e. `~/.infusionsoft-local-sync.json`.\n\nThe idea is to instantiate ILS as a system level service. Most services are accessed over SSH.  While we'll try to be flexible and open to different methods of operation, the basic assumption is that you want to set this up on a Linux server that you primarily access via SSH.  The commands and API will be built to make that as easy and smooth as possible. (Todo: consider the feasibility of a GUI client, maybe served over a local web interface for windows?)\n\n#### Environment variables\nAs we use nconf, you can configure ILS using environment variables.  To set a value inside of a structured sub-key, use colons.  Standard [nconf](https://www.npmjs.com/package/nconf) procedure.\n\nI.e. to set the api.app config variable, you can do:\n\n`export api:app=<ur appname>`\n\nOr on Windows:\n\n`set api:app=<ur appname>`\n\n\n## Usage\n### CLI\nInstalls a global CLI command `ils`.  For example, to sync locally, it'll look like `ils sync <table name>`.\n\nYou can set sync (and other items) as a cron job, to keep your database in sync.\n\n### As a Dependency\nAs mentioned briefly above, calling `require('infusionsoft-local-sync')` returns a constructor that will return an API instance when passed a config object. \n\nThe core sub-keys are:\n* `api` : Provides direct access to the Infusionsoft API.  We're trying to make it paper-thin, so that you can use as many extra features of the underlying library as possible if desired (and to support future changes that may make our current assumptions invalid)\n  * `api.rest` : acts as if you're calling the `request` library directly, just adding the auth keys as appropriate\n  * `api.xmlrpc` : used to call xmlrpc methods.  Currently more than a paper-thin wrapper, but TODO: make this more paper-thin. Since we need to support more than one lib, simplify it as much as possible.\n  * `api.getUserAPI(access_token, refresh_token)` : gets an API instance for a specific OAuth user. Has its own .rest and .xmlrpc sub-keys.\n* `sync` : Handles database synchronization.\n* `query` : Our more-abstracted version of the APIs.  Allows intuitive queries using a knex-like interface.  Has a shortcut at `q` which should be identical.\n  * `query.getUserQuery(access_token, refresh_token)` : gets a query object for a given user/access token.\n  * `query.tagAdd(tag_id, ...contact_id)` : adds a tag to a contact.  You can pass multiple contact IDs or contact objects as well.  You may also pass an array. Returns a promise with the raw API result of the operation (usually true if it succeeded, false if the tag wasn't on the contact in the first place).\n  * `query.tagAdd(tag_id, ...contact_id)`: Same as above, but removes a tag.  Returns `true` if successful, `false` if the contact already had the tag.\n  * `query(table_name)` : creates a Knex.js style object to make a query against the Infusionsoft database.  Advanced queries depend on having a locally synced copy of the database.\n    * `query(table_name).select(...column_names)` : selects which columns to get.\n    * `query(table_name).where(...query_params)` : A knex-style where.  Also available: `orWhere`, `andWhere` etc.  Custom fields MUST have the leading underscore.\n    \n\n\n### CLI Verbs\n* `config` : guided ILS configuration wizard.\n* `sync` : runs a sync operation.  Only one sync operation for each table can be run at once.\n  * `-r --resync` : Re-synchronizes your local database with Infusionsoft.  This makes a lot of queries, so bear in mind your usage limits.  \n* `status` : gets sync status of a given table. Includes live and remote variables.  Prints an overview if not specified. \n* `find <Contact>` : find an object and print an overview from a given query. Operators: ()|&! <field>=<value>, strings must be quoted, space is assumed and (`&`) (may want to research what others have done with this).\n* `fetch <Contact> [Id]` : fetches a given object, stores it in the DB, and displays it.\n\nCustom field definitions (i.e. the DataFormField API table) are always synced first before syncing any table that may use them.\n\n### CLI Switches\n* `-f` : force run, remove block or stand-off status.\n\n### CRUD table?\nWe probably want some kind of way to list contacts on a web form.  Maybe just output to CSV/XLS instead?  I can add a CRUD later, as a separate app.  Or someone else can.\n\n## Dependencies\n* [Knex.js](http://knexjs.org/) - Query builder.\n* Request.js for Infusionsoft's REST methods. \n* [nconf](https://www.npmjs.com/package/nconf) - handles configuration\n* Includes customized code from the the [node-xmlrpc](https://github.com/baalexander/node-xmlrpc) library.  Will remove later, instead pulling in as a dependency [once a certain pull request is accepted](https://github.com/baalexander/node-xmlrpc/pull/145).  Yes, we do need both, some information and functionality is available only on XMLRPC and vice-versa.\n  * sax and xmlbuilder, which are dependencies of node-xmlrpc.\n\n### Testing\nWe use [mocha](https://www.npmjs.com/package/mocha) and [chai](https://www.npmjs.com/package/chai) for testing.  Until we get reliable mocks (kind of an oxymoron as the service we're mocking isn't at all reliable) we have to test against a live \"application\" or \"app\" (their word for an instance of the CRM database service).  Thankfully, they offer free [sandbox applications](https://developer.infusionsoft.com/resources/sandbox-application/) you can sign up for with a credit card. If you want to use OAuth and other related REST goodies you'll also need an **[application](https://developer.infusionsoft.com/getting-started-oauth-keys/)** which despite having not just almost, but the **exact** same name is a completely different thing.  They don't even give an adjective anywhere in their documentation to differentiate them.  So if you just mention your \"application\" to someone from Infusionsoft, despite being at the core of what they sell to people and presumably deal with on a daily basis, they have no way to be 100% sure what you're referring to.\n\nTo save confusion, from here on I'll call the former the \"CRM app\" and the other \"developer app\".\n\nOnce you've gotten all registered, you'll need to configure your app.  As we're using [nconf](https://www.npmjs.com/package/nconf) you can configure the app on-the-fly using environment variables.\n\nIn Linux, OSX, BSD etc this can be done from a terminal with the following lines:\n    export api:app=<your CRM app name>\n    export api:key=<your app key from the \"settings\" area in your CRM app>\n    export web:client_id=<(optional) your client ID from the developer app>\n    export web:client_secret=<(optional) your client secret from the developer app>\n    export web:local_url=<(optional) a URL that points to port 3000 the machine you're testing on>\n\nIn Windows it's mostly the same, you just switch `export` for `set` but to save time I'll re-paste it.\n    set api:app=<your CRM app name>\n    set api:key=<your app key from the \"settings\" area in your CRM app>\n    set web:client_id=<(optional) your client ID from the developer app>\n    set web:client_secret=<(optional) your client secret from the developer app>\n    set web:local_url=<(optional) a URL that points to port 3000 the machine you're testing on>\n\n\n### Contribution guidelines \n#### Writing tests\nWould be incredibly awesome.\n\n#### Code review\nIf your pr doesn't make things any worse than it has to be, I'll probably merge it in.\n\n#### Other guidelines\nInfusionsoft is kind of a beast to program for-- I've been telling them for a long time that their practices are just plain bad and unsustainable in the long run, but as my biggest client is stuck with them, so am I.  Until the day they see the light, I've committed to writing the best API for their service that I possibly can given the circumstances.  \n\nTake \"the circumstances\" to be \"that I can't wait around for them to transmogrify this abomination of an API into something you can hold up to any kind of standard.\"\n\nDo you know that one of the biggest PHP APIs for dealing with Infusionsoft has built-in transparent retries for failed queries?  That's right, up to five times!  It doesn't even seem to correspond with server load-- sometimes, queries just fail.  There's no error, they just fail to do anything.\n\nIt seems to be caused by one of their reverse proxies failing to find a working app server to serve their XML-RPC.  The salt in the wound for this though is that it doesn't even send back a proper error that can be interpreted by any XML-RPC client I've ever used.  It's just a regular HTML page-- so since the error page isn't a valid XML document, the actual error message is just lost. (Took me a while to figure out what was happening-- just seeing 'Invalid XML-RPC tag \"title\"' is not in the least helpful.)\n\nInfusionsoft's API services (as of late 2017) are really in a bad state. Maybe the worst I've ever used. I'm not doing them any favors by covering this up or stating it in less-blunt terms. This is something their management NEEDS to know they NEED to clean up.  It can only lead to problems (company becoming uncompetitive and shrivelling in the marketplace) if they can't do this halfway competently.\n\nSo uh, my point with this diatribe is that do what you can, but if you have to take extreme measures to get something working, well...  This project was damned from the start so have at it. \n\n### Who do I talk to? \n* Chuck Reed (creed@newsomellc.com)\n","maintainers":[{"name":"chuckreed","email":"chuck@grayframe.us"}],"time":{"modified":"2022-05-05T22:16:30.265Z","created":"2018-01-09T20:33:45.821Z","0.0.1":"2018-01-09T20:33:45.821Z","0.0.2":"2018-01-11T22:43:15.671Z","0.0.3":"2018-01-11T23:16:16.615Z","0.0.4":"2018-01-11T23:22:21.582Z","0.0.5":"2018-01-12T17:33:17.984Z","0.0.6":"2018-01-19T17:55:43.905Z","0.0.7":"2018-01-25T01:34:38.680Z","0.0.8":"2018-01-25T01:47:50.835Z","0.0.9":"2018-01-25T02:05:24.263Z","0.0.10":"2018-02-01T16:34:53.259Z","0.0.11":"2018-02-02T00:06:22.255Z","0.0.12":"2018-02-02T23:06:54.864Z","0.0.13":"2018-02-04T01:48:34.694Z","0.0.14":"2018-02-04T03:15:53.605Z","0.0.15":"2018-02-05T00:26:30.059Z","0.0.16":"2018-02-09T19:37:34.115Z","0.0.17":"2018-02-15T21:08:35.577Z","0.0.18":"2018-02-20T18:58:48.913Z","0.0.19":"2018-02-26T22:41:52.066Z","0.0.20":"2018-03-01T10:12:15.287Z","0.0.21":"2018-03-02T00:07:17.371Z","0.0.22":"2018-03-08T21:57:31.695Z","0.0.23":"2018-03-09T22:12:19.876Z","0.0.24":"2018-04-03T21:23:38.960Z","0.0.25":"2019-04-12T15:52:23.149Z","0.0.26":"2019-04-12T15:58:34.345Z","0.0.27":"2019-04-18T18:40:21.260Z","0.0.28":"2020-12-12T01:16:19.016Z"},"homepage":"https://bitbucket.org/newsomellc/infusionsoft-local-sync#readme","repository":{"type":"git","url":"git+https://bitbucket.org/newsomellc/infusionsoft-local-sync.git"},"author":{"name":"Chuck Reed"},"license":"MIT","readmeFilename":"README.md"}