{"_id":"@splitlab/js-client","_rev":"27-ccf113421bcb6eddceab3b4c67b95b7d","name":"@splitlab/js-client","dist-tags":{"latest":"0.18.0"},"versions":{"0.1.0":{"name":"@splitlab/js-client","version":"0.1.0","license":"MIT","_id":"@splitlab/js-client@0.1.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"a67d75821e677e069a8bd45540c8e4f9c367d35e","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.1.0.tgz","fileCount":7,"integrity":"sha512-pcPtIjMd54yPOJiNhWim7rwx8bnt2P0NyqBxpHRb5Kumhu6bO8d+RWvqsB0PmEemKI6rGV1Dn3c1qYeS2zEfjg==","signatures":[{"sig":"MEUCIDFTOF8cRWB3rFeOkSnhmzrtpALyGLIVAx9PPq+ONyltAiEA81v7rNyOdoBb6dlpjtYc3LK/e/0J/W39XTVboOxnNk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62551},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"ef6d11e434a1efaec79033e179c12472e3fe2394","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.1.0_1770466836648_0.38483627877243576","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@splitlab/js-client","version":"0.1.1","license":"MIT","_id":"@splitlab/js-client@0.1.1","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"09c5d8a7cf14fb87a07884855b6a0f821f0aaae0","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.1.1.tgz","fileCount":7,"integrity":"sha512-pkwJRyQjQ4schJuN+OUPBvVrX+Ad8KQMxfti0SqoKPgyvNJF4bs2u3GSMWIHUhiu6jZtPt3s0dIkejMoVkyn6Q==","signatures":[{"sig":"MEUCIQDeqOAA7QDCSSV09B7AhMOvm37Rdqr+aO+VDRmd40S2JQIgTqnp48VioI/ZUah3C1L7//D8m+S2hUOAz9EfHLOFBno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62548},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"4e472d435a34f8e955f805aec148b8b5b7ac4bb6","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.1.1_1770467815239_0.40117287769639964","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@splitlab/js-client","version":"0.1.2","license":"MIT","_id":"@splitlab/js-client@0.1.2","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"77f70ba11a468cb961cbb083a97e3e583ea9c3c1","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.1.2.tgz","fileCount":7,"integrity":"sha512-R0Lr+aH37Gy27GmhNOdUnidB/0InK9ZxBy6epViUsJuFtVh2P/WObFDrEESuKfWArXd0KHvYNPG8FSyjoJNMFA==","signatures":[{"sig":"MEYCIQCCbRHZhGYqAX+e/zxxjjUfj8AdRO9U+kLCV3zrCPIlkAIhAJPNNH8zetzaGQl4naVOuxInsOpqftE8GnJ+KZyCtSjP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62494},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"c5a70c20931b46659270aa34844155db9d30aeb5","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.1.2_1770476002672_0.20060556398171703","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@splitlab/js-client","version":"0.1.3","license":"MIT","_id":"@splitlab/js-client@0.1.3","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"17a371371f1d8fa94c8196b93e53529dc960ab55","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.1.3.tgz","fileCount":7,"integrity":"sha512-KzYzx96QJNGC3bjSdrZymFLwb7psF7rJDwL2jjrELnY6Bz2vBJpksKSMRcEJN2vYIzZMv+pHVkjwhOO5FxW0+A==","signatures":[{"sig":"MEYCIQDF0o/QjtTZJ+gk/3JT1nLSm4E+RXLJh576cNJmzvdIJgIhAKUpgISi9IGjJ/0Dr3unoN9Lvysw8kNQEwvVutXbCWQR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62494},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"448fe0b2e6bebd48ffc79b3fac6d006059d73080","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.1.3_1770476390659_0.9272576387671152","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@splitlab/js-client","version":"0.2.0","license":"MIT","_id":"@splitlab/js-client@0.2.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"a92d25c9cdb1b9f9eda943065d6ff08dd4137d75","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.2.0.tgz","fileCount":7,"integrity":"sha512-S/LO/NCoC7daTkWQwTyTuHlQUMjaOORvBIbEp8j7CGslfXwpnH/BQAhQ5XPD/YGO9u+6qAQk1NzJ4DA3sRocbg==","signatures":[{"sig":"MEQCIF7rtppRc2mLZscqIclZvombP8MEWwanat6UdriM7WqaAiBwuFSpo1nzajrwX3O4jh6oynWM9XUGiMspnVoK+fk9TA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55681},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"922a3edcbd3099cf5f213082d96a2b1fde6ca57f","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.2.0_1770479087391_0.27752757050222376","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@splitlab/js-client","version":"0.3.0","license":"MIT","_id":"@splitlab/js-client@0.3.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"d85c49771e9afe03122b3d23c92a4f8ca9c661b9","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.3.0.tgz","fileCount":7,"integrity":"sha512-RGbVxy3HrWl3UcdUErK+S9sn2kGzXUqR+fuAyglavHB7GLewCHZfImjgYRvvLsxEN1wacgSuHmGew0GNiPzQxg==","signatures":[{"sig":"MEYCIQDqSQ5b/+yxIk6p9yAMrh8n69C4Vkni8v8jLkGYm+lpWgIhAJrrZjb8sZazI0Cdg+YGDMlUQ8P12Wa6pMwrF9yeY2Rz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57338},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"986bd3478f1a17933405b093aff78a3673d5595d","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.3.0_1770483527507_0.9437470401443291","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@splitlab/js-client","version":"0.4.0","license":"MIT","_id":"@splitlab/js-client@0.4.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"b66c323059d8f8ffb183905f80974c495ef09fe5","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.4.0.tgz","fileCount":7,"integrity":"sha512-YihCSGKD/1+EUhccxEUVvi9cu2e/quGH0iapjzL79M7IKaKxC6gPJCCcN2LsNb96LUlPUESped21bzlVN9b4Dg==","signatures":[{"sig":"MEUCIQDReWg5ham3SKdk+XiKNxJMPlWImqfIXMh6dYehQ3HSlQIgQ6fL7vkhCGohU46raiSuF/VknbKYp6nREyfHEQbp1Ec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56466},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"726d9d651aff546660a1a74e53796874168c5d80","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.4.0_1770503075204_0.7475335931738383","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@splitlab/js-client","version":"0.5.0","license":"MIT","_id":"@splitlab/js-client@0.5.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"4eaccda3454c2f08556a45816b00dcc7c09938ac","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.5.0.tgz","fileCount":7,"integrity":"sha512-N/j7pLVQb1Zh9ehV5ROSTpyji4qI6Dg2zzfbjvOfDmfVYbTyJ+rVcpJjkpFph9YgrzyX69ciq7YKHMBZT+HWmg==","signatures":[{"sig":"MEUCIQD1+/eOSe8sFqnt5Q/kz5oQXvjcMzZLEPkmr+0DZfNhBgIgXGCbOkashVRCO29BxO1W5Ax3bg7WlQCVViKBlIw/0Fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58515},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"b47bed66170df5119327ced137f2de0f0200e3bc","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.5.0_1770506966237_0.9005935302403401","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@splitlab/js-client","version":"0.6.0","license":"MIT","_id":"@splitlab/js-client@0.6.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"933ea10e6474987078b9280c60a015ef20ec2ddf","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.6.0.tgz","fileCount":7,"integrity":"sha512-XY5SKAQbgiDDpfAavoOKAb+48g9wc9hZC7IJjQLa/lkFgewSxw5IjhygQsO0rr/CcHHzAVEPCEIveV3gKsuziw==","signatures":[{"sig":"MEQCIAl1mfuwxBiZSbmC1CBAskbldo3e8NrNDrfHkLfdt9pLAiA3vWzcDSByPO8Jp94X0SVxE93SO40tUh8J5m0lzwXJFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58809},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"f636e399ed7b3652e69f40c6f7e28c5adab5ee19","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.6.0_1770544839538_0.46464568918493954","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@splitlab/js-client","version":"0.7.0","license":"MIT","_id":"@splitlab/js-client@0.7.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"54b2a90d4f44124ab6d0eef4b4abb7f4eb12f8d9","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.7.0.tgz","fileCount":7,"integrity":"sha512-2MOApjpvnoaoSmPaOpypgacbBRBrDkB6jfRIqsuYmKNW1Kr0H6IrLeBZeJNppoFSIiQ1ukfCCjITb98LXwhv4w==","signatures":[{"sig":"MEUCIQCdqDAhJRxdyP0MBYhkt5WaZpepAo1cjBbyHvcVoD20bQIgNnphTfJAn4+hIOSIEUrGyD2ERgGLDRizqd4XxLpxHos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61911},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"9484eed01936a52839aaf94725ee075752846f2c","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.7.0_1770550861457_0.7862884390477376","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@splitlab/js-client","version":"0.8.0","license":"MIT","_id":"@splitlab/js-client@0.8.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"269ebe47014c25742b0c73561e8ffc158996b3f1","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.8.0.tgz","fileCount":7,"integrity":"sha512-NlgVPpmEcPsSjB+VQ2CNsORoocuJ5ZQD6cWSyieAbYtjmq4zld8k6CKcd9Sr8drJhFevrUEVKc9zX7eDtApsGQ==","signatures":[{"sig":"MEYCIQCL61kBwR1MV3OMPmWxiKymTytMFEUuS1jl1p+2SfMnUAIhAK0gHiebzjeHd+lIIGCEfq37p/WcSLK7Br77AVcqwu6j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63081},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"3795b68e4e18f1cc9af84b54c8e179f60457ae3b","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.8.0_1770566086603_0.3607285083422296","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@splitlab/js-client","version":"0.9.0","license":"MIT","_id":"@splitlab/js-client@0.9.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"cd3a14eeee29fc7dccf78e8d1080b7ff0e5e30c6","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.9.0.tgz","fileCount":7,"integrity":"sha512-rinA2vperaYxmtCnu9jz0nyt/pVl6WFiHnIiKm6s0EqIKr6R8xYeZ7/fg+zadiqv0TcdKjvna8OUPfXY5AUSBA==","signatures":[{"sig":"MEYCIQDy4ND8RN+xtPYmScuDfmsHz8PiBAD5c0bGUA98X5YdFgIhAILTMJXEHdvhZE7VPeDtnSp6tGvGG7zPfBbrJTs/4bbs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63298},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"94884edfd9736efea328531a02880167601f5be5","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.9.0_1770673165271_0.3180503381184945","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@splitlab/js-client","version":"0.9.1","license":"MIT","_id":"@splitlab/js-client@0.9.1","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"8f426754730263cc994d33b0b9e6d5d65b03561b","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.9.1.tgz","fileCount":7,"integrity":"sha512-HGhSB6fZjXTmOT+oju5ILkOJgRtTXR2pj0GpKk9kCILs8/7DiM/hau+Zeb5Ky+SsKzAJDMLS84nl2cSchibT4w==","signatures":[{"sig":"MEUCIDXHQmHGGumTZyxwbD7seeFkpDdxesbF/ItJJZ+ZyjMyAiEA5BbG++10uK3S8wn6vct2ziifGX+oL7bH4i3/9d9hecw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63298},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"94884edfd9736efea328531a02880167601f5be5","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.9.1_1770673689379_0.1368977932657125","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@splitlab/js-client","version":"0.9.2","license":"MIT","_id":"@splitlab/js-client@0.9.2","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"96204aa589a3d66a2a37316a34d17ccca6720efa","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.9.2.tgz","fileCount":7,"integrity":"sha512-0haKGQXxSdOOqE3XS8jzrqK8gF60n88SQUxdnUmg3WjtfaMqi+4HRrVGfocjlrRiCfleTlo9caoeE0mJTkkFAQ==","signatures":[{"sig":"MEUCIQDkeYzXJ1jbRHaIWFrgELjoPsnE443J9mUXBQO1MtfhqAIgb5KWpb5vKm1RUlRB4qgocNyWZX93dsG7sa0Zh/DZZeU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63302},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"1a8234bf9fa5d6ebd2149def9cc9d1e26c95e194","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.9.2_1770675970606_0.6588341664779653","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@splitlab/js-client","version":"0.10.0","license":"MIT","_id":"@splitlab/js-client@0.10.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"85173986e14a0357a0e1e349dc981de6c1027c8f","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.10.0.tgz","fileCount":7,"integrity":"sha512-yJGYYxzXtGoGwa9UQnMixyMu/LgYxD9T9KvMGaY8vi+pCE9mw34UN4L8XyYvZwF5vuC9fJWu0AdsTMxj712fig==","signatures":[{"sig":"MEUCIQCe2iF8GG4Foqaq1YhBqxLrEyg9ei4qW+zafYuigDI27wIgBrw/Blc2jgiB79Oc/Itpn3WaS4Ms4t0GPu4MJKfkswU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64747},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"0865ed0fe148d1dd5faa9690c5ee9db928887c18","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.10.0_1770677551269_0.7888640763194665","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@splitlab/js-client","version":"0.10.1","license":"MIT","_id":"@splitlab/js-client@0.10.1","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"dfa9ae481cbe85d46d251749fe6e7c2493e83121","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.10.1.tgz","fileCount":7,"integrity":"sha512-jZBu9t5CrQQz4O/X6VkLYoLKpzoIiK8bLEWylNUp64c7rizbrzaAzhDwdkIMeKisSyiSNlsUH6j0LeO6Mkc1KA==","signatures":[{"sig":"MEUCIQDsKbJicCV8KylwFkQ6acL/68yTesgI3XwlVE5MO4UW7gIgLWa23UypJ8TOKaetZz8bqw/8+FzaQMagU8F0z+Q8aPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65179},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"fd6bc706c090ef57d52d1554b8b3abcc1b504333","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.10.1_1770764914254_0.4833028658107461","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@splitlab/js-client","version":"0.10.2","license":"MIT","_id":"@splitlab/js-client@0.10.2","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"02e74845f926f28b5f6dbf23c957b3b2d9fd0d1a","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.10.2.tgz","fileCount":7,"integrity":"sha512-gItssvDliCroWeiWpSNXNiKJVMWRcYCG5chOBbDTnzPtwlBmCiPguWWSfmiKaa50UhoTghR+dYBRG1p0O6y+EA==","signatures":[{"sig":"MEQCIEJOKrGWqbNvNc1g+naLUk7mRUDL1EYJ0JlcDBJg2iiyAiAnF9O6r9PJrBzEKobjZIEwiejgU4akx1P2jCpEC9u3eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65706},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"283786534b05cc4e84d66c9d127d1403df9fc498","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.10.2_1770766126277_0.5839297141156428","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@splitlab/js-client","version":"0.10.3","license":"MIT","_id":"@splitlab/js-client@0.10.3","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"63b90e96927cf7c93b0f70b92577b82107696023","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.10.3.tgz","fileCount":7,"integrity":"sha512-QM1sHx6gtc+iqGS6+hE9RH8Fixws/GRfffCRnGtiU62hQW/GjxslB5O0apazUNiHkfvNZdpV7AwfWfn3mZcDiQ==","signatures":[{"sig":"MEQCIBuew3uI09NaCQS3046MolrHwne2U9aYpy2/SPfFY6q5AiB0RWeeXrnenyZyZDKGz9dkf4NkWqeL0xAZeYNVQCyo2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65706},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"3c4fa44ab7d9fe977a164ce0bf0ff0e18868f12f","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.10.3_1770803831947_0.8057022068353716","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@splitlab/js-client","version":"0.11.0","license":"MIT","_id":"@splitlab/js-client@0.11.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"d01cff02a2ba3b6e4c05124b09c4074cd25be4b1","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.11.0.tgz","fileCount":7,"integrity":"sha512-l29bpSIEhEERzJ2/eBGYM/h/PbSadpD2V/g94gr9hRJn1aIjQaxCZEm/+KpfKEHuSZNcijbu7V37MlGV3IyeUQ==","signatures":[{"sig":"MEQCIBvHQnFHxqQAM47wFDfZTFNWd3m8Kpxix8+D9xTIpC8yAiAINS6etf2Li/30Kf63MuRuoa0q3ea4pSQYdIAvmM9hfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67575},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"817a4c8e9a12f3714124f180ca03021deaca23e2","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.11.0_1771275102175_0.8675972580339659","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@splitlab/js-client","version":"0.12.0","license":"MIT","_id":"@splitlab/js-client@0.12.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"5b72707fb6d659a02ddf42d1e29f966b65885c0d","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.12.0.tgz","fileCount":7,"integrity":"sha512-0wvGDH4ag76ocI22CrfAkCkuVX+vrU6nnba1hXr6NESNsjmFIHCvKRBzCmRdizFMyvoKGzAmqieHIn9grrbnyw==","signatures":[{"sig":"MEQCIETxsOwydy4vLlCCCpmNPqP9hU+KSACDAxRli+OJMFF/AiAwm/huSWddLUyW66n+llz66bEzjXYELl/N2up1LoSVyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72160},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"2481d98e996375696c54f4ce04a45d6a593a1b05","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.12.0_1771674867711_0.7574548022752849","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@splitlab/js-client","version":"0.13.0","license":"MIT","_id":"@splitlab/js-client@0.13.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"d3bbfa551055f8d674daf3b5bc19785071f3a443","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.13.0.tgz","fileCount":7,"integrity":"sha512-LDrj6E25BBUtV38kWsse6xoR5zxj4vAwm7kOlgCsKk6cg6fVgf7aqsd08Gp4c++nIWy4qoxC0WLJSZo2FAB1Cw==","signatures":[{"sig":"MEYCIQDOLUroKbfUR/LPlqGwrehHcN6UNi6Gw3hvt9iIuLFYKgIhAIg37AZbByvBqBSpv+Qli98Kh28vRILt6h9XHGbJyG90","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92107},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"048375871dc02a384a85c04427b8f15edb4bc6cc","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.13.0_1771784376806_0.6375301256247787","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@splitlab/js-client","version":"0.14.0","license":"MIT","_id":"@splitlab/js-client@0.14.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"6a7c18669689f69b4cf54e0169aed1cda2c8bc72","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.14.0.tgz","fileCount":7,"integrity":"sha512-o6NYbal6kpg86oU9kEy5BFAUYSTCV2SoziMVhbTMouNO9+jumFwUU5yLhXPAApyb+9dNOy0016qwGmaQOdDydw==","signatures":[{"sig":"MEYCIQCEZ3SpABN74pcN7KM1Z29mohXoVEsV12jue1PaWZM/8wIhAILJ0fFYR5B2sxMY1Z0a3fA/sIoq7eCDxP8y70MAg8AB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98525},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"a036ae81c2c34aba8eb5eb8cea552d7ec5f7b530","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.14.0_1772281651990_0.5826245872831293","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@splitlab/js-client","version":"0.15.0","license":"MIT","_id":"@splitlab/js-client@0.15.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"d1a9c656f95538893ea16d3c3cb7785346025388","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.15.0.tgz","fileCount":7,"integrity":"sha512-tDLwlbVILEIsm5O4q12NbY4DQMUDfKeiS0fVlPfEinmAdVzJxdjQadRz5ykrFiC3T5vMu/kz8N0x2SwAXUQ1lw==","signatures":[{"sig":"MEUCIQCq3vIU6OFA6FtE8GwerIbdlv3tb3gGsmauU1xdf/1TxwIgU51ESSVeeps7uhxRW3Ma5m6V7oHX6smWLa5jvfKQbVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99794},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"6d6d75dc3dfe91942110048a0a96ca520431e53e","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.15.0_1772285262448_0.5202788648820704","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@splitlab/js-client","version":"0.15.1","license":"MIT","_id":"@splitlab/js-client@0.15.1","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"cec465bc793db9d651998fe2926fa6fb4a9e248b","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.15.1.tgz","fileCount":7,"integrity":"sha512-2XNPQkj63hphKmm13VsepZGqaY1EakXcG22zXtFA50jMWMQty8+C1GKgJL4jxItAhL1s0R6TJfb3TknVZPTasQ==","signatures":[{"sig":"MEUCIBTzpqleNsRaj+FzE4hviunYNsr0ekk1Y7826BMWC2fwAiEAgdVuYkVgXls6uWpMf0E7X9Qo1XOl4tWE9TNww1KA2Gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100196},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"aef2d2cc00d452cdf0041eb38db297f2f10df197","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.15.1_1772288262255_0.7524593517227387","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@splitlab/js-client","version":"0.16.0","license":"MIT","_id":"@splitlab/js-client@0.16.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"b88ed93dcbbc9a26a3b418494bcff69e0e298206","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.16.0.tgz","fileCount":7,"integrity":"sha512-2L7Pp1CgcWbG+dNDH0Bq+JXmysaNyBG8PeRlCgkTCulYn+y27v9u3lXiwlGvu/cKuQlAka+Y1uRs5MRvyTWh8w==","signatures":[{"sig":"MEUCIDmckVwsNgTCJcnnELa+SOi3Srzzzntla6c+pYbCf523AiEAgS1IG8EctOzEJwm72HSDGibjpXd8h0674BBHddH5zgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102013},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"aef2d2cc00d452cdf0041eb38db297f2f10df197","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.16.0_1772288981551_0.4302088184444528","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@splitlab/js-client","version":"0.17.0","license":"MIT","_id":"@splitlab/js-client@0.17.0","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"dist":{"shasum":"6b25508f6c55be617634b964a56e80c1d17ff871","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.17.0.tgz","fileCount":7,"integrity":"sha512-eYW/ezculCZyio0VvvDFj8aeIlNRwPxZMk/nm282D7uI7FzvgWOQ3Ha1RzAGpbo1fXykNhZSsRwgjt6P5CitIg==","signatures":[{"sig":"MEYCIQD0xOcT+ge1q2Jcdx7RitLBPzefNl+fYQcNX9KHSCfvQQIhAKgHbmDF4rVZBP65O58yQwA27P/JS3VFSjjrBVW8POdQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128731},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"b54aeaca4a1f59bc3cadbcca23f83948e162c184","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"_npmVersion":"11.8.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","directories":{},"_nodeVersion":"25.6.0","dependencies":{"@splitlab/core":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/js-client_0.17.0_1772299895541_0.9463245291498217","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@splitlab/js-client","version":"0.18.0","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","license":"MIT","publishConfig":{"access":"public"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","dev":"tsup --watch"},"dependencies":{"@splitlab/core":"^0.8.0"},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0"},"gitHead":"d2d88841434191205ab1d6205a6d6324403f02eb","_id":"@splitlab/js-client@0.18.0","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-nnJ3sVKv9FpAABYX1pTommpb3+vh65qckwsRxRUfOl0EM/7ymH4KGzHShbAud2oGbZrzdUTxjoiMdNpYGKKiqw==","shasum":"1e5e627a258de0963b9ee2f209b8ba62b0a73cfc","tarball":"https://registry.npmjs.org/@splitlab/js-client/-/js-client-0.18.0.tgz","fileCount":7,"unpackedSize":131593,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICANj4/scXRrn/p01PnzvohBytf40mN9dxsLhfw4L07MAiA2UVAwKlN4WmC0HYSsaAQgEbBSNUf0PXHeIactY3a/aA=="}]},"_npmUser":{"name":"barnabyfry","email":"b4rnaby@gmail.com"},"directories":{},"maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/js-client_0.18.0_1772300721949_0.767871929737719"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-07T12:20:36.521Z","modified":"2026-02-28T17:45:22.235Z","0.1.0":"2026-02-07T12:20:36.806Z","0.1.1":"2026-02-07T12:36:55.378Z","0.1.2":"2026-02-07T14:53:22.885Z","0.1.3":"2026-02-07T14:59:50.798Z","0.2.0":"2026-02-07T15:44:47.551Z","0.3.0":"2026-02-07T16:58:47.651Z","0.4.0":"2026-02-07T22:24:35.383Z","0.5.0":"2026-02-07T23:29:26.381Z","0.6.0":"2026-02-08T10:00:39.680Z","0.7.0":"2026-02-08T11:41:01.605Z","0.8.0":"2026-02-08T15:54:46.788Z","0.9.0":"2026-02-09T21:39:25.413Z","0.9.1":"2026-02-09T21:48:09.520Z","0.9.2":"2026-02-09T22:26:10.752Z","0.10.0":"2026-02-09T22:52:31.419Z","0.10.1":"2026-02-10T23:08:34.432Z","0.10.2":"2026-02-10T23:28:46.464Z","0.10.3":"2026-02-11T09:57:12.118Z","0.11.0":"2026-02-16T20:51:42.325Z","0.12.0":"2026-02-21T11:54:27.906Z","0.13.0":"2026-02-22T18:19:36.976Z","0.14.0":"2026-02-28T12:27:32.248Z","0.15.0":"2026-02-28T13:27:42.607Z","0.15.1":"2026-02-28T14:17:42.426Z","0.16.0":"2026-02-28T14:29:41.699Z","0.17.0":"2026-02-28T17:31:35.683Z","0.18.0":"2026-02-28T17:45:22.104Z"},"license":"MIT","description":"Lightweight JavaScript client SDK for SplitLab A/B testing and analytics","maintainers":[{"name":"barnabyfry","email":"b4rnaby@gmail.com"}],"readme":"# @splitlab/js-client\n\nLightweight JavaScript client SDK for SplitLab A/B testing and analytics. Zero dependencies, under 2KB gzipped.\n\n## Installation\n\n```html\n<script src=\"https://splitlab.cc/sdk/splitlab.min.js\"></script>\n```\n\nOr build from source:\n\n```bash\ncd sdk && npm run build\n# Outputs ESM + CJS + types to dist/\n```\n\n## Quick Start\n\n```javascript\nimport { SplitLabClient } from '@splitlab/js-client';\n\n// No distinctId needed — SDK auto-generates a persistent device ID\nconst client = new SplitLabClient({\n  apiKey: 'ot_live_abc123',\n  baseUrl: 'https://splitlab.cc',\n});\nawait client.initialize();\n\n// A/B testing (< 1ms — local evaluation by default)\nconst variant = client.getVariant('checkout-btn');\nif (variant === 'variant_a') showGreenButton();\n\n// Feature flags\nif (client.isFeatureEnabled('dark-mode')) enableDarkMode();\n\n// Event tracking (auto-enriched with browser context, UTM, sessions)\nawait client.track('purchase', { value: 49.99, currency: 'USD' });\n\n// When user logs in — links anonymous events to the user\nawait client.identify('user-42');\n\n// Clean up\nawait client.destroy();\n```\n\n## Configuration\n\n```typescript\nconst client = new SplitLabClient({\n  // --- Required ---\n  apiKey: string;           // Your org API key (ot_live_...)\n  baseUrl: string;          // API server URL\n\n  // --- Identity ---\n  distinctId?: string;      // User ID (optional — auto-generates device ID if omitted)\n\n  // --- Evaluation ---\n  ingestUrl?: string;              // Ingest server URL (defaults to baseUrl)\n  enableLocalEvaluation?: boolean; // Evaluate locally via hashing (default: true)\n  configRefreshInterval?: number;  // Config polling interval in ms (default: 30000)\n  realtimeUpdates?: boolean;       // SSE for instant config push (default: false)\n  onConfigUpdate?: () => void;     // Callback when config changes after refresh\n\n  // --- Event batching ---\n  autoFlushInterval?: number;      // ms between auto-flushes (default: 30000)\n  autoFlushSize?: number;          // events before auto-flush (default: 20)\n\n  // --- Analytics auto-capture ---\n  captureContext?: boolean;        // Browser context enrichment (default: true in browser)\n  captureUtm?: boolean;            // UTM parameter capture (default: true)\n  trackSessions?: boolean;         // Session ID tracking (default: true)\n  sessionTimeout?: number;         // Session inactivity timeout in ms (default: 1800000)\n  persistDeviceId?: boolean;       // Persistent device ID in localStorage (default: true)\n  trackPageviews?: boolean;        // Auto-track SPA navigations (default: false)\n  superProperties?: Record<string, any>; // Properties attached to every event\n\n  // --- Autocapture ---\n  trackClicks?: boolean;               // Track $click events (default: false)\n  trackRageClicks?: boolean;           // Track $rage_click events (default: false)\n  trackSubmits?: boolean;              // Track $submit events (default: false)\n  captureAttributes?: CaptureAttributeRule | CaptureAttributeRule[]; // Custom HTML attribute capture\n  trackScrollDepth?: boolean;          // Track $scroll_depth events (default: false)\n  trackTimeOnPage?: boolean;           // Track $time_on_page events (default: false)\n  trackErrors?: boolean;               // Track $error events (default: false)\n  trackWebVitals?: boolean;            // Track $web_vitals events (default: false)\n});\n```\n\n## Local Evaluation (Default)\n\nThe SDK defaults to local evaluation — experiments and flags are computed client-side using the same deterministic hashing as the server. On `initialize()`, the SDK fetches the org config once and evaluates locally. Subsequent `getVariant()` and `isFeatureEnabled()` calls return in < 1ms with zero network calls.\n\n```javascript\nconst client = new SplitLabClient({\n  apiKey: 'ot_live_abc123',\n  baseUrl: 'https://splitlab.cc',\n  // enableLocalEvaluation: true  — this is the default\n});\nawait client.initialize();\n```\n\nConfig is refreshed every 30 seconds by default. Refreshes use ETag-based conditional requests — if the config hasn't changed, the server returns `304 Not Modified` (< 5ms, no body parsed).\n\nTo disable local evaluation and use server-side assignment (which respects sticky assignments in the database):\n\n```javascript\nconst client = new SplitLabClient({\n  // ...\n  enableLocalEvaluation: false,\n});\n```\n\nTrade-off: local evaluation does not respect sticky assignments stored server-side. For first-time users the results are identical. For users who were previously assigned a variant, the server may return a different (stored) result.\n\n## Anonymous Users & Identity\n\nThe SDK works out of the box without a user ID. On first visit, a persistent `device_id` is generated and stored in `localStorage`. This device ID is used for:\n\n1. **Experiment bucketing** — variants are assigned based on device ID, so the assignment is stable across the anonymous → logged-in transition (no re-randomization)\n2. **Event attribution** — events are tagged with the device ID until `identify()` is called\n\n```javascript\n// Anonymous — SDK generates a device ID automatically\nconst client = new SplitLabClient({\n  apiKey: 'ot_live_abc123',\n  baseUrl: 'https://splitlab.cc',\n});\nawait client.initialize();\n\n// User sees variant B (bucketed on device ID)\nconst variant = client.getVariant('checkout-btn'); // → 'variant_b'\n\n// Later, user logs in\nawait client.identify('user-42');\n\n// Still variant B — bucketing is device-level, not user-level\nclient.getVariant('checkout-btn'); // → 'variant_b' (same)\n\n// Events now attributed to 'user-42' instead of the device ID\nawait client.track('purchase', { value: 49.99 });\n```\n\nWhen `identify()` is called, the SDK:\n- Fires a `$identify` event linking `device_id` → `user_id` (with `previous_distinct_id`)\n- Switches event attribution to the new user ID\n- Does **not** re-evaluate experiments (bucketing stays on device ID)\n\nYou can also provide `distinctId` upfront if the user is already authenticated:\n\n```javascript\nconst client = new SplitLabClient({\n  apiKey: 'ot_live_abc123',\n  baseUrl: 'https://splitlab.cc',\n  distinctId: currentUser.id, // Already logged in\n});\n```\n\n## Realtime Config Updates\n\nFor instant config propagation (< 1 second after a dashboard edit), enable SSE:\n\n```javascript\nconst client = new SplitLabClient({\n  // ...\n  realtimeUpdates: true,\n  onConfigUpdate: () => {\n    console.log('Config updated — flags and experiments may have changed');\n  },\n});\n```\n\nThe SDK opens an EventSource connection to the API's SSE endpoint. When an experiment or flag is created, updated, or deleted, the server pushes a `config_updated` event and the SDK refreshes automatically. EventSource handles reconnection natively.\n\n## Analytics Auto-Capture\n\nEvery `track()` call is automatically enriched with contextual properties (in browser environments):\n\n**Browser context** (`captureContext: true`):\n- `pathname`, `hostname`, `referrer`, `search_params`, `page_title`, `hash`\n- `browser`, `browser_version`, `os`, `os_version`, `device_type` (parsed from User-Agent)\n- `screen_width`, `screen_height`, `viewport_width`, `viewport_height`\n- `language`, `timezone`\n\n**UTM parameters** (`captureUtm: true`):\n- `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`\n- Captured on first page load and persisted in `sessionStorage` across SPA navigations\n\n**Session tracking** (`trackSessions: true`):\n- `session_id` — random ID that resets after 30 minutes of inactivity (configurable via `sessionTimeout`)\n\n**Device ID** (`persistDeviceId: true`):\n- `device_id` — persistent random ID stored in `localStorage`, survives across sessions\n\n**Auto-pageview tracking** (`trackPageviews: true`):\n- Wraps `history.pushState`, `history.replaceState`, and the `popstate` event\n- Fires a `$pageview` event on each SPA navigation with `previous_url`\n\n**Super properties** (`superProperties`):\n- Key-value pairs attached to every event, overriding auto-captured values\n- Modify at runtime with `setSuperProperties()` and `unsetSuperProperty()`\n\nProperty merge order (last wins): browser context < UTM < session < device < super properties < user properties.\n\n## Custom Attribute Capture\n\nWhen `trackClicks` or `trackSubmits` is enabled, `captureAttributes` lets you enrich `$click`, `$rage_click`, and `$submit` events with custom HTML attributes from the target element and its ancestors. This lets you integrate existing `data-*` attributes from your markup without code changes.\n\n```typescript\ntype CaptureAttributeRule =\n  | string                                    // Prefix mode\n  | { name: string; parse?: (value: string) => Record<string, any> };  // Exact mode\n```\n\n### Prefix mode\n\nMatch all attributes starting with a prefix. The prefix is stripped to produce the property key.\n\n```typescript\nconst client = new SplitLabClient({\n  apiKey: 'ot_live_abc123',\n  baseUrl: 'https://splitlab.cc',\n  trackClicks: true,\n  captureAttributes: 'data-sl-',\n});\n```\n\n```html\n<section data-sl-section=\"hero\">\n  <button data-sl-action=\"signup\" data-sl-tier=\"pro\">Sign Up</button>\n</section>\n<!-- Click on button → $click { section: \"hero\", action: \"signup\", tier: \"pro\" } -->\n```\n\n### Exact attribute with parser\n\nMatch a single attribute name and transform its value with a custom function.\n\n```typescript\ncaptureAttributes: {\n  name: 'data-track',\n  parse: (v) => { try { return JSON.parse(v); } catch { return { track_label: v }; } }\n}\n```\n\n```html\n<div data-track='{\"name\":\"click_banner\",\"campaign\":\"summer\"}'>Click</div>\n<!-- → $click { name: \"click_banner\", campaign: \"summer\" } -->\n```\n\n### Exact attribute without parser\n\nCaptures the raw attribute value. Boolean/empty attributes resolve to `true`.\n\n```typescript\ncaptureAttributes: { name: 'data-track-element' }\n```\n\n```html\n<button data-track-element>Go</button>\n<!-- → $click { \"data-track-element\": true } -->\n\n<button data-track-element=\"cta\">Go</button>\n<!-- → $click { \"data-track-element\": \"cta\" } -->\n```\n\n### Multiple rules\n\nCombine prefix and exact rules for pages with mixed conventions.\n\n```typescript\ncaptureAttributes: [\n  'data-sl-',\n  { name: 'data-track', parse: (v) => JSON.parse(v) },\n  { name: 'data-track-element' },\n]\n```\n\n### DOM walking\n\nAttributes are collected from the target element up through ancestors to `<body>` (max 10 levels). Child values take priority over parent values on key collision. Captured properties are merged into the event alongside `element_tag`, `element_text`, etc. They flow through the standard pipeline into the `extra` JSON column (or mapped `dim_*` columns if custom dimensions are configured).\n\nFor `$submit` events, the SDK also captures `form_action` (the form's action URL) and `form_method` (GET/POST).\n\n## Resilient Initialization\n\nIf the config fetch fails during `initialize()` and no cached config exists, the SDK falls back to safe defaults instead of throwing:\n- All experiments return `null` (control)\n- All flags return `false` (off)\n- A warning is logged\n\nIf `refresh()` fails, the existing config is kept.\n\n## Direct Ingest URL\n\nIn development or when the ingest service runs on a separate host, use `ingestUrl`:\n\n```javascript\nconst client = new SplitLabClient({\n  apiKey: 'ot_live_abc123',\n  baseUrl: 'http://localhost:3001',    // API server\n  ingestUrl: 'http://localhost:3002',  // Ingest server\n});\n```\n\nIn production behind a reverse proxy (Caddy, nginx), both services share one origin and `ingestUrl` is not needed.\n\n## API\n\n### `client.initialize(): Promise<void>`\nFetches config (or evaluation data), starts the auto-flush timer and config polling timer. If `realtimeUpdates` is enabled, opens the SSE connection.\n\n### `client.getVariant(experimentKey): string | null`\nReturns the assigned variant key, or `null` if excluded. < 1ms with local evaluation.\n\n### `client.isFeatureEnabled(flagKey): boolean`\nReturns whether the feature flag is enabled for this user. < 1ms with local evaluation.\n\n### `client.track(eventName, properties?): Promise<void>`\nQueues an event (auto-enriched with context). Auto-flushes when queue reaches `autoFlushSize`.\n\n### `client.trackPageview(properties?): Promise<void>`\nShorthand for `track('$pageview', properties)`.\n\n### `client.flush(): Promise<void>`\nSends all queued events to the ingest service.\n\n### `client.identify(distinctId, properties?): Promise<void>`\nLinks the anonymous device to a user ID. Fires a `$identify` event with `previous_distinct_id`. Experiment assignments are unchanged (bucketed on device ID). Future events are attributed to the new user ID.\n\n### `client.getDistinctId(): string`\nReturns the current distinct ID (user ID if identified, device ID otherwise).\n\n### `client.getDeviceId(): string`\nReturns the stable device ID used for experiment bucketing.\n\n### `client.refresh(): Promise<void>`\nRe-fetches config from the server. Uses ETag — returns immediately on 304.\n\n### `client.setAttributes(attributes): void`\nMerges attributes for targeting rule evaluation.\n\n### `client.setSuperProperties(props): void`\nSets properties attached to every subsequent event.\n\n### `client.unsetSuperProperty(key): void`\nRemoves a super property by key.\n\n### `client.destroy(): Promise<void>`\nFlushes remaining events, stops all timers, closes SSE connection.\n\n## React\n\nFor React bindings (provider + hooks), see [`@splitlab/react`](../react-sdk/).\n","readmeFilename":"README.md"}