{"_id":"@convex-dev/polar","_rev":"28-0e36d94d193f8e804cd4330905c58de5","name":"@convex-dev/polar","dist-tags":{"latest":"0.9.2"},"versions":{"0.4.2":{"name":"@convex-dev/polar","version":"0.4.2","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.4.2","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"sujayakar","email":"sujayakar@convex.dev"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"f6aeef7f974c5c70505d2ad3ea03b9b291bd4902","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.4.2.tgz","fileCount":94,"integrity":"sha512-ctGjIeUcQDNRcXr5suKjYabdK8GU3eorxjhIeVVlcLRM135fI1tqyO0FDwult1XwBKUKioFJgrMrB9SjOCeL0g==","signatures":[{"sig":"MEUCIQCMRnIa3KlS8eDaUtICZTpI0TbNYDurAmoXE4KdUGUQzQIgfxL/SE+v+Ruuv3Eo/qZcrL34xKpJsP3Y1hbmuITUmHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410610},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.ts"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.ts"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"6b5edcba9536f3c5d05af46c05dbe6c9c2165dd0","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","@polar-sh/sdk":"^0.32.3","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0","@polar-sh/checkout":"^0.1.10"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"~5.0.3","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18","convex":"^1.19.2","react-dom":"^18"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.4.2_1743812350429_0.20536198502623826","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@convex-dev/polar","version":"0.4.3","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.4.3","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"sujayakar","email":"sujayakar@convex.dev"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"6755b9dc03ef2b916c3769f77c63100435cb4712","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.4.3.tgz","fileCount":94,"integrity":"sha512-ia71GKR/lt8CXP98Xnxp/OQDZU8CbAMKRbsObABH9xqTp50Rktvu+OCkdOgdDPyW1pCtZFyjx78GEMR0+U28PQ==","signatures":[{"sig":"MEUCICdGxsEjYIKk+gLXjzBmqa4L5ZQTiMzWBUbMD+XAIt3FAiEA+zubMpjXCitHkarUVK7CMpoO91GsJTwNzN+hhA2vNCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410646},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"3bbe315e0e778d56750aac65872b3f8300ff066b","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","@polar-sh/sdk":"^0.32.3","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0","@polar-sh/checkout":"^0.1.10"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"~5.0.3","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.19.2 || >=1.17.0 <1.25.0","react-dom":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.4.3_1744205003186_0.9137784930637822","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@convex-dev/polar","version":"0.4.4","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.4.4","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"sujayakar","email":"sujayakar@convex.dev"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"b9e8af621d98fa38d16f3d4a6c3939d49923cf36","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.4.4.tgz","fileCount":94,"integrity":"sha512-6n19cdAw7T/RAihT5DiOM6eDcVFl3IkJZ7BD5U7wOEdjPf3FLO9/K4FYrDX7o2wNIZ49eSzjGVFjpK73duVaUQ==","signatures":[{"sig":"MEQCIA9LKoZlmBF1KHp0ZZGsjlcvc+dAisROhn/Afn20fGdWAiBpzl0gsxdEJWKNZReebvWzVI7Ef5FOjftynkk188+SDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410962},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"9d0c82c66deb29c16245f1be65c8bb2d9e9ac2f2","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","@polar-sh/sdk":"0.32.11","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0","@polar-sh/checkout":"0.1.10"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"~5.0.3","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.19.2 || >=1.17.0 <1.25.0","react-dom":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.4.4_1745357366347_0.18457793145770607","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@convex-dev/polar","version":"0.4.5","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.4.5","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"sujayakar","email":"sujayakar@convex.dev"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"2f14e88ee5d80870329d66aae9e114c4c0f7d5e1","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.4.5.tgz","fileCount":94,"integrity":"sha512-VJ+nHYtQdTFjEqbQjcmb0SQXTg7/tTDOvI/RSJ4Jp3Fn8LHXNQSM2rYktc+GcEbwd8tsN7FiAbyzQ9hKTI84Gg==","signatures":[{"sig":"MEUCIQDvxI9DCydqwH8O5GkNp3P+zdFDavvg4a+BEX5+66AB3gIgWO2h0LmS/U1jiE+H7jTi6Ty6ixA/rr5ToTIl5dPStrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":413198},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"83b127d6a5e19343a753d8ba09ce9ea202f70769","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","@polar-sh/sdk":"0.32.11","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0","@polar-sh/checkout":"0.1.10"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"~5.0.3","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.19.2 || >=1.17.0 <1.25.0","react-dom":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.4.5_1748189613135_0.8984651178845651","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@convex-dev/polar","version":"0.4.7","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.4.7","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"sujayakar","email":"sujayakar@convex.dev"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ldanilek","email":"iwork96+npm@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"fdf06a42b060958722e5f1aec4b5355d8ae647ac","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.4.7.tgz","fileCount":94,"integrity":"sha512-JlDuoNBuOEd2m+yi7Co7wK24IjwXolc0NtQBZPW+ig36+VIArne6LSJBjf5ateY9FVUW7UyQd6Lj5RC7PP1bDA==","signatures":[{"sig":"MEYCIQDMrp7b+2CpdvBfe1fqCK2KYVmLR0B+RKDeKlfgaeecdAIhAL3Y1BKB7g2+BQ9D3ALTZMhOCo7ymE2BYrgeMRH4/M0O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":413198},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"3b633519a8a318717e2653e0846e236cbc693536","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","@polar-sh/sdk":"0.32.11","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0","@polar-sh/checkout":"0.1.10"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"^5.5.0","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.19.2 || >=1.17.0 <1.35.0","react-dom":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.4.7_1748882800274_0.9660590169661973","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@convex-dev/polar","version":"0.5.0","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.5.0","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"322b89aab7eb3a979d6ae0885346aef38745e549","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.5.0.tgz","fileCount":94,"integrity":"sha512-MNgkLNoWVmTKBTI0AA39QngV/bwr3Tq7k+hlAr/gyj7oYmvkDrHL5h9vgOfLqacUKEH4ute3lhGY1G42UGdzgg==","signatures":[{"sig":"MEUCIQD7r9q9whoMQ6Mve5tLHOBOrzyEn8aZj7ABz9wTXhkPDQIgRMCvXldbd0D7PQEJrUk2Mr63F8rTySEQaNpsEnXutPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428017},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"f780c96b7dcd26110a84b7fdcb7d851c009968a6","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","@polar-sh/sdk":"0.32.11","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0","@polar-sh/checkout":"0.1.10"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"^5.5.0","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.19.2 || >=1.17.0 <1.35.0","react-dom":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.5.0_1750127587638_0.39777868647397563","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@convex-dev/polar","version":"0.6.0","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.6.0","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"3187fe1c73e6a51a4f714a9335c03eff03f389b0","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.6.0.tgz","fileCount":94,"integrity":"sha512-4Arx0tDHOoBw/OdG+K5v9hQEJDFfjVXmuJRQiaoL8NvEumvH8khP8P4CSayCPKzqqI5SXb8JayyPZtcHhkgTvQ==","signatures":[{"sig":"MEYCIQDJFVFxP1X9ZCgPjgQoLoswyADdVsryk9d3zyuqqLJT8AIhAN7OaRyKIymryY6nGrBRBolGK/ArjBU83H9aZjCb9ZaO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434854},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"e2d80d19a8adccd54ca10860be20553bbd62eddd","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"^5.5.0","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.25.4","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.32.11","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.6.0_1753451116294_0.7387607363619482","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@convex-dev/polar","version":"0.6.1","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.6.1","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"5a2d60b9409edafa63601d4ef840b6108841bad5","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.6.1.tgz","fileCount":94,"integrity":"sha512-JLC5x1E3/uqSj3VKXex/gL0l8Qg6J5sdkQ9CUJ9OMMtbjairdbjOfmdr0zhQdMJYAG4C16vFR/CNAaTxLI7cmQ==","signatures":[{"sig":"MEYCIQCvO7Ur55X9ZJ/sP8UnpmWkW9eVtIeesHe5R8qD6Ryo7gIhAKLWvhqPFMxgW+3vSsBFA+RTrwHPzVpNourJ0ip8VOUb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439249},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"300a327e2cad7e0509185e120667c0933156901f","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"^5.5.0","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.25.4","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.32.11","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.6.1_1754059829899_0.7432787111787778","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@convex-dev/polar","version":"0.6.2","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.6.2","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"2b8cecb8e65f2b586f3232e8783b1986e015d764","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.6.2.tgz","fileCount":94,"integrity":"sha512-EdtYWeKxhP8OIxp9paWMA+AyfiIHQnX5d6q1URyP+DsSyFJWvS6qy5aUTMx4h70L+irmA/KLlFk7dgW8hHl4Xw==","signatures":[{"sig":"MEQCIGoDz9gyzmMc8aJk2U9PTRIm7Tsntm5XtFnIFU0MScYtAiAHcFHCzfcDcR7QB9pb7earjLUkkuUvKQlCPO2OZrVcHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439436},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"fb9d6ba4fc4bd563e2015afb62c17cc2e7501ce2","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"^5.5.0","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.25.4","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.32.11","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.6.2_1754601455402_0.7583624214612306","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@convex-dev/polar","version":"0.6.3","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.6.3","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"c90be573a2e12e3ac0313526662795522cd7e52c","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.6.3.tgz","fileCount":94,"integrity":"sha512-9Yhc1U/A/mKazs6XZEzbfVEte5RAHN+OWd82MzoKE+GQX+344Lk6n5xMyph/4LU6HswNjXZbI8zmZ1hNeI0C3g==","signatures":[{"sig":"MEUCIEexV19dmS0+YemFJQPg9PHQNT7OkAh6Yhj2xeNwLQBhAiEAqNeKQodXb8dH5/jy/iAI2aiO4jLgcPB5ph1eo3ccb1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440886},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"b6ecdfb15ffe378d847dd371806a0cde9fa39d52","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"^5.5.0","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.25.4","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.32.11","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.6.3_1755365699660_0.5197039033119448","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@convex-dev/polar","version":"0.6.4","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.6.4","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ikhare","email":"ikhare@convex.dev"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"sshader","email":"sarah@convex.dev"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"eecaab14daa1e76fa8c0d071903fefaf33644173","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.6.4.tgz","fileCount":94,"integrity":"sha512-QXWe+URjSMIkJI9vB8u4ghNA3IPa1fCnlhP3lXg0kDV5CvW7imZx7TzXx2Yce9ZQA7EhMfSJH6GNBV7zYa7vhQ==","signatures":[{"sig":"MEYCIQC7p2pSTFBX3D9IdkT4BwM7+FSgE0hFEz53lhyBtfh/mAIhAKc9wIlCVtNmmot93anp+Y28KZ6KwGa33Ks872zXvRch","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442499},"main":"./dist/commonjs/client/index.js","type":"module","types":"./dist/commonjs/client/index.d.ts","module":"./dist/esm/client/index.js","exports":{".":{"import":{"types":"./dist/esm/client/index.d.ts","default":"./dist/esm/client/index.js","@convex-dev/component-source":"./src/client/index.ts"},"require":{"types":"./dist/commonjs/client/index.d.ts","default":"./dist/commonjs/client/index.js","@convex-dev/component-source":"./src/client/index.ts"}},"./react":{"import":{"types":"./dist/esm/react/index.d.ts","default":"./dist/esm/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"},"require":{"types":"./dist/commonjs/react/index.d.ts","default":"./dist/commonjs/react/index.js","@convex-dev/component-source":"./src/react/index.tsx"}},"./package.json":"./package.json","./convex.config":{"import":{"types":"./dist/esm/component/convex.config.d.ts","default":"./dist/esm/component/convex.config.js","@convex-dev/component-source":"./src/component/convex.config.ts"}}},"gitHead":"1d65712af9767ea446abff45e16aefbed00bb564","scripts":{"dev":"cd example; npm run dev","test":"vitest run","build":"npm run build:esm && npm run build:cjs","prepack":"node node10stubs.mjs","prepare":"npm run build","postpack":"node node10stubs.mjs --cleanup","build:cjs":"tsc --project ./commonjs.json && echo '{\\n  \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json","build:esm":"tsc --project ./esm.json && echo '{\\n  \"type\": \"module\"\\n}' > dist/esm/package.json","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","vitest":"^2.1.4","globals":"^15.9.0","prettier":"3.2.5","@eslint/js":"^9.9.1","typescript":"^5.5.0","@types/node":"^18.17.0","convex-test":"^0.0.33","@types/react":"^18.3.12","typescript-eslint":"^8.4.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.25.4","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.32.11","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.6.4_1756749346854_0.7364650007421103","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@convex-dev/polar","version":"0.7.1","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.7.1","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"b1f2dbabd1755395f498243212958a9513da9a0b","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.7.1.tgz","fileCount":59,"integrity":"sha512-YEiSdpdCnjk3oQHGy29WQrYoCnUx+uWs2IxzgQ1la3Plr49e9BnD5hsErkZ2aLKXqidieX3WTXdRPbQpI+VD2Q==","signatures":[{"sig":"MEUCIH4iMDZcfC+0s1Vzh4LRLO50wMjUk/t3FuuYx3glCrhWAiEAlD3OFVjjmimRCkfgeWCN252cmpDPe6zNMiq6M8scj7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283528},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"d07c1381be2fac3b116b5ac8a82d9eac7a5972bc","scripts":{"all":"run-p -r 'dev:*' 'test:watch'","dev":"run-p -r 'dev:*'","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm run clean && npm ci && run-p test lint typecheck && npm version prerelease --preid alpha && npm publish --tag alpha && git push --tags","build":"tsc --project ./tsconfig.build.json","clean":"rm -rf dist *.tsbuildinfo","predev":"npm run dev:backend -- --until-success","prepare":"npm run build","release":"npm run clean && npm ci && run-p test lint typecheck && npm version patch && npm publish && git push --tags","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'convex codegen --component-dir ./src/component && npm run build' --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","react":"^19.2.0","convex":"1.29.0","eslint":"^9.38.0","remeda":"^2.32.0","vitest":"^3.2.4","globals":"^15.15.0","postcss":"^8.5.6","prettier":"^3.2.5","react-dom":"^19.2.0","@eslint/js":"^9.38.0","typescript":"^5.9.3","@types/node":"20.19.24","convex-test":"^0.0.33","next-themes":"^0.4.6","npm-run-all":"^4.1.5","tailwindcss":"^4.1.17","@types/react":"^19.2.2","autoprefixer":"^10.4.21","chokidar-cli":"3.0.0","lucide-react":"^0.548.0","npm-run-all2":"8.0.4","use-debounce":"^10.0.6","@polar-sh/sdk":"^0.40.2","convex-helpers":"^0.1.104","tailwind-merge":"^3.3.1","@edge-runtime/vm":"5.0.0","@eslint/eslintrc":"^3.3.1","@types/react-dom":"^19.2.2","typescript-eslint":"^8.46.2","@polar-sh/checkout":"^0.1.14","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.17","@vitejs/plugin-react":"^5.1.0","@radix-ui/react-icons":"^1.3.2","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.15","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.7","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.24.8","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.32.11","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.7.1_1763063632330_0.6806383590224416","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@convex-dev/polar","version":"0.7.2","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.7.2","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"9c5ba6e2c54da47f07c5f4dfa31361b9ad52b5e7","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.7.2.tgz","fileCount":59,"integrity":"sha512-8FBUJyn8pygsNFyihXFVDbGj2+sDdsOzd++lZD2doAa4GduoJVSjKDzrd0BfTOhuNUPKz5CHBseU4foylHzzNQ==","signatures":[{"sig":"MEYCIQDB6wZJ0+k/Yq2xPFNVQxaIKS7QSg3zmdnpSCzbxTUtswIhAIQyOXJRd5uPdren9BAJWvmp6ky+n2A3+M33pf8MqY1/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291964},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"8e150e89c1013e4a354bc22fd5bcc1ca6262a943","scripts":{"all":"run-p -r 'dev:*' 'test:watch'","dev":"run-p -r 'dev:*'","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm run clean && npm ci && run-p test lint typecheck && npm version prerelease --preid alpha && npm publish --tag alpha && git push --tags","build":"tsc --project ./tsconfig.build.json","clean":"rm -rf dist *.tsbuildinfo","predev":"npm run dev:backend -- --until-success","prepare":"npm run build","release":"npm run clean && npm ci && run-p test lint typecheck && npm version patch && npm publish && git push --tags","version":"pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'convex codegen --component-dir ./src/component && npm run build' --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"11.6.2","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","react":"^19.2.0","convex":"1.29.0","eslint":"^9.38.0","remeda":"^2.32.0","vitest":"^3.2.4","globals":"^15.15.0","postcss":"^8.5.6","prettier":"^3.2.5","react-dom":"^19.2.0","@eslint/js":"^9.38.0","typescript":"^5.9.3","@types/node":"20.19.24","convex-test":"^0.0.33","next-themes":"^0.4.6","npm-run-all":"^4.1.5","tailwindcss":"^4.1.17","@types/react":"^19.2.2","autoprefixer":"^10.4.21","chokidar-cli":"3.0.0","lucide-react":"^0.548.0","npm-run-all2":"8.0.4","use-debounce":"^10.0.6","@polar-sh/sdk":"^0.41.5","convex-helpers":"^0.1.104","tailwind-merge":"^3.3.1","@edge-runtime/vm":"5.0.0","@eslint/eslintrc":"^3.3.1","@types/react-dom":"^19.2.2","typescript-eslint":"^8.46.2","@polar-sh/checkout":"^0.1.14","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.17","@vitejs/plugin-react":"^5.1.0","@radix-ui/react-icons":"^1.3.2","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.15","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.7","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.24.8","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.32.11","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.7.2_1764208819998_0.17044235678153608","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@convex-dev/polar","version":"0.7.3","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.7.3","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"53b80c00070b52c2e34e35343bc959debecb7e2e","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.7.3.tgz","fileCount":59,"integrity":"sha512-0WT8ty+vbo5WhPgvq2WyMucg00kqkkwfbQ+dvEu3B2E6uXLWzAwSBZgDiKDDnglNacEHvkKU4sMnNF7A4pyMiQ==","signatures":[{"sig":"MEUCIQDILq7myx+oWgV38mPYoA1h+9QahwH8Z7KQ/RBIevN0KgIgTqGO2TAieIm6l4SqQ50jMisCqpJxNtQ9ZBc4wuVPqX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292275},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"1da2d45458692c7762ce5961c8d0a20654b4c93f","scripts":{"all":"run-p -r 'dev:*' 'test:watch'","dev":"run-p -r 'dev:*'","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","clean":"rm -rf dist *.tsbuildinfo","predev":"convex dev --skip-push","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'npx convex codegen --component-dir ./src/component && npm run build' --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm run clean && npm ci && npm run build && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"23.1.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"6.4.1","react":"^19.2.0","convex":"1.29.3","eslint":"9.39.1","remeda":"^2.32.0","vitest":"3.2.4","cpy-cli":"^6.0.0","globals":"^16.5.0","postcss":"^8.5.6","prettier":"3.6.2","wrangler":"^4.45.2","react-dom":"^19.2.0","@eslint/js":"9.39.1","pkg-pr-new":"^0.0.60","typescript":"5.9.3","@types/node":"^20.19.25","convex-test":"0.0.40","next-themes":"^0.4.6","tailwindcss":"^4.1.17","@types/react":"^19.2.7","autoprefixer":"^10.4.21","chokidar-cli":"3.0.0","lucide-react":"^0.548.0","npm-run-all2":"8.0.4","use-debounce":"^10.0.6","@polar-sh/sdk":"^0.41.5","convex-helpers":"^0.1.104","tailwind-merge":"^3.4.0","tw-animate-css":"^1.4.0","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.1","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.1.17","typescript-eslint":"8.47.0","@polar-sh/checkout":"^0.1.14","eslint-plugin-react":"^7.37.5","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.17","@vitejs/plugin-react":"^5.1.1","@arethetypeswrong/cli":"^0.18.0","@radix-ui/react-icons":"^1.3.2","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.15","class-variance-authority":"^0.7.1","@convex-dev/eslint-plugin":"^1.0.0","@radix-ui/react-separator":"^1.1.7","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.29.0","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.32.11","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.7.3_1764282095891_0.33102448034323495","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@convex-dev/polar","version":"0.8.0","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.8.0","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"873562b220d38d5483b53257ef864a17c7bb6da2","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.8.0.tgz","fileCount":60,"integrity":"sha512-WBLCHybjsCuQhpcNTVMso5xiMbh+htnLa5igKsoOOKPKt9PGCUySPiinzq1GTAOh4zqd1Z4koVBl03k72aLfQQ==","signatures":[{"sig":"MEUCIQDkIKhLXnPJfcBzOIyqCOaihqs3pQWG7hHiFgXxAZYT1AIgJzFqS2rfnOwlQtrLKS/UioB9g5+fiQpZDTWsDGoD1YA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451722},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"98e9be0cb5ad610c9dca598777b834b7bebaac45","scripts":{"all":"run-p -r 'dev:*' 'test:watch'","dev":"run-p -r 'dev:*'","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","clean":"rm -rf dist *.tsbuildinfo","predev":"convex dev --skip-push","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'npx convex codegen --component-dir ./src/component && npm run build' --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm run clean && npm ci && npm run build && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.4","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"2.1.1","vite":"6.4.1","react":"19.2.4","convex":"1.31.7","eslint":"9.39.2","remeda":"2.33.5","vitest":"3.2.4","cpy-cli":"6.0.0","globals":"16.5.0","postcss":"8.5.6","prettier":"3.8.1","wrangler":"4.63.0","react-dom":"19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"0.0.63","typescript":"5.9.3","@types/node":"20.19.32","convex-test":"0.0.41","next-themes":"0.4.6","tailwindcss":"4.1.18","@types/react":"19.2.13","autoprefixer":"10.4.24","chokidar-cli":"3.0.0","lucide-react":"0.563.0","npm-run-all2":"8.0.4","use-debounce":"10.1.0","@polar-sh/sdk":"0.42.5","convex-helpers":"0.1.111","tailwind-merge":"3.4.0","tw-animate-css":"1.4.0","path-exists-cli":"2.0.0","@edge-runtime/vm":"5.0.0","@eslint/eslintrc":"3.3.3","@types/react-dom":"19.2.3","@tailwindcss/vite":"4.1.18","typescript-eslint":"8.54.0","@polar-sh/checkout":"0.2.0","eslint-plugin-react":"7.37.5","@radix-ui/react-slot":"1.2.4","@tailwindcss/postcss":"4.1.18","@vitejs/plugin-react":"5.1.3","@arethetypeswrong/cli":"0.18.2","@radix-ui/react-icons":"1.3.2","@tanstack/react-table":"8.21.3","@radix-ui/react-dialog":"1.1.15","class-variance-authority":"0.7.1","@convex-dev/eslint-plugin":"1.1.1","@radix-ui/react-separator":"1.1.8","eslint-plugin-react-hooks":"7.0.1","eslint-plugin-react-refresh":"0.5.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.29.0","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.35.4","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.8.0_1771091076631_0.0814333740901454","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@convex-dev/polar","version":"0.8.1","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.8.1","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"ballingt","email":"thomasballinger@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"e2e2f010a5cbcb680a0ae044f2b957c3828f5a64","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.8.1.tgz","fileCount":60,"integrity":"sha512-/7mD7RlU/1YIcVcLdafgrt+VXQ9LunB4U7X3IOzlVTs22BWLjeuil3Df06YXo1wnaL9nDhhOUm2ZMz4wo46p1g==","signatures":[{"sig":"MEQCIFhLs7xqTMVxpSiyVvPvgKXIqNfM1sja9Od7y9rvPXh1AiBBvoaCQPti3qyPmOsUteYTTMt4f14es1B/Iuhnk0jXjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":456362},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"ecede503475dfb429f9b25b9c7d0372d3fa28033","scripts":{"all":"run-p -r 'dev:*' 'test:watch'","dev":"run-p -r 'dev:*'","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","clean":"rm -rf dist *.tsbuildinfo","predev":"convex dev --skip-push","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'npx convex codegen --component-dir ./src/component && npm run build' --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm run clean && npm ci && npm run build && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"10.9.4","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"2.1.1","vite":"6.4.1","react":"19.2.4","convex":"1.31.7","eslint":"9.39.2","remeda":"2.33.5","vitest":"3.2.4","cpy-cli":"6.0.0","globals":"16.5.0","postcss":"8.5.6","prettier":"3.8.1","wrangler":"4.63.0","react-dom":"19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"0.0.63","typescript":"5.9.3","@types/node":"20.19.32","convex-test":"0.0.41","next-themes":"0.4.6","tailwindcss":"4.1.18","@types/react":"19.2.13","autoprefixer":"10.4.24","chokidar-cli":"3.0.0","lucide-react":"0.563.0","npm-run-all2":"8.0.4","use-debounce":"10.1.0","@polar-sh/sdk":"0.42.5","convex-helpers":"0.1.111","tailwind-merge":"3.4.0","tw-animate-css":"1.4.0","path-exists-cli":"2.0.0","@edge-runtime/vm":"5.0.0","@eslint/eslintrc":"3.3.3","@types/react-dom":"19.2.3","@tailwindcss/vite":"4.1.18","typescript-eslint":"8.54.0","@polar-sh/checkout":"0.2.0","eslint-plugin-react":"7.37.5","@radix-ui/react-slot":"1.2.4","@tailwindcss/postcss":"4.1.18","@vitejs/plugin-react":"5.1.3","@arethetypeswrong/cli":"0.18.2","@radix-ui/react-icons":"1.3.2","@tanstack/react-table":"8.21.3","@radix-ui/react-dialog":"1.1.15","class-variance-authority":"0.7.1","@convex-dev/eslint-plugin":"1.1.1","@radix-ui/react-separator":"1.1.8","eslint-plugin-react-hooks":"7.0.1","eslint-plugin-react-refresh":"0.5.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.29.0","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.35.4","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.8.1_1771113061878_0.8066318960967684","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@convex-dev/polar","version":"0.9.0","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.9.0","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"3801ffd3fb092a0522814dbfed5a158bc0d19b26","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.9.0.tgz","fileCount":67,"integrity":"sha512-rXmTrV7nPi0LL0ZCGHedmpyp3JdzU/i8rHw22A6HcJr4p3TVdWhVn4duBHI3sbCZgN1JxqkZIPQjF6JtZd84mg==","signatures":[{"sig":"MEQCIGPnCCU+Bn1lXhfUVlCLjk51+YNDaqFNy83gerrpPOxHAiAO4cREc97IPPTkg5UJ5pbWKkEeYTa0uBNPeClg7uCybQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":479194},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"61797c165d78efdf746cac45d94a4d0f05f5b3f9","scripts":{"all":"run-p -r 'dev:*' 'test:watch'","dev":"run-p -r 'dev:*'","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","clean":"rm -rf dist *.tsbuildinfo","predev":"convex dev --skip-push","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'npx convex codegen --component-dir ./src/component && npm run build' --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm run clean && npm ci && npm run build && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"11.11.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"2.1.1","vite":"6.4.1","react":"19.2.4","convex":"1.31.7","eslint":"9.39.2","remeda":"2.33.5","vitest":"3.2.4","cpy-cli":"6.0.0","globals":"16.5.0","postcss":"8.5.6","prettier":"3.8.1","wrangler":"4.63.0","react-dom":"19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"0.0.63","typescript":"5.9.3","@types/node":"20.19.32","convex-test":"0.0.41","next-themes":"0.4.6","tailwindcss":"4.1.18","@types/react":"19.2.13","autoprefixer":"10.4.24","chokidar-cli":"3.0.0","lucide-react":"0.563.0","npm-run-all2":"8.0.4","use-debounce":"10.1.0","@polar-sh/sdk":"0.45.0","convex-helpers":"0.1.111","tailwind-merge":"3.4.0","tw-animate-css":"1.4.0","path-exists-cli":"2.0.0","@edge-runtime/vm":"5.0.0","@eslint/eslintrc":"3.3.3","@types/react-dom":"19.2.3","@tailwindcss/vite":"4.1.18","typescript-eslint":"8.54.0","@polar-sh/checkout":"0.2.0","eslint-plugin-react":"7.37.5","@radix-ui/react-slot":"1.2.4","@tailwindcss/postcss":"4.1.18","@vitejs/plugin-react":"5.1.3","@arethetypeswrong/cli":"0.18.2","@radix-ui/react-icons":"1.3.2","@tanstack/react-table":"8.21.3","@radix-ui/react-dialog":"1.1.15","class-variance-authority":"0.7.1","@convex-dev/eslint-plugin":"1.1.1","@radix-ui/react-separator":"1.1.8","eslint-plugin-react-hooks":"7.0.1","eslint-plugin-react-refresh":"0.5.0"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.29.0","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.45.0","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.9.0_1774290700932_0.6863257702522754","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@convex-dev/polar","version":"0.9.1","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.9.1","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"aa82aa5b6cd28f92f09235d1614e82887110a6ca","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.9.1.tgz","fileCount":67,"integrity":"sha512-458Y6fxa98nyBJTkZ3ofylAwkYbzTMiixtKnz13ZOcsuJ+UFntTbtVDdr+0nTFgh9XkeccjI0hOmvUH8P0rCGg==","signatures":[{"sig":"MEQCIFZS+Hf1iN7mfbHI5jb73V1J7T1X9E1H/PFaUXmp7zNvAiBQjHm2HhlY8NwesXW4Ri3kw0iLe+4J/VSQjFRy4ztDIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":480087},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"5fd4a10c695551902209e8b36e063980387c542f","scripts":{"dev":"convex dev --start 'npm run dev:build'","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"convex init && npm run build:codegen","release":"npm version patch && npm publish && git push --follow-tags","version":"(npm whoami || npm login) && vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'npm run build:codegen' --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && npm run test && npm run lint && npm run typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"rm -rf dist *.tsbuildinfo && npm run build:codegen","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"erquhart","email":"shawn@erquh.art"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"11.11.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"2.1.1","vite":"8.0.8","react":"19.2.5","convex":"1.35.1","eslint":"9.39.4","remeda":"2.33.7","vitest":"4.1.4","globals":"17.5.0","postcss":"8.5.9","prettier":"3.8.3","wrangler":"4.82.2","react-dom":"19.2.5","@eslint/js":"9.39.4","pkg-pr-new":"0.0.66","typescript":"5.9.3","@types/node":"24.12.2","convex-test":"0.0.48","next-themes":"0.4.6","tailwindcss":"4.2.2","@types/react":"19.2.14","autoprefixer":"10.5.0","chokidar-cli":"3.0.0","lucide-react":"1.8.0","use-debounce":"10.1.1","@polar-sh/sdk":"0.47.0","convex-helpers":"0.1.114","tailwind-merge":"3.5.0","tw-animate-css":"1.4.0","@edge-runtime/vm":"5.0.0","@eslint/eslintrc":"3.3.5","@types/react-dom":"19.2.3","@tailwindcss/vite":"4.2.2","typescript-eslint":"8.58.2","@polar-sh/checkout":"0.2.0","eslint-plugin-react":"7.37.5","@radix-ui/react-slot":"1.2.4","@tailwindcss/postcss":"4.2.2","@vitejs/plugin-react":"6.0.1","@arethetypeswrong/cli":"0.18.2","@radix-ui/react-icons":"1.3.2","@tanstack/react-table":"8.21.3","@radix-ui/react-dialog":"1.1.15","class-variance-authority":"0.7.1","@convex-dev/eslint-plugin":"2.0.0","@radix-ui/react-separator":"1.1.8","eslint-plugin-react-hooks":"7.0.1","eslint-plugin-react-refresh":"0.5.2"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.29.0","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.45.0","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.9.1_1777829260213_0.7042768222866826","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@convex-dev/polar","version":"0.9.2","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"license":"Apache-2.0","_id":"@convex-dev/polar@0.9.2","maintainers":[{"name":"cowling","email":"james@convex.dev"},{"name":"jordanhunt","email":"jordan@convex.dev"},{"name":"gautamg795","email":"gautam@convex.dev"},{"name":"emmaling27","email":"emma@convex.dev"},{"name":"nipunn","email":"nipunn1313@gmail.com"},{"name":"aritrakh","email":"aritrakh@gmail.com"},{"name":"ianatconvex","email":"ian@convex.dev"},{"name":"dowski-convex","email":"christian@convex.dev"},{"name":"reece-convex","email":"reece@convex.dev"},{"name":"erquhart","email":"shawn@erquh.art"},{"name":"sethconvex","email":"seth@convex.dev"},{"name":"jamwt","email":"jamwt@convex.dev"},{"name":"nicolapps","email":"nicolas@ettlin.dev"}],"homepage":"https://github.com/get-convex/polar#readme","bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"dist":{"shasum":"2cc7c942d762d84e489578cfdc667ccb7051d134","tarball":"https://registry.npmjs.org/@convex-dev/polar/-/polar-0.9.2.tgz","fileCount":67,"integrity":"sha512-E9VOJ57aaFOkvUwJXp+4MlyEWlMYnfiqu8jzN8k+LxMFHr+9AMKljszllhaE53yBGSLe5kBsxzIjhc56BZEKUA==","signatures":[{"sig":"MEQCIGEPTAb9clrsvEOX6yftqQMm6ryEFO9h6gi30aixxPM9AiApTdhYrl/pVO21+uN3M85bX0tW1I5cji9sa/X6izmKBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":480242},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"1e0685afe13f68b0b877e4cb750bed1f7af74500","scripts":{"dev":"convex dev --start 'npm run dev:build'","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"convex init && npm run build:codegen","release":"npm version patch && npm publish && git push --follow-tags","version":"(npm whoami || npm login) && vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'npm run build:codegen' --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && npm run test && npm run lint && npm run typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"rm -rf dist *.tsbuildinfo && npm run build:codegen","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text"},"_npmUser":{"name":"ianatconvex","email":"ian@convex.dev"},"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"_npmVersion":"11.11.0","description":"A Polar component for Convex.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"buffer":"^6.0.3","remeda":"^2.20.2","convex-helpers":"^0.1.63","standardwebhooks":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"2.1.1","vite":"8.0.8","react":"19.2.5","convex":"1.35.1","eslint":"9.39.4","remeda":"2.33.7","vitest":"4.1.4","globals":"17.5.0","postcss":"8.5.9","prettier":"3.8.3","wrangler":"4.82.2","react-dom":"19.2.5","@eslint/js":"9.39.4","pkg-pr-new":"0.0.66","typescript":"5.9.3","@types/node":"24.12.2","convex-test":"0.0.48","next-themes":"0.4.6","tailwindcss":"4.2.2","@types/react":"19.2.14","autoprefixer":"10.5.0","chokidar-cli":"3.0.0","lucide-react":"1.8.0","use-debounce":"10.1.1","@polar-sh/sdk":"0.47.0","convex-helpers":"0.1.114","tailwind-merge":"3.5.0","tw-animate-css":"1.4.0","@edge-runtime/vm":"5.0.0","@eslint/eslintrc":"3.3.5","@types/react-dom":"19.2.3","@tailwindcss/vite":"4.2.2","typescript-eslint":"8.58.2","@polar-sh/checkout":"0.2.0","eslint-plugin-react":"7.37.5","@radix-ui/react-slot":"1.2.4","@tailwindcss/postcss":"4.2.2","@vitejs/plugin-react":"6.0.1","@arethetypeswrong/cli":"0.18.2","@radix-ui/react-icons":"1.3.2","@tanstack/react-table":"8.21.3","@radix-ui/react-dialog":"1.1.15","class-variance-authority":"0.7.1","@convex-dev/eslint-plugin":"2.0.0","@radix-ui/react-separator":"1.1.8","eslint-plugin-react-hooks":"7.0.1","eslint-plugin-react-refresh":"0.5.2"},"peerDependencies":{"react":"^18 || ^19","convex":"^1.29.0","react-dom":"^18 || ^19","@polar-sh/sdk":">=0.45.0","@polar-sh/checkout":">=0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/polar_0.9.2_1782346165220_0.07724976865189248","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-04-05T00:19:10.320Z","modified":"2026-09-16T18:54:56.603Z","0.4.2":"2025-04-05T00:19:10.621Z","0.4.3":"2025-04-09T13:23:23.466Z","0.4.4":"2025-04-22T21:29:26.559Z","0.4.5":"2025-05-25T16:13:33.462Z","0.4.7":"2025-06-02T16:46:40.499Z","0.5.0":"2025-06-17T02:33:07.845Z","0.6.0":"2025-07-25T13:45:16.513Z","0.6.1":"2025-08-01T14:50:30.087Z","0.6.2":"2025-08-07T21:17:35.629Z","0.6.3":"2025-08-16T17:34:59.864Z","0.6.4":"2025-09-01T17:55:47.059Z","0.7.1":"2025-11-13T19:53:52.528Z","0.7.2":"2025-11-27T02:00:20.200Z","0.7.3":"2025-11-27T22:21:36.091Z","0.8.0":"2026-02-14T17:44:36.848Z","0.8.1":"2026-02-14T23:51:02.056Z","0.9.0":"2026-03-23T18:31:41.083Z","0.9.1":"2026-05-03T17:27:40.367Z","0.9.2":"2026-06-25T00:09:25.364Z"},"bugs":{"url":"https://github.com/get-convex/polar/issues","email":"support@convex.dev"},"license":"Apache-2.0","homepage":"https://github.com/get-convex/polar#readme","keywords":["convex","component","polar","stripe","subscription","billing","payments","checkout"],"repository":{"url":"git+https://github.com/get-convex/polar.git","type":"git"},"description":"A Polar component for Convex.","maintainers":[{"email":"james@convex.dev","name":"cowling"},{"email":"jordan@convex.dev","name":"jordanhunt"},{"email":"gautam@convex.dev","name":"gautamg795"},{"email":"emma@convex.dev","name":"emmaling27"},{"email":"nipunn1313@gmail.com","name":"nipunn"},{"email":"aritrakh@gmail.com","name":"aritrakh"},{"email":"ian@convex.dev","name":"ianatconvex"},{"email":"christian@convex.dev","name":"dowski-convex"},{"email":"reece@convex.dev","name":"reece-convex"},{"email":"ayush@convex.dev","name":"ayushdewanconvex"},{"email":"shawn@erquh.art","name":"erquhart"},{"email":"seth@convex.dev","name":"sethconvex"},{"email":"andy@convex.dev","name":"andycai-convex"},{"email":"mike@wheaton.dev","name":"mikewheaton"},{"email":"jamwt@convex.dev","name":"jamwt"},{"email":"nicolas@ettlin.dev","name":"nicolapps"}],"readme":"# Convex Polar Component [![npm version](https://badge.fury.io/js/@convex-dev%2Fpolar.svg)](https://badge.fury.io/js/@convex-dev%2Fpolar)\n\nAdd subscriptions and billing to your Convex app with [Polar](https://polar.sh).\n\n**Check out the [example app](example) for a complete example.**\n\n```tsx\n// Get subscription details for the current user\n// Note: getCurrentSubscription is for apps that only allow one active\n// subscription per user. If you need to support multiple active\n// subscriptions, use listUserSubscriptions instead.\nconst {\n  productKey,\n  status,\n  currentPeriodEnd,\n  currentPeriodStart,\n  ...\n} = await polar.getCurrentSubscription(ctx, {\n  userId: user._id,\n});\n\n// Show available plans\n<CheckoutLink\n  polarApi={api.example}\n  productIds={[products.premiumMonthly.id, products.premiumYearly.id]}\n  // Optional: turn off embedding to link to a checkout page\n  embed={false}\n>\n  Upgrade to Premium\n</CheckoutLink>\n\n// Manage existing subscriptions\n<CustomerPortalLink polarApi={api.example}>\n  Manage Subscription\n</CustomerPortalLink>\n```\n\n## Prerequisites\n\n### Convex App\n\nYou'll need a Convex App to use the component. Follow any of the\n[Convex quickstarts](https://docs.convex.dev/home) to set one up.\n\n### Polar Account\n\n- [Create a Polar account](https://polar.sh)\n- Create an organization and generate an organization token with permissions:\n  - `products:read`\n  - `products:write`\n  - `subscriptions:read`\n  - `subscriptions:write`\n  - `customers:read`\n  - `customers:write`\n  - `checkouts:read`\n  - `checkouts:write`\n  - `checkout_links:read`\n  - `checkout_links:write`\n  - `customer_portal:read`\n  - `customer_portal:write`\n  - `customer_sessions:write`\n\n## Installation\n\nInstall the component package:\n\n```ts\nnpm install @convex-dev/polar\n```\n\nCreate a `convex.config.ts` file in your app's `convex/` folder and install the\ncomponent by calling `app.use`:\n\n```ts\n// convex/convex.config.ts\nimport { defineApp } from \"convex/server\";\nimport polar from \"@convex-dev/polar/convex.config.js\";\n\nconst app = defineApp();\napp.use(polar);\n\nexport default app;\n```\n\nSet your Polar organization token:\n\n```sh\nnpx convex env set POLAR_ORGANIZATION_TOKEN xxxxx\n```\n\n## Usage\n\n### Set up Polar webhooks\n\nThe Polar component uses webhooks to keep subscription data in sync. You'll need\nto:\n\n1. Create a webhook and webhook secret in the Polar dashboard, using your\n   [Convex site URL](https://docs.convex.dev/production/environment-variables#system-environment-variables) +\n   `/polar/events` as the webhook endpoint. It should look like this:\n   `https://verb-noun-123.convex.site/polar/events`\n\n   Enable the following events:\n\n   - `product.created`\n   - `product.updated`\n   - `subscription.created`\n   - `subscription.updated`\n\n2. Set the webhook secret in your Convex environment:\n\n```sh\nnpx convex env set POLAR_WEBHOOK_SECRET xxxxx\n```\n\n3. Register the webhook handler in your `convex/http.ts`:\n\n```ts\nimport { httpRouter } from \"convex/server\";\nimport { polar } from \"./example\";\n\nconst http = httpRouter();\n\n// Register the webhook handler at /polar/events\npolar.registerRoutes(http as any);\n\nexport default http;\n```\n\nYou can also provide typesafe handlers for any Polar webhook event via the\n`events` option. Handlers receive the fully typed event payload based on the\nevent key:\n\n```ts\npolar.registerRoutes(http, {\n  // Optional custom path, default is \"/polar/events\"\n  path: \"/polar/events\",\n  events: {\n    \"subscription.updated\": async (ctx, event) => {\n      // event.data is typed as Subscription\n      if (event.data.customerCancellationReason) {\n        console.log(\"Customer cancelled:\", event.data.customerCancellationReason);\n      }\n    },\n    \"order.created\": async (ctx, event) => {\n      // event.data is typed as Order\n      console.log(\"New order:\", event.data.id);\n    },\n  },\n});\n```\n\n4. Be sure to run `npx convex dev` to start your Convex app with the Polar\n   component enabled, which will deploy the webhook handler to your Convex\n   instance.\n\n### Create products in Polar\n\nCreate a product in the Polar dashboard for each pricing plan that you want to\noffer. The product data will be synced to your Convex app automatically.\n\nThe component supports all Polar price types: fixed, free, custom\n(pay-what-you-want), seat-based, and metered. Products can also include\nbenefits and free trial periods configured in the Polar dashboard or at\ncheckout time.\n\nProducts created prior to using this component need to be synced with Convex\nusing the `syncProducts` function.\n\n### Initialize the Polar client\n\nCreate a Polar client in your Convex backend:\n\n```ts\n// convex/example.ts\nimport { Polar } from \"@convex-dev/polar\";\nimport { api, components } from \"./_generated/api\";\nimport { DataModel } from \"./_generated/dataModel\";\n\nexport const polar = new Polar<DataModel>(components.polar, {\n  // Required: provide a function the component can use to get the current user's ID and\n  // email - this will be used for retrieving the correct subscription data for the\n  // current user. The function should return an object with `userId` and `email`\n  // properties.\n  getUserInfo: async (ctx) => {\n    const user = await ctx.runQuery(api.example.getCurrentUser);\n    return {\n      userId: user._id,\n      email: user.email,\n    };\n  },\n  // Optional: Configure static keys for referencing your products.\n  // Alternatively you can use the `listAllProducts` function to get\n  // the product data and sort it out in your UI however you like\n  // (eg., by price, name, recurrence, etc.).\n  // Map your product keys to Polar product IDs (you can also use env vars for this)\n  // Replace these keys with whatever is useful for your app (eg., \"pro\", \"proMonthly\",\n  // whatever you want), and replace the values with the actual product IDs from your\n  // Polar dashboard\n  products: {\n    premiumMonthly: \"product_id_from_polar\",\n    premiumYearly: \"product_id_from_polar\",\n    premiumPlusMonthly: \"product_id_from_polar\",\n    premiumPlusYearly: \"product_id_from_polar\",\n  },\n  // Optional: Set Polar configuration directly in code\n  organizationToken: \"your_organization_token\", // Defaults to POLAR_ORGANIZATION_TOKEN env var\n  webhookSecret: \"your_webhook_secret\", // Defaults to POLAR_WEBHOOK_SECRET env var\n  server: \"sandbox\", // Optional: \"sandbox\" or \"production\", defaults to POLAR_SERVER env var\n});\n\n// Export API functions from the Polar client\nexport const {\n  changeCurrentSubscription,\n  cancelCurrentSubscription,\n  getConfiguredProducts,\n  listAllProducts,\n  listAllSubscriptions,\n  generateCheckoutLink,\n  generateCustomerPortalUrl,\n} = polar.api();\n```\n\n### Display products and prices\n\nUse the exported `getConfiguredProducts` or `listAllProducts` function to display\nyour products and their prices:\n\n#### `getConfiguredProducts`\n\n```tsx\n// Simple example of displaying products and prices if you've configured\n// products by key in the Polar constructor\nfunction PricingTable() {\n  const products = useQuery(api.example.getConfiguredProducts);\n  if (!products) return null;\n\n  return (\n    <div>\n      {products.premiumMonthly && (\n        <div>\n          <h3>{products.premiumMonthly.name}</h3>\n          <p>\n            ${(products.premiumMonthly.prices[0].priceAmount ?? 0) / 100}/month\n          </p>\n        </div>\n      )}\n      {products.premiumYearly && (\n        <div>\n          <h3>{products.premiumYearly.name}</h3>\n          <p>\n            ${(products.premiumYearly.prices[0].priceAmount ?? 0) / 100}/year\n          </p>\n        </div>\n      )}\n    </div>\n  );\n}\n```\n\n#### `listAllProducts`\n\n```tsx\n// Simple example of displaying products and prices if you haven't configured\n// products by key in the Polar constructor\nfunction PricingTable() {\n  const products = useQuery(api.example.listAllProducts);\n  if (!products) return null;\n\n  // You can sort through products in the client as below, or you can use\n  // `polar.listAllProducts` in your own Convex query and return your desired\n  // products to display in the UI.\n  const proMonthly = products.find(\n    (p) => p.prices[0].recurringInterval === \"month\",\n  );\n  const proYearly = products.find(\n    (p) => p.prices[0].recurringInterval === \"year\",\n  );\n  return (\n    <div>\n      {proMonthly && (\n        <div>\n          <h3>{proMonthly.name}</h3>\n          <p>\n            ${(proMonthly.prices[0].priceAmount ?? 0) / 100}/\n            {proMonthly.prices[0].recurringInterval}\n          </p>\n        </div>\n      )}\n      {proYearly && (\n        <div>\n          <h3>{proYearly.name}</h3>\n          <p>${(proYearly.prices[0].priceAmount ?? 0) / 100}/year</p>\n        </div>\n      )}\n    </div>\n  );\n}\n```\n\nEach product includes:\n\n- `id`: The Polar product ID\n- `name`: The product name\n- `description`: Product description\n- `isRecurring`: Whether the product is a subscription\n- `recurringInterval`: Billing interval (e.g., \"month\", \"year\")\n- `trialInterval`: Trial period interval (if configured)\n- `trialIntervalCount`: Number of trial intervals (if configured)\n- `benefits`: Array of product benefits (description, type, etc.)\n- `prices`: Array of prices, each with an `amountType` that determines available fields:\n  - **fixed**: `priceAmount` (in cents), `priceCurrency`\n  - **free**: No amount fields\n  - **custom**: `minimumAmount`, `maximumAmount`, `presetAmount`, `priceCurrency`\n  - **seat_based**: `seatTiers` (array of `{ minSeats, maxSeats, pricePerSeat }`), `priceCurrency`\n  - **metered_unit**: `unitAmount`, `capAmount`, `meterId`, `meter` (`{ id, name }`), `priceCurrency`\n\n### Add subscription UI components\n\nUse the provided React components to add subscription functionality to your app:\n\n```tsx\nimport { CheckoutLink, CustomerPortalLink } from \"@convex-dev/polar/react\";\nimport { api } from \"../convex/_generated/api\";\n\n// For new subscriptions\n<CheckoutLink\n  // For our example, the api.example object includes the generateCheckoutLink\n  // function. You can also pass any object that includes this function.\n  polarApi={api.example}\n  productIds={[products.premiumMonthly.id, products.premiumYearly.id]}\n  // Optional: turn off embedding to link to a checkout page\n  embed={false}\n>\n  Upgrade to Premium\n</CheckoutLink>\n\n// With a free trial\n<CheckoutLink\n  polarApi={api.example}\n  productIds={[products.premiumMonthly.id]}\n  trialInterval=\"day\"\n  trialIntervalCount={7}\n>\n  Start 7-day free trial\n</CheckoutLink>\n\n// Lazy mode: generates checkout URL on click instead of on mount.\n// Useful when rendering many checkout links to avoid rate limits.\n<CheckoutLink\n  polarApi={api.example}\n  productIds={[products.premiumMonthly.id]}\n  lazy\n>\n  Subscribe\n</CheckoutLink>\n\n// For managing existing subscriptions\n<CustomerPortalLink\n  polarApi={{\n    generateCustomerPortalUrl: api.example.generateCustomerPortalUrl,\n  }}\n>\n  Manage Subscription\n</CustomerPortalLink>\n```\n\n### Handle subscription changes\n\nThe Polar component provides functions to handle subscription changes for the\ncurrent user.\n\n**Note:** It is highly recommended to prompt the user for confirmation before\nchanging their subscription this way!\n\n```ts\n// Change subscription\nconst changeSubscription = useAction(api.example.changeCurrentSubscription);\nawait changeSubscription({ productId: \"new_product_id\" });\n\n// Cancel subscription (works for both active and trialing subscriptions)\nconst cancelSubscription = useAction(api.example.cancelCurrentSubscription);\nawait cancelSubscription({ revokeImmediately: true });\n```\n\n### Access subscription data\n\nQuery subscription information in your app:\n\n```ts\n// convex/example.ts\n\n// A query that returns a user with their subscription details\nexport const getCurrentUser = query({\n  handler: async (ctx) => {\n    const user = await ctx.db.query(\"users\").first();\n    if (!user) throw new Error(\"No user found\");\n\n    const subscription = await polar.getCurrentSubscription(ctx, {\n      userId: user._id,\n    });\n\n    return {\n      ...user,\n      subscription,\n      isFree: !subscription,\n      isPremium:\n        subscription?.productKey === \"premiumMonthly\" ||\n        subscription?.productKey === \"premiumYearly\",\n    };\n  },\n});\n```\n\n## API Reference\n\n### Polar Client\n\nThe `Polar` class accepts a configuration object with:\n\n- `getUserInfo`: Function to get the current user's ID and email\n- `products`: (Optional) Map of arbitrarily named keys to Polar product IDs\n- `organizationToken`: (Optional) Your Polar organization token. Falls back to\n  `POLAR_ORGANIZATION_TOKEN` env var\n- `webhookSecret`: (Optional) Your Polar webhook secret. Falls back to\n  `POLAR_WEBHOOK_SECRET` env var\n- `server`: (Optional) Polar server environment: \"sandbox\" or \"production\".\n  Falls back to `POLAR_SERVER` env var\n\n### React Components\n\n#### CheckoutLink\n\nProps:\n\n- `polarApi`: Object containing `generateCheckoutLink` function\n- `productIds`: Array of product IDs to show in the checkout\n- `children`: React children (button content)\n- `embed`: (Optional) Whether to embed the checkout. Defaults to `true`.\n- `lazy`: (Optional) Defer checkout URL generation until click. Useful when\n  rendering many links. Defaults to `false`.\n- `theme`: (Optional) Embedded checkout theme: `\"dark\"` or `\"light\"`. Defaults\n  to `\"dark\"`.\n- `trialInterval`: (Optional) Trial period interval: `\"day\"`, `\"week\"`,\n  `\"month\"`, or `\"year\"`.\n- `trialIntervalCount`: (Optional) Number of trial intervals (e.g., `7` for 7\n  days).\n- `className`: (Optional) CSS class name\n- `subscriptionId`: (Optional) ID of a subscription to upgrade. It must be on a\n  free pricing.\n- `metadata`: (Optional) Metadata for additional information to the checkout\n- `locale`: (Optional) Locale for the checkout page (e.g., `\"fr\"`, `\"de\"`)\n\n#### CustomerPortalLink\n\nProps:\n\n- `polarApi`: Object containing `generateCustomerPortalUrl` function\n- `children`: React children (button content)\n- `className`: (Optional) CSS class name\n\n### API Functions\n\nThe functions below are class methods on the `Polar` instance, used in your\nConvex backend code. The corresponding React-facing names (exported via\n`polar.api()`) are shown in the [initialization section](#initialize-the-polar-client)\nabove.\n\n#### changeCurrentSubscription\n\nChange an existing subscription to a new plan:\n\n```ts\nawait changeSubscription({ productId: \"new_product_id\" });\n```\n\n#### cancelCurrentSubscription\n\nCancel an active or trialing subscription:\n\n```ts\nawait cancelSubscription({ revokeImmediately: true });\n```\n\n#### getCurrentSubscription\n\nGet the current user's active subscription. Returns `null` if no active\nsubscription exists. Expired trials are excluded.\n\n```ts\nconst subscription = await polar.getCurrentSubscription(ctx, { userId });\n```\n\n#### listUserSubscriptions\n\nFor apps that support multiple active subscriptions per user. Returns active\nsubscriptions, excluding ended subscriptions and expired trials.\n\n```ts\nconst subscriptions = await polar.listUserSubscriptions(ctx, { userId });\n```\n\n#### listAllUserSubscriptions\n\nReturns all subscriptions for a user, including ended and expired trials. Useful\nfor displaying subscription history or distinguishing between \"never subscribed\"\nand \"trial expired\".\n\n```ts\nconst allSubscriptions = await polar.listAllUserSubscriptions(ctx, { userId });\n```\n\n#### getProduct\n\nGet a single product by its Polar product ID:\n\n```ts\nconst product = await polar.getProduct(ctx, { productId });\n```\n\n#### getCustomerByUserId\n\nGet the Polar customer record for a user:\n\n```ts\nconst customer = await polar.getCustomerByUserId(ctx, userId);\n```\n\n#### listProducts\n\nList all available products and their prices:\n\n```ts\nconst products = await polar.listProducts(ctx);\n```\n\n#### registerRoutes\n\nRegister webhook handlers for the Polar component:\n\n```ts\npolar.registerRoutes(http, {\n  // Optional: customize the webhook endpoint path (defaults to \"/polar/events\")\n  path: \"/custom/webhook/path\",\n  // Optional: typesafe handlers for any Polar webhook event\n  events: {\n    \"order.created\": async (ctx, event) => {\n      // event.data is typed as Order\n    },\n  },\n});\n```\n\nThe `events` option accepts handlers for any of the 30+ Polar webhook event\ntypes with full TypeScript inference on the event payload. Built-in handling\n(persisting subscriptions and products) always runs automatically regardless\nof which events you handle.\n\nThe webhook handler uses the `webhookSecret` from the Polar client configuration\nor the `POLAR_WEBHOOK_SECRET` environment variable.\n\n#### syncProducts\n\nSync existing products from Polar (must be run inside an action):\n\n```ts\nexport const syncProducts = action({\n  args: {},\n  handler: async (ctx) => {\n    await polar.syncProducts(ctx);\n  },\n});\n```\n","readmeFilename":"README.md"}