{"_id":"@denismartins/abtest-sdk","_rev":"14-c7872a2687f508fab8996b1eedc829f0","name":"@denismartins/abtest-sdk","dist-tags":{"latest":"1.1.6"},"versions":{"1.0.0":{"name":"@denismartins/abtest-sdk","version":"1.0.0","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.0.0","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"99dc8c67cdb6cfb3bcee5c2968e66d19fa69b05d","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.0.0.tgz","fileCount":20,"integrity":"sha512-DthEYNZdkp1Pi63sHDhnI6GKM4Hzm8H0nkyQoFZvG1cGNo8qpd+X2EyE8ScPLCXUZSWZgq7hrzxJKrzeK5SCyw==","signatures":[{"sig":"MEUCICwTy0f+nQJWFyUROOjGDWMvo3xuPzl/s3dM1XCbsdy2AiEAz8bvobLJCcfyWTrvStS+4NbcxW5JzRjqz8q+8xcZTys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145106},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"c1b106f861d2a967460ce5ea08c69d783768b6f8","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.0.0_1760392861090_0.9147491581408937","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@denismartins/abtest-sdk","version":"1.0.1","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.0.1","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"db7425048531d1fc28c825ad6dfc5d3df9cd42ac","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.0.1.tgz","fileCount":20,"integrity":"sha512-Bpn/ZhoYZxno+wWyUt3gtvaUtdndPZc9g9cW5ws2RKTp/QAPO+Nxk2XRZHzkRfFVG9Z/syC0PnzhsDk1Oynlqg==","signatures":[{"sig":"MEQCICmQa7WceJvtbmUOwD7T0NIB+j19q205SgiJMW+ABImSAiB+fEdtsFdJUzYyRVq65ucLwPNYyfUzozj+BU4CBfjcUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147035},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"c1b106f861d2a967460ce5ea08c69d783768b6f8","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.0.1_1760404069427_0.7197135594537054","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@denismartins/abtest-sdk","version":"1.0.2","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.0.2","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"0d4539fc0ef81bfbbd5329df068f357c6101be1e","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.0.2.tgz","fileCount":20,"integrity":"sha512-3hXfbbJBzUKaEy1XxlrtOVv5W5PMwmvYT3jsqjclHhvS+F2j1QTX+wr6KxtZex/FyBeo0jAObxdN7kzimKt1vw==","signatures":[{"sig":"MEUCIFCDLdehufhZqYiSeulECN2ZG+Iy+/YptXvrS3pfJiuZAiEAlt9E/LQK+QEyA0RbhGTuHntXVoQxEH/Dd1kkcskXG6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148215},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"c1b106f861d2a967460ce5ea08c69d783768b6f8","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.0.2_1760404584402_0.706243446306227","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@denismartins/abtest-sdk","version":"1.0.3","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.0.3","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"c645b457aa7d40ceceb3d20a7341484d206b65c9","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.0.3.tgz","fileCount":20,"integrity":"sha512-kcNIdMsKxM8/FSlrUfvYOkrVX9FDQflagbP0MseOcbw03wAb/bv+iwK+sTQ+wels/bSL+fLLi0+TCkTcVFzaHQ==","signatures":[{"sig":"MEQCIBLaJUGeNbPMakNy7cyoPBc+mYnLfYLvUyE5/pjjhtUIAiBfkz7bVMJKuI/uqBaMgzPghbrnnbrOO7x/Zwu6BEBnrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151687},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"c1b106f861d2a967460ce5ea08c69d783768b6f8","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.0.3_1760405474691_0.9799125525828218","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@denismartins/abtest-sdk","version":"1.0.4","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.0.4","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"eadcb5f3d5b60fa9c24fe7d58e391bf038d4206a","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.0.4.tgz","fileCount":20,"integrity":"sha512-Fx2dBMOuVeIzO3VRYxCDrAe7DWdlF0aB/OGqZD2PEt6771naD0zd4xVavSId9ay94uY09tpKkw0esAVgf3RArg==","signatures":[{"sig":"MEQCIAVYMUFGnmMHUhn5BvTS7QYddVaNOuKcWGcZmH/8DqbQAiAgPLaB9yv8Smq7BfT77IEXvi4brxja1f/IL/upbsm9Eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151395},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"c1b106f861d2a967460ce5ea08c69d783768b6f8","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.0.4_1760405712129_0.16028501802048556","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@denismartins/abtest-sdk","version":"1.0.5","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.0.5","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"40abaca8f39f3d1f637fbf89b4b97605a469d5ed","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.0.5.tgz","fileCount":20,"integrity":"sha512-zTUtTyZm6453g5fgZJQKwODDoruP9xOlMSBrlWcg8KKzsS52giAWECEAmvEPUQeMf+2LZzRuv7Lq/oegdX3QUg==","signatures":[{"sig":"MEQCIDS5SNad89d1xAofLI/4BbYOAHxMcpBu6WWT3zWFzCUCAiBFe7TsLpFD8IPUl32DRNu8tJtDRbVOPZGMLboGoXi+HA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152211},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"c1b106f861d2a967460ce5ea08c69d783768b6f8","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.0.5_1760406271996_0.3682664337036776","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@denismartins/abtest-sdk","version":"1.0.6","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.0.6","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"339d2c0329c5eedce69f48c114eae6537252b041","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.0.6.tgz","fileCount":20,"integrity":"sha512-yDWBVL0hhq1lxALanliug36KrAR3qZwCaxwTDphJy7ey8lqru09RJoXjsx+Jyw937aawYl16FrN//NE45jleSA==","signatures":[{"sig":"MEYCIQDQe5rvSVaS8SUV+6E7SRxIDh8XFQsQytzJPy5Y3o9+swIhAIqPkMkHwEo6HSLqWV3PMjoKWtcuIiNsFxHFDnptdDWA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143053},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"c1b106f861d2a967460ce5ea08c69d783768b6f8","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.0.6_1760406828211_0.9402672142324058","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@denismartins/abtest-sdk","version":"1.1.0","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics","ssr","server-side-rendering","nextjs","environment-aware"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.1.0","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"475aec3dbcebe4796279b00d0304462fad144319","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.1.0.tgz","fileCount":22,"integrity":"sha512-9tU/jaILQsEFqWLYQ5EUyBdAevfA+8PnYWnXdPKk99oSQ5SrubzsjGoxQ/QrFn5vpHNYx4ig7aMOYCHsoWjmWA==","signatures":[{"sig":"MEQCIFjCEQE7Yj/4lnmx6A/Iphkomnjnconi5eWWQg4g6FbiAiBG0NthAVpNosAS66XBEd4D+MU/fMWP4ET1+2I2SF/5jA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215415},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"266bf4ba39d048d4aa5ab6dc5e05adfdba26e680","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution with SSR support","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.1.0_1761070603980_0.6854548970318437","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@denismartins/abtest-sdk","version":"1.1.1","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics","ssr","server-side-rendering","nextjs","environment-aware"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.1.1","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"f0a191fe485f5b207d79bd896138fa1ed97e3030","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.1.1.tgz","fileCount":22,"integrity":"sha512-MCnOWJDD3mrcPs0pA90u3V0/Ro7DO01qH7PO3NOm203HX1puM0gNfAiuCjUO2BPwgDTa/4odfcrHKD+eaMCifA==","signatures":[{"sig":"MEQCIGOJTfOy2WPxKw+CDhz2cBk98qq6TU/8iXfX5op5Xb9ZAiAN1s2nDlG8VvAbyWPgRnTgzptZUQSQ6v9ZMpxtgYTZ0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239263},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"2f0e3d97f59f6eeb348e6fceec632f00deb933bc","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution with SSR support","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","axios-mock-adapter":"^2.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.1.1_1761223718736_0.7333881917986831","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@denismartins/abtest-sdk","version":"1.1.2","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics","ssr","server-side-rendering","nextjs","environment-aware"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.1.2","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"e084b085bd6b7c08eae376497539a9d0c5e7ad99","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.1.2.tgz","fileCount":22,"integrity":"sha512-c34hbsy16b1tPF/UhpJRcDNv9FavQ1gY7XLN0gASD3RjN2z2gUiA0MGnCpcKu8iTD4G0UkkWv9pTipm20yAh9Q==","signatures":[{"sig":"MEUCIQCc3YbLvu/gXhTIEzQ2TBSzitoOVwVc4tDDTkbKnBo91gIgRS4/+/1Oey5s7gj7JUJaA8RpAvt++1J9ja0WxGOepTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239263},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"2f0e3d97f59f6eeb348e6fceec632f00deb933bc","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution with SSR support","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","axios-mock-adapter":"^2.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.1.2_1761226715725_0.44659158481262606","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@denismartins/abtest-sdk","version":"1.1.3","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics","ssr","server-side-rendering","nextjs","environment-aware"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.1.3","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"1e05a118b53942681d8242469e52b8f18c5a19d3","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.1.3.tgz","fileCount":22,"integrity":"sha512-iqM4K59fXPQiDwjb1Y1cg3CBFry/IaEo+SnSa6l2O1v1rEXYe6rBRS2/UKuBZq8Ja4svfchytZdg58vu9WQ2dg==","signatures":[{"sig":"MEUCIQDp2W8LeJSIyFUguig9ySv0G7xzVcHv9+TJ1HyLu3XeLAIgV1HlHVm6QJ1sW6Uk+D/0WcViZICfqIYwSygNZ4V1mag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238585},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"2f0e3d97f59f6eeb348e6fceec632f00deb933bc","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution with SSR support","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","axios-mock-adapter":"^2.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.1.3_1761226987505_0.8822231634138364","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@denismartins/abtest-sdk","version":"1.1.4","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics","ssr","server-side-rendering","nextjs","environment-aware"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.1.4","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"7d785f0e0480e721f90941700320783881bf248b","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.1.4.tgz","fileCount":22,"integrity":"sha512-HdbWhjwzmisUYH30iAY8yAq5jlziwELE3xNQghYcWVi1NdCZN7GwwP2MRXR0OMz0IaJVBAwUV7yoMhrLOTm7Ww==","signatures":[{"sig":"MEQCID7WpZ8DhjPxrvzwEhJwoRbdDhkAh4NpovkSOcQV107yAiBbmqPIu+0ERMBvPoicR3ZAtpu3+A1v1NvnxijQwCKteA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238585},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"2f0e3d97f59f6eeb348e6fceec632f00deb933bc","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution with SSR support","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","axios-mock-adapter":"^2.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.1.4_1761228326166_0.5979266019235938","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@denismartins/abtest-sdk","version":"1.1.5","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics","ssr","server-side-rendering","nextjs","environment-aware"],"author":{"name":"Denis Souza"},"license":"MIT","_id":"@denismartins/abtest-sdk@1.1.5","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"homepage":"https://github.com/DenisMSouza/abtest#readme","bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"dist":{"shasum":"25592b0d8fd97773850d2feae3e0fed5f306fed2","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.1.5.tgz","fileCount":22,"integrity":"sha512-0zvj6/2Ovoadv6Jn1VHWQcvx5ARyERsUz+x3oLvQNoA+cTjKn9f2L7bIVp1XAmObCmK46PZX2LLfo9Umku19uA==","signatures":[{"sig":"MEQCIAiA4pIFMVa+b136jA4EHj72vQVMWcLbCQJYxZJKy20vAiAxBFG67TwsFimbKuPmtAs8DrIk8yxHSz+SWP2kRRFnIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241639},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"2f0e3d97f59f6eeb348e6fceec632f00deb933bc","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"jest","build":"rollup -c","prepack":"npm run build","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"repository":{"url":"git+https://github.com/DenisMSouza/abtest.git","type":"git","directory":"sdk"},"_npmVersion":"10.9.2","description":"A/B Testing SDK for React applications - Self-hosted solution with SSR support","directories":{},"_nodeVersion":"23.10.0","dependencies":{"ramda":"^0.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.54.0","rollup":"^4.6.1","ts-jest":"^29.1.1","typescript":"^5.3.2","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","rollup-plugin-dts":"^6.1.0","axios-mock-adapter":"^2.1.0","identity-obj-proxy":"^3.0.0","eslint-plugin-react":"^7.33.2","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^29.7.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.12.0","eslint-plugin-react-hooks":"^4.6.0","@rollup/plugin-node-resolve":"^15.2.3","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^6.12.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/abtest-sdk_1.1.5_1761229153417_0.31569925112048325","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@denismartins/abtest-sdk","version":"1.1.6","description":"A/B Testing SDK for React applications - Self-hosted solution with SSR support","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"jest","lint":"eslint src --ext .ts,.tsx","type-check":"tsc --noEmit","prepublishOnly":"npm run build && npm run test","prepack":"npm run build"},"keywords":["ab-testing","experiments","react","hook","self-hosted","analytics","ssr","server-side-rendering","nextjs","environment-aware"],"author":{"name":"Denis Souza"},"license":"MIT","peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"dependencies":{"ramda":"^0.29.1"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-typescript":"^11.1.5","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.0","@testing-library/user-event":"^14.6.1","@types/jest":"^29.5.14","@types/react":"^18.2.37","@types/react-dom":"^18.2.15","@typescript-eslint/eslint-plugin":"^6.12.0","@typescript-eslint/parser":"^6.12.0","axios-mock-adapter":"^2.1.0","eslint":"^8.54.0","eslint-plugin-react":"^7.33.2","eslint-plugin-react-hooks":"^4.6.0","identity-obj-proxy":"^3.0.0","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","rollup":"^4.6.1","rollup-plugin-dts":"^6.1.0","rollup-plugin-peer-deps-external":"^2.2.4","ts-jest":"^29.1.1","typescript":"^5.3.2"},"repository":{"type":"git","url":"git+https://github.com/DenisMSouza/abtest.git","directory":"sdk"},"bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"homepage":"https://github.com/DenisMSouza/abtest#readme","_id":"@denismartins/abtest-sdk@1.1.6","gitHead":"2f0e3d97f59f6eeb348e6fceec632f00deb933bc","_nodeVersion":"23.10.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-EDYWLJwzV+ti3n43AEX35klRpUATcgVl7savbqAQwqkCOrTDYlhMklhlUmzhG8NvovcSnIUPV32MmIz01qtHSg==","shasum":"f1c126081a9b57b2f4977a1f77fa314cf071a351","tarball":"https://registry.npmjs.org/@denismartins/abtest-sdk/-/abtest-sdk-1.1.6.tgz","fileCount":22,"unpackedSize":240454,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBHLBLeWdnyiDGugtGsueWyTT9rns2WVmeWvV9zcbtSKAiAsVrldwxuRSua9egEoD6BQ+yYLXlA9izTF19UXS3Bktg=="}]},"_npmUser":{"name":"denismartins","email":"denisconchas@gmail.com"},"directories":{},"maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/abtest-sdk_1.1.6_1761229339770_0.5503617077892282"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-13T22:01:01.005Z","modified":"2025-10-23T14:22:20.146Z","1.0.0":"2025-10-13T22:01:01.292Z","1.0.1":"2025-10-14T01:07:49.609Z","1.0.2":"2025-10-14T01:16:24.604Z","1.0.3":"2025-10-14T01:31:14.968Z","1.0.4":"2025-10-14T01:35:12.301Z","1.0.5":"2025-10-14T01:44:32.186Z","1.0.6":"2025-10-14T01:53:48.416Z","1.1.0":"2025-10-21T18:16:44.196Z","1.1.1":"2025-10-23T12:48:38.923Z","1.1.2":"2025-10-23T13:38:35.915Z","1.1.3":"2025-10-23T13:43:07.706Z","1.1.4":"2025-10-23T14:05:26.371Z","1.1.5":"2025-10-23T14:19:13.666Z","1.1.6":"2025-10-23T14:22:19.962Z"},"bugs":{"url":"https://github.com/DenisMSouza/abtest/issues"},"author":{"name":"Denis Souza"},"license":"MIT","homepage":"https://github.com/DenisMSouza/abtest#readme","keywords":["ab-testing","experiments","react","hook","self-hosted","analytics","ssr","server-side-rendering","nextjs","environment-aware"],"repository":{"type":"git","url":"git+https://github.com/DenisMSouza/abtest.git","directory":"sdk"},"description":"A/B Testing SDK for React applications - Self-hosted solution with SSR support","maintainers":[{"name":"denismartins","email":"denisconchas@gmail.com"}],"readme":"# A/B Testing SDK\n\nA production-ready React hook for A/B testing with your self-hosted A/B testing platform.\n\n## Features\n\n- 🚀 **Production Ready**: Built for real-world applications with error handling and fallbacks\n- 🎯 **Self-Hosted**: Works with your own A/B testing server\n- 📊 **Event Tracking**: Built-in success and custom event tracking\n- 🔄 **Offline Support**: Graceful degradation when server is unavailable\n- 🎲 **Weighted Variations**: Support for complex traffic allocation\n- 📱 **React Native Compatible**: Works in both web and mobile environments\n- 🛡️ **TypeScript**: Full type safety and IntelliSense support\n- 🐛 **Debug Mode**: Comprehensive logging for development\n- 🔐 **Login Sync**: Automatically syncs variations when users log in after being assigned a variation\n\n## Installation\n\n```bash\nnpm install @abtest/sdk\n```\n\n## Quick Start\n\n### 1. Configure the SDK\n\n```typescript\nimport { useExperiment, ABTestConfig } from \"@abtest/sdk\";\n\nconst config: ABTestConfig = {\n  apiUrl: \"http://localhost:3001/api\", // Your self-hosted API URL\n  userId: \"user-123\", // Optional: for user-based experiments\n  environment: \"production\", // Optional: development, staging, production\n  debug: false, // Optional: enable debug logging\n  fallback: \"control\", // Optional: fallback variation\n  timeout: 5000, // Optional: API timeout in ms\n};\n```\n\n### 2. Use the Hook\n\n```typescript\nimport React from \"react\";\nimport { useExperiment } from \"@abtest/sdk\";\n\nconst ButtonExperiment = () => {\n  // Simply provide the experiment ID - the hook will fetch experiment details automatically\n  const { variation, isLoading, error, trackSuccess, experiment } =\n    useExperiment(\n      \"button-color-test\", // Experiment ID from your dashboard\n      config\n    );\n\n  if (isLoading) return <div>Loading...</div>;\n  if (error) return <div>Error: {error.message}</div>;\n\n  const handleClick = () => {\n    // Track success when user clicks the button\n    trackSuccess({ buttonColor: variation });\n  };\n\n  return (\n    <button\n      onClick={handleClick}\n      style={{ backgroundColor: variation === \"blue\" ? \"#007bff\" : \"#dc3545\" }}\n    >\n      Click me!\n    </button>\n  );\n};\n```\n\n## API Reference\n\n### `useExperiment(experiment, config)`\n\nThe main hook for A/B testing.\n\n#### Parameters\n\n- **experiment** (`Experiment`): The experiment configuration\n- **config** (`ABTestConfig`): SDK configuration\n\n#### Returns\n\n- **variation** (`string | null`): Current variation name\n- **isLoading** (`boolean`): Whether the experiment is loading\n- **error** (`Error | null`): Any error that occurred\n- **source** (`string`): Source of the variation (localStorage, cookie, backend, generated, fallback)\n- **isActive** (`boolean`): Whether the experiment is active\n- **metadata** (`object`): Experiment metadata\n- **trackSuccess** (`function`): Track a success event\n\n### `ABTestConfig`\n\nConfiguration object for the SDK.\n\n```typescript\ninterface ABTestConfig {\n  apiUrl: string; // Required: Your self-hosted API URL\n  userId?: string; // Optional: User ID for user-based experiments\n  sessionId?: string; // Optional: Session ID for session-based experiments\n  environment?: \"development\" | \"staging\" | \"production\"; // Optional: Environment\n  debug?: boolean; // Optional: Enable debug logging\n  fallback?: string; // Optional: Fallback variation when experiment fails\n  randomFn?: () => number; // Optional: Custom random function for testing\n  timeout?: number; // Optional: API timeout in ms (default: 5000)\n}\n```\n\n### `Experiment`\n\nExperiment configuration object.\n\n```typescript\ninterface Experiment {\n  id: string; // Unique experiment ID\n  name: string; // Experiment name\n  variations: Variation[]; // Array of variations\n  version?: string; // Optional: Experiment version\n  description?: string; // Optional: Experiment description\n  startDate?: string; // Optional: Start date (ISO string)\n  endDate?: string; // Optional: End date (ISO string)\n  isActive?: boolean; // Optional: Whether experiment is active\n  successMetric?: {\n    // Optional: Success metric configuration\n    type: \"click\" | \"conversion\" | \"custom\";\n    target?: string;\n    value?: string;\n  };\n}\n```\n\n### `Variation`\n\nVariation configuration object.\n\n```typescript\ninterface Variation {\n  name: string; // Variation name\n  weight: number; // Traffic weight (0-1)\n  isBaseline?: boolean; // Whether this is the baseline variation\n}\n```\n\n## Event Tracking\n\n### Track Success Events\n\n```typescript\nconst { trackSuccess } = useExperiment(experiment, config);\n\n// Track a success event\nawait trackSuccess({\n  conversionValue: 29.99,\n  productId: \"product-123\",\n});\n```\n\n### Track Custom Events\n\n```typescript\nconst { trackSuccess } = useExperiment(experiment, config);\n\n// Track a custom event as a success event\nawait trackSuccess({\n  event: \"page_view\",\n  value: 1,\n  page: \"/checkout\",\n  timeOnPage: 120,\n});\n```\n\n## Login Sync\n\nThe SDK automatically handles the scenario where a user visits a page without being logged in, gets assigned a variation, and then logs in later:\n\n```typescript\n// User visits page without userId\nconst configWithoutUser = {\n  apiUrl: \"http://localhost:3001/api\",\n  // userId: undefined (not logged in)\n};\n\nconst { variation } = useExperiment(\"button-test\", configWithoutUser);\n// variation: \"blue\" (stored in localStorage only)\n\n// User logs in - userId becomes available\nconst configWithUser = {\n  apiUrl: \"http://localhost:3001/api\",\n  userId: \"user-123\", // User just logged in\n};\n\n// The hook automatically:\n// 1. Detects userId change\n// 2. Syncs localStorage variation to backend\n// 3. Or uses existing backend variation if user already has one\n```\n\n## Advanced Usage\n\n### Custom Random Function\n\nFor testing or deterministic behavior:\n\n```typescript\nconst config: ABTestConfig = {\n  apiUrl: \"http://localhost:3001/api\",\n  randomFn: () => 0.3, // Always returns 30% for testing\n};\n```\n\n### Environment-Specific Configuration\n\n```typescript\nconst config: ABTestConfig = {\n  apiUrl: process.env.REACT_APP_ABTEST_API_URL || \"http://localhost:3001/api\",\n  environment: process.env.NODE_ENV as \"development\" | \"staging\" | \"production\",\n  debug: process.env.NODE_ENV === \"development\",\n};\n```\n\n### Error Handling\n\n```typescript\nconst { variation, error, isLoading } = useExperiment(experiment, config);\n\nif (error) {\n  // Handle error - show fallback UI\n  return <FallbackComponent />;\n}\n\nif (isLoading) {\n  // Show loading state\n  return <LoadingSpinner />;\n}\n\n// Use variation\nreturn <ExperimentComponent variation={variation} />;\n```\n\n## Self-Hosted Setup\n\nThis SDK works with the self-hosted A/B testing platform. To set up your own server:\n\n1. **Deploy the Backend**: Follow the deployment guide in the main repository\n2. **Configure API URL**: Point the SDK to your server's API endpoint\n3. **Set up Experiments**: Use the dashboard to create and manage experiments\n\n## Browser Support\n\n- Chrome 60+\n- Firefox 55+\n- Safari 12+\n- Edge 79+\n\n## React Native Support\n\nThe SDK works in React Native environments. Make sure to:\n\n1. Install the required dependencies\n2. Configure the API URL for your mobile app\n3. Handle network connectivity gracefully\n\n## Contributing\n\nContributions are welcome! Please read our contributing guidelines and submit pull requests to our repository.\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Support\n\nFor support and questions:\n\n- 📧 Email: denisconchas@gmail.com\n- 🐛 Issues: GitHub Issues\n","readmeFilename":"README.md"}