{"_id":"@allenthich/better-feature","_rev":"2-5af4052fd624856ebdf10bdc855ef761","name":"@allenthich/better-feature","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.3":{"name":"@allenthich/better-feature","version":"0.0.3","keywords":["feature","plugin","typescript"],"_id":"@allenthich/better-feature@0.0.3","maintainers":[{"name":"allenthich","email":"allenthich@gmail.com"}],"dist":{"shasum":"adef769ccf0b737bd8a153067fff9e71e9fd2efc","tarball":"https://registry.npmjs.org/@allenthich/better-feature/-/better-feature-0.0.3.tgz","fileCount":170,"integrity":"sha512-8Qh5lYn+rpwsgRi+oO4NPdgN54w3fHmkhe0JpugZ1JQkHN3Q6j3eIPaNn0JhCGX+F0dHb975WtSQWUYfY+S6iw==","signatures":[{"sig":"MEUCIQD0e6Sku0Cimb0V1l8e6DUPedFtw9dblrA9UXqEsyUgBwIgQcJvT+QcWi0sF2mV8WLjWZXRJE8VRUaK74PGO4cuUJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":673620},"main":"./dist/index.cjs","type":"module","_from":"file:allenthich-better-feature-0.0.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./db":{"import":{"types":"./dist/db/index.d.ts","default":"./dist/db/index.mjs"},"require":{"types":"./dist/db/index.d.cts","default":"./dist/db/index.cjs"}},"./api":{"import":{"types":"./dist/api/index.d.ts","default":"./dist/api/index.mjs"},"require":{"types":"./dist/api/index.d.cts","default":"./dist/api/index.cjs"}},"./vue":{"import":{"types":"./dist/client/vue/index.d.ts","default":"./dist/client/vue/index.mjs"},"require":{"types":"./dist/client/vue/index.d.cts","default":"./dist/client/vue/index.cjs"}},"./node":{"import":{"types":"./dist/integrations/node.d.ts","default":"./dist/integrations/node.mjs"},"require":{"types":"./dist/integrations/node.d.cts","default":"./dist/integrations/node.cjs"}},"./react":{"import":{"types":"./dist/client/react/index.d.ts","default":"./dist/client/react/index.mjs"},"require":{"types":"./dist/client/react/index.d.cts","default":"./dist/client/react/index.cjs"}},"./solid":{"import":{"types":"./dist/client/solid/index.d.ts","default":"./dist/client/solid/index.mjs"},"require":{"types":"./dist/client/solid/index.d.cts","default":"./dist/client/solid/index.cjs"}},"./types":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.mjs"},"require":{"types":"./dist/types/index.d.cts","default":"./dist/types/index.cjs"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.mjs"},"require":{"types":"./dist/client/index.d.cts","default":"./dist/client/index.cjs"}},"./crypto":{"import":{"types":"./dist/crypto/index.d.ts","default":"./dist/crypto/index.mjs"},"require":{"types":"./dist/crypto/index.d.cts","default":"./dist/crypto/index.cjs"}},"./svelte":{"import":{"types":"./dist/client/svelte/index.d.ts","default":"./dist/client/svelte/index.mjs"},"require":{"types":"./dist/client/svelte/index.d.cts","default":"./dist/client/svelte/index.cjs"}},"./next-js":{"import":{"types":"./dist/integrations/next-js.d.ts","default":"./dist/integrations/next-js.mjs"},"require":{"types":"./dist/integrations/next-js.d.cts","default":"./dist/integrations/next-js.cjs"}},"./plugins":{"import":{"types":"./dist/plugins/index.d.ts","default":"./dist/plugins/index.mjs"},"require":{"types":"./dist/plugins/index.d.cts","default":"./dist/plugins/index.cjs"}},"./adapters":{"import":{"types":"./dist/adapters/index.d.ts","default":"./dist/adapters/index.mjs"},"require":{"types":"./dist/adapters/index.d.cts","default":"./dist/adapters/index.cjs"}},"./svelte-kit":{"import":{"types":"./dist/integrations/svelte-kit.d.ts","default":"./dist/integrations/svelte-kit.mjs"},"require":{"types":"./dist/integrations/svelte-kit.d.cts","default":"./dist/integrations/svelte-kit.cjs"}},"./react-start":{"import":{"types":"./dist/integrations/react-start.d.ts","default":"./dist/integrations/react-start.mjs"},"require":{"types":"./dist/integrations/react-start.d.cts","default":"./dist/integrations/react-start.cjs"}},"./solid-start":{"import":{"types":"./dist/integrations/solid-start.d.ts","default":"./dist/integrations/solid-start.mjs"},"require":{"types":"./dist/integrations/solid-start.d.cts","default":"./dist/integrations/solid-start.cjs"}},"./adapters/test":{"import":{"types":"./dist/adapters/test.d.ts","default":"./dist/adapters/test.mjs"},"require":{"types":"./dist/adapters/test.d.cts","default":"./dist/adapters/test.cjs"}},"./client/plugins":{"import":{"types":"./dist/client/plugins/index.d.ts","default":"./dist/client/plugins/index.mjs"},"require":{"types":"./dist/client/plugins/index.d.cts","default":"./dist/client/plugins/index.cjs"}},"./adapters/memory":{"import":{"types":"./dist/adapters/memory-adapter/index.d.ts","default":"./dist/adapters/memory-adapter/index.mjs"},"require":{"types":"./dist/adapters/memory-adapter/index.d.cts","default":"./dist/adapters/memory-adapter/index.cjs"}},"./adapters/prisma":{"import":{"types":"./dist/adapters/prisma-adapter/index.d.ts","default":"./dist/adapters/prisma-adapter/index.mjs"},"require":{"types":"./dist/adapters/prisma-adapter/index.d.cts","default":"./dist/adapters/prisma-adapter/index.cjs"}},"./adapters/drizzle":{"import":{"types":"./dist/adapters/drizzle-adapter/index.d.ts","default":"./dist/adapters/drizzle-adapter/index.mjs"},"require":{"types":"./dist/adapters/drizzle-adapter/index.d.cts","default":"./dist/adapters/drizzle-adapter/index.cjs"}},"./adapters/mongodb":{"import":{"types":"./dist/adapters/mongodb-adapter/index.d.ts","default":"./dist/adapters/mongodb-adapter/index.mjs"},"require":{"types":"./dist/adapters/mongodb-adapter/index.d.cts","default":"./dist/adapters/mongodb-adapter/index.cjs"}}},"scripts":{"dev":"concurrently \"unbuild --watch\" \"npm run dev:types\"","bump":"bumpp","stub":"unbuild --stub","test":"vitest","build":"unbuild --clean","pretest":"pnpm prisma:normal:push && pnpm prisma:number-id:push","dev:types":"tsc --project tsconfig.declarations.json --watch","typecheck":"pnpm prisma:normal:push && pnpm prisma:number-id:push && tsc --noEmit","build:types":"tsc --project tsconfig.declarations.json","prisma:normal:push":"prisma db push --schema src/adapters/prisma-adapter/test/normal-tests/schema.prisma","prisma:number-id:push":"prisma db push --schema src/adapters/prisma-adapter/test/number-id-tests/schema.prisma"},"_npmUser":{"name":"allenthich","email":"allenthich@gmail.com"},"_resolved":"/tmp/a22f2dedfac915814aa0e834c2f83cb7/allenthich-better-feature-0.0.3.tgz","overrides":{"whatwg-url":"^14.0.0"},"_integrity":"sha512-8Qh5lYn+rpwsgRi+oO4NPdgN54w3fHmkhe0JpugZ1JQkHN3Q6j3eIPaNn0JhCGX+F0dHb975WtSQWUYfY+S6iw==","repository":{"type":"git","directory":"packages/better-feature","repository":"https://github.com/allenthich/better-feature.git"},"_npmVersion":"10.8.2","description":"Feature plugin library for TypeScript.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.24.1","defu":"^6.1.4","jose":"^5.9.6","kysely":"^0.28.1","nanostores":"^0.11.3","better-call":"^1.0.8","@noble/hashes":"^1.6.1","@noble/ciphers":"^0.6.0","@better-auth/utils":"0.2.5","@better-fetch/fetch":"^1.1.18","@simplewebauthn/server":"^13.0.0","@simplewebauthn/browser":"^13.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org","executableFiles":["./dist/index.cjs"]},"typesVersions":{"*":{"*":["./dist/index.d.ts"],"db":["./dist/db/index.d.ts"],"api":["./dist/api/index.d.ts"],"vue":["./dist/client/vue/index.d.ts"],"node":["./dist/integrations/node.d.ts"],"react":["./dist/client/react/index.d.ts"],"solid":["./dist/client/solid/index.d.ts"],"types":["./dist/types/index.d.ts"],"client":["./dist/client/index.d.ts"],"crypto":["./dist/crypto/index.d.ts"],"oauth2":["./dist/oauth2/index.d.ts"],"svelte":["./dist/client/svelte/index.d.ts"],"cookies":["./dist/cookies/index.d.ts"],"next-js":["./dist/integrations/next-js.d.ts"],"plugins":["./dist/plugins/index.d.ts"],"adapters":["./dist/adapters/index.d.ts"],"svelte-kit":["./dist/integrations/svelte-kit.d.ts"],"react-start":["./dist/integrations/react-start.d.ts"],"solid-start":["./dist/integrations/solid-start.d.ts"],"client/plugins":["./dist/client/plugins/index.d.ts"],"adapters/memory":["./dist/adapters/memory-adapter/index.d.ts"],"adapters/prisma":["./dist/adapters/prisma-adapter/index.d.ts"],"adapters/drizzle":["./dist/adapters/drizzle-adapter/index.d.ts"],"adapters/mongodb":["./dist/adapters/mongodb-adapter/index.d.ts"],"social-providers":["./dist/social-providers/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","vue":"^3.5.13","hono":"^4.6.13","next":"^15.2.3","tarn":"^3.0.2","react":"^19.0.0","mysql2":"^3.11.5","prisma":"^5.22.0","vitest":"^1.6.0","listhen":"^1.9.0","mongodb":"^6.11.0","tedious":"^18.6.1","unbuild":"^3.5.0","solid-js":"^1.9.3","@types/pg":"^8.11.10","happy-dom":"^15.11.7","typescript":"^5.7.3","drizzle-orm":"^0.38.2","@types/react":"^18.3.14","concurrently":"^9.1.2","react-native":"~0.74.6","@prisma/client":"^5.22.0","@types/prompts":"^2.4.9","better-sqlite3":"^11.6.0","oauth2-mock-server":"^7.2.0","@tanstack/react-start":"^1.114.34","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"tmp":"tmp/better-feature_0.0.3_1748417022498_0.08215927588045346","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@allenthich/better-feature","version":"0.0.9","description":"Feature plugin library for TypeScript.","type":"module","repository":{"type":"git","repository":"https://github.com/allenthich/better-feature.git","directory":"packages/better-feature"},"keywords":["feature","plugin","typescript"],"publishConfig":{"executableFiles":["./dist/index.cjs"],"access":"public","registry":"https://registry.npmjs.org"},"main":"./dist/index.cjs","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.mjs"},"require":{"types":"./dist/client/index.d.cts","default":"./dist/client/index.cjs"}},"./client/plugins":{"import":{"types":"./dist/client/plugins/index.d.ts","default":"./dist/client/plugins/index.mjs"},"require":{"types":"./dist/client/plugins/index.d.cts","default":"./dist/client/plugins/index.cjs"}},"./types":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.mjs"},"require":{"types":"./dist/types/index.d.cts","default":"./dist/types/index.cjs"}},"./crypto":{"import":{"types":"./dist/crypto/index.d.ts","default":"./dist/crypto/index.mjs"},"require":{"types":"./dist/crypto/index.d.cts","default":"./dist/crypto/index.cjs"}},"./react":{"import":{"types":"./dist/client/react/index.d.ts","default":"./dist/client/react/index.mjs"},"require":{"types":"./dist/client/react/index.d.cts","default":"./dist/client/react/index.cjs"}},"./solid":{"import":{"types":"./dist/client/solid/index.d.ts","default":"./dist/client/solid/index.mjs"},"require":{"types":"./dist/client/solid/index.d.cts","default":"./dist/client/solid/index.cjs"}},"./api":{"import":{"types":"./dist/api/index.d.ts","default":"./dist/api/index.mjs"},"require":{"types":"./dist/api/index.d.cts","default":"./dist/api/index.cjs"}},"./db":{"import":{"types":"./dist/db/index.d.ts","default":"./dist/db/index.mjs"},"require":{"types":"./dist/db/index.d.cts","default":"./dist/db/index.cjs"}},"./vue":{"import":{"types":"./dist/client/vue/index.d.ts","default":"./dist/client/vue/index.mjs"},"require":{"types":"./dist/client/vue/index.d.cts","default":"./dist/client/vue/index.cjs"}},"./plugins":{"import":{"types":"./dist/plugins/index.d.ts","default":"./dist/plugins/index.mjs"},"require":{"types":"./dist/plugins/index.d.cts","default":"./dist/plugins/index.cjs"}},"./svelte-kit":{"import":{"types":"./dist/integrations/svelte-kit.d.ts","default":"./dist/integrations/svelte-kit.mjs"},"require":{"types":"./dist/integrations/svelte-kit.d.cts","default":"./dist/integrations/svelte-kit.cjs"}},"./solid-start":{"import":{"types":"./dist/integrations/solid-start.d.ts","default":"./dist/integrations/solid-start.mjs"},"require":{"types":"./dist/integrations/solid-start.d.cts","default":"./dist/integrations/solid-start.cjs"}},"./svelte":{"import":{"types":"./dist/client/svelte/index.d.ts","default":"./dist/client/svelte/index.mjs"},"require":{"types":"./dist/client/svelte/index.d.cts","default":"./dist/client/svelte/index.cjs"}},"./next-js":{"import":{"types":"./dist/integrations/next-js.d.ts","default":"./dist/integrations/next-js.mjs"},"require":{"types":"./dist/integrations/next-js.d.cts","default":"./dist/integrations/next-js.cjs"}},"./react-start":{"import":{"types":"./dist/integrations/react-start.d.ts","default":"./dist/integrations/react-start.mjs"},"require":{"types":"./dist/integrations/react-start.d.cts","default":"./dist/integrations/react-start.cjs"}},"./node":{"import":{"types":"./dist/integrations/node.d.ts","default":"./dist/integrations/node.mjs"},"require":{"types":"./dist/integrations/node.d.cts","default":"./dist/integrations/node.cjs"}},"./adapters/prisma":{"import":{"types":"./dist/adapters/prisma-adapter/index.d.ts","default":"./dist/adapters/prisma-adapter/index.mjs"},"require":{"types":"./dist/adapters/prisma-adapter/index.d.cts","default":"./dist/adapters/prisma-adapter/index.cjs"}},"./adapters/drizzle":{"import":{"types":"./dist/adapters/drizzle-adapter/index.d.ts","default":"./dist/adapters/drizzle-adapter/index.mjs"},"require":{"types":"./dist/adapters/drizzle-adapter/index.d.cts","default":"./dist/adapters/drizzle-adapter/index.cjs"}},"./adapters/mongodb":{"import":{"types":"./dist/adapters/mongodb-adapter/index.d.ts","default":"./dist/adapters/mongodb-adapter/index.mjs"},"require":{"types":"./dist/adapters/mongodb-adapter/index.d.cts","default":"./dist/adapters/mongodb-adapter/index.cjs"}},"./adapters/memory":{"import":{"types":"./dist/adapters/memory-adapter/index.d.ts","default":"./dist/adapters/memory-adapter/index.mjs"},"require":{"types":"./dist/adapters/memory-adapter/index.d.cts","default":"./dist/adapters/memory-adapter/index.cjs"}},"./adapters/test":{"import":{"types":"./dist/adapters/test.d.ts","default":"./dist/adapters/test.mjs"},"require":{"types":"./dist/adapters/test.d.cts","default":"./dist/adapters/test.cjs"}},"./adapters":{"import":{"types":"./dist/adapters/index.d.ts","default":"./dist/adapters/index.mjs"},"require":{"types":"./dist/adapters/index.d.cts","default":"./dist/adapters/index.cjs"}}},"typesVersions":{"*":{"*":["./dist/index.d.ts"],"node":["./dist/integrations/node.d.ts"],"react":["./dist/client/react/index.d.ts"],"vue":["./dist/client/vue/index.d.ts"],"svelte":["./dist/client/svelte/index.d.ts"],"social-providers":["./dist/social-providers/index.d.ts"],"client":["./dist/client/index.d.ts"],"client/plugins":["./dist/client/plugins/index.d.ts"],"types":["./dist/types/index.d.ts"],"crypto":["./dist/crypto/index.d.ts"],"cookies":["./dist/cookies/index.d.ts"],"oauth2":["./dist/oauth2/index.d.ts"],"solid":["./dist/client/solid/index.d.ts"],"api":["./dist/api/index.d.ts"],"db":["./dist/db/index.d.ts"],"svelte-kit":["./dist/integrations/svelte-kit.d.ts"],"solid-start":["./dist/integrations/solid-start.d.ts"],"next-js":["./dist/integrations/next-js.d.ts"],"react-start":["./dist/integrations/react-start.d.ts"],"adapters":["./dist/adapters/index.d.ts"],"adapters/prisma":["./dist/adapters/prisma-adapter/index.d.ts"],"adapters/drizzle":["./dist/adapters/drizzle-adapter/index.d.ts"],"adapters/mongodb":["./dist/adapters/mongodb-adapter/index.d.ts"],"adapters/memory":["./dist/adapters/memory-adapter/index.d.ts"],"plugins":["./dist/plugins/index.d.ts"]}},"devDependencies":{"@prisma/client":"^5.22.0","@tanstack/react-start":"^1.114.34","@types/better-sqlite3":"^7.6.12","@types/pg":"^8.11.10","@types/prompts":"^2.4.9","@types/react":"^18.3.14","better-sqlite3":"^11.6.0","concurrently":"^9.1.2","drizzle-orm":"^0.38.2","happy-dom":"^15.11.7","hono":"^4.6.13","listhen":"^1.9.0","mongodb":"^6.11.0","mysql2":"^3.11.5","next":"^15.2.3","oauth2-mock-server":"^7.2.0","pg":"^8.13.1","prisma":"^5.22.0","react":"^19.0.0","react-native":"~0.74.6","solid-js":"^1.9.3","tarn":"^3.0.2","tedious":"^18.6.1","typescript":"^5.7.3","unbuild":"^3.5.0","vitest":"^1.6.0","vue":"^3.5.13"},"dependencies":{"@better-auth/utils":"0.2.5","@better-fetch/fetch":"^1.1.18","@noble/ciphers":"^0.6.0","@noble/hashes":"^1.6.1","@simplewebauthn/browser":"^13.0.0","@simplewebauthn/server":"^13.0.0","better-call":"^1.0.8","defu":"^6.1.4","jose":"^5.9.6","kysely":"^0.28.1","nanostores":"^0.11.3","zod":"^3.24.1"},"overrides":{"whatwg-url":"^14.0.0"},"scripts":{"build":"unbuild --clean","dev":"concurrently \"unbuild --watch\" \"npm run dev:types\"","dev:types":"tsc --project tsconfig.declarations.json --watch","build:types":"tsc --project tsconfig.declarations.json","stub":"unbuild --stub","pretest":"pnpm prisma:normal:push && pnpm prisma:number-id:push","test":"vitest","prisma:normal:push":"prisma db push --schema src/adapters/prisma-adapter/test/normal-tests/schema.prisma","prisma:number-id:push":"prisma db push --schema src/adapters/prisma-adapter/test/number-id-tests/schema.prisma","bump":"bumpp","typecheck":"pnpm prisma:normal:push && pnpm prisma:number-id:push && tsc --noEmit"},"_id":"@allenthich/better-feature@0.0.9","types":"./dist/index.d.ts","_integrity":"sha512-sL0VsXkcXIsgjspK61Qex4VRiCgsRruu9yv9XY/CxEAs8YY7Eunx/130Q2+lfQfB3vmkozT1qyAZIe+APZJCWQ==","_resolved":"/tmp/0014276052cba27c584c7b11c8ceab21/allenthich-better-feature-0.0.9.tgz","_from":"file:allenthich-better-feature-0.0.9.tgz","_nodeVersion":"20.19.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-sL0VsXkcXIsgjspK61Qex4VRiCgsRruu9yv9XY/CxEAs8YY7Eunx/130Q2+lfQfB3vmkozT1qyAZIe+APZJCWQ==","shasum":"4b4081a0df39000530f3e1c08828f1a0d1bc2d89","tarball":"https://registry.npmjs.org/@allenthich/better-feature/-/better-feature-0.0.9.tgz","fileCount":170,"unpackedSize":673457,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEuz7NSengi5n76dxDth3iY35hpyTJZC82o44EPeNpDRAiEAk/cNX46PR1+IflbG0G9O8kIwrkYCO9GT/n2mDD2DNdk="}]},"_npmUser":{"name":"allenthich","email":"allenthich@gmail.com"},"directories":{},"maintainers":[{"name":"allenthich","email":"allenthich@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/better-feature_0.0.9_1748947003308_0.11287956295568469"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-28T07:23:42.384Z","modified":"2025-06-03T10:36:43.658Z","0.0.3":"2025-05-28T07:23:42.677Z","0.0.9":"2025-06-03T10:36:43.491Z"},"keywords":["feature","plugin","typescript"],"repository":{"type":"git","repository":"https://github.com/allenthich/better-feature.git","directory":"packages/better-feature"},"description":"Feature plugin library for TypeScript.","maintainers":[{"name":"allenthich","email":"allenthich@gmail.com"}],"readme":"# Better Feature\nFeature plugin library for TypeScript\n\nBuilt from [Better-Auth](https://github.com/better-auth/better-auth) source code\n","readmeFilename":"README.md"}