{"_id":"@buka/nuxt-kit","_rev":"8-47075b31eed9e552872070479ad423eb","name":"@buka/nuxt-kit","dist-tags":{"latest":"0.3.0"},"versions":{"0.0.1":{"name":"@buka/nuxt-kit","version":"0.0.1","keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","_id":"@buka/nuxt-kit@0.0.1","maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"homepage":"https://github.com/buka-inc/npm.nuxt-kit#readme","bugs":{"url":"https://github.com/buka-inc/npm.nuxt-kit/issues"},"dist":{"shasum":"64cebd641abaf6e90ec719a13166e069f8dd3be0","tarball":"https://registry.npmjs.org/@buka/nuxt-kit/-/nuxt-kit-0.0.1.tgz","fileCount":42,"integrity":"sha512-MGHM5v8F0h7PLr7XolgNdv6wqJ1iBV29r7G6YXdIDkvd6ekwnAEpLdNtc+w726O77riSTNccC111fD5hUrFKMQ==","signatures":[{"sig":"MEQCIEZI197B1tQyp+ejIiKJbc8qYwO5yibwGfQnvA0drOgpAiBaNaA9EgUkUXP31aZDEw+prlzkkC4MenPXvYUsWah0FA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32505},"type":"module","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./keq":{"types":"./dist/keq/index.d.ts","import":"./dist/keq/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables/index.js"}},"gitHead":"16f7e2500489d338f9f339379d9a1ed83c5cf6a7","imports":{"#keq/*":"./src/keq/*","#utils/*":"./src/utils/*","#components/*":"./src/components/*","#composables/*":"./src/composables/*"},"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","commit":"cz","prepare":"is-ci || husky","release":"standard-version","test:watch":"vitest","release:alpha":"standard-version --prerelease alpha","prepublishOnly":"npm run build"},"_npmUser":{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"},"repository":{"url":"git+https://github.com/buka-inc/npm.nuxt-kit.git","type":"git"},"_npmVersion":"10.9.4","description":"Buka Nuxt/Vue Development Kit","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"@buka/exception":"^1.0.4","@buka/error-codes":"^1.1.1","@keq-request/exception":"file:../../@keq/keq/packages/exception"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"keq":"file:../../@keq/keq/packages/keq","vue":"^3.5.0","vite":"^6.0.0","husky":"^9.0.0","is-ci":"^3.0.0","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","globals":"^15.0.0","vue-tsc":"^2.0.0","commitizen":"^4.3.1","typescript":"^5.9.3","@vue/tsconfig":"^0.7.0","@commitlint/cli":"^19.0.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^4.0.0","standard-version":"^9.5.0","@vitejs/plugin-vue":"^5.0.0","@buka/eslint-config":"^3.0.3","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"keq":">=5.0.0-alpha","vue":">=3.3.0"},"peerDependenciesMeta":{"keq":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nuxt-kit_0.0.1_1778085592337_0.7707616535500572","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@buka/nuxt-kit","version":"0.0.2","keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","_id":"@buka/nuxt-kit@0.0.2","maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"homepage":"https://github.com/buka-inc/npm.nuxt-kit#readme","bugs":{"url":"https://github.com/buka-inc/npm.nuxt-kit/issues"},"dist":{"shasum":"d4e7a7ceb6bd6547fac9fb0dc23c8012b8aba6b2","tarball":"https://registry.npmjs.org/@buka/nuxt-kit/-/nuxt-kit-0.0.2.tgz","fileCount":42,"integrity":"sha512-u86RzPU41/D4dngfoSDVhGlSuNTzd0KfukrZXYIAVxWpPb3w1Wz9InZEbsfpwh9XQz2NNzZ0mLcajaFIFbeFFQ==","signatures":[{"sig":"MEYCIQC3MmUAwtNcy7KuG3V49RIz8YHYrTUyvQRvpJskB2/tWgIhAM+im8IuuRTJAdPEytsOFHtI72Xveux+7ea4I6NdGqmc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buka%2fnuxt-kit@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32462},"type":"module","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./keq":{"types":"./dist/keq/index.d.ts","import":"./dist/keq/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables/index.js"}},"gitHead":"3392617095a1e5ab7802e4f5e502caefc843cb58","imports":{"#keq/*":"./src/keq/*","#utils/*":"./src/utils/*","#components/*":"./src/components/*","#composables/*":"./src/composables/*"},"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","commit":"cz","prepare":"is-ci || husky","release":"standard-version","test:watch":"vitest","release:alpha":"standard-version --prerelease alpha","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:20498d82-bf2a-495b-871a-7ee20756ae09"}},"repository":{"url":"git+https://github.com/buka-inc/npm.nuxt-kit.git","type":"git"},"_npmVersion":"11.11.0","description":"Buka Nuxt/Vue Development Kit","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"@buka/exception":"^1.0.4","@buka/error-codes":"^1.1.1","@keq-request/exception":"^5.0.0-beta.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"keq":"^5.0.0-beta.1","vue":"^3.5.0","vite":"^6.0.0","husky":"^9.0.0","is-ci":"^3.0.0","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","globals":"^15.0.0","vue-tsc":"^2.0.0","commitizen":"^4.3.1","typescript":"^5.9.3","@vue/tsconfig":"^0.7.0","@commitlint/cli":"^19.0.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^4.0.0","standard-version":"^9.5.0","@vitejs/plugin-vue":"^5.0.0","@buka/eslint-config":"^3.0.3","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"keq":">=5.0.0-beta.1","vue":">=3.3.0"},"peerDependenciesMeta":{"keq":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nuxt-kit_0.0.2_1778086988696_0.9615876762740421","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@buka/nuxt-kit","version":"0.1.1","keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","_id":"@buka/nuxt-kit@0.1.1","maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"homepage":"https://github.com/buka-ltd/npm.nuxt-kit#readme","bugs":{"url":"https://github.com/buka-ltd/npm.nuxt-kit/issues"},"dist":{"shasum":"1afaec82e444a67c7838ad238066a5dcf5d892e9","tarball":"https://registry.npmjs.org/@buka/nuxt-kit/-/nuxt-kit-0.1.1.tgz","fileCount":43,"integrity":"sha512-17coXSkG04NHxL6bopChRvUORyAcIGjOzb2Jihq+bSeQ7MiI2NcvVWuFGW+8lv/VZ9IF14gi3IZDE5CpQk0N9Q==","signatures":[{"sig":"MEUCIB/IpSvWRulw1x76eCX1DcKxaj6nm0SxKYXMKpS9aX4VAiEAmxCRwTV514sRnFiR+VJ862SeAiSHsQg8tmed7C1VG+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buka%2fnuxt-kit@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41914},"type":"module","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./keq":{"types":"./dist/keq/index.d.ts","import":"./dist/keq/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables/index.js"}},"gitHead":"857e010944953ef53b98c3a0d0f302c3597a88b7","imports":{"#keq/*":"./src/keq/*","#utils/*":"./src/utils/*","#components/*":"./src/components/*","#composables/*":"./src/composables/*"},"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","commit":"cz","prepare":"is-ci || husky","release":"standard-version","test:watch":"vitest","release:alpha":"standard-version --prerelease alpha","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:790e7aaf-5aba-4ea3-9c0b-757be86a15fd"}},"repository":{"url":"git+https://github.com/buka-ltd/npm.nuxt-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Buka Nuxt/Vue Development Kit","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@buka/exception":"^1.0.4","@buka/error-codes":"^1.1.1","@keq-request/exception":"^5.0.0-beta.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"keq":"^5.0.0-beta.1","vue":"^3.5.0","vite":"^6.0.0","husky":"^9.0.0","is-ci":"^3.0.0","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","globals":"^15.0.0","vue-tsc":"^2.0.0","commitizen":"^4.3.1","typescript":"^5.9.3","@vue/tsconfig":"^0.7.0","@commitlint/cli":"^19.0.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^4.0.0","standard-version":"^9.5.0","@vitejs/plugin-vue":"^5.0.0","@buka/eslint-config":"^3.0.3","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"keq":">=5.0.0-beta.1","vue":">=3.3.0"},"peerDependenciesMeta":{"keq":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nuxt-kit_0.1.1_1780292135054_0.48428331989142115","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@buka/nuxt-kit","version":"0.1.2","keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","_id":"@buka/nuxt-kit@0.1.2","maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"homepage":"https://github.com/buka-ltd/npm.nuxt-kit#readme","bugs":{"url":"https://github.com/buka-ltd/npm.nuxt-kit/issues"},"dist":{"shasum":"cc37ef5a97a1b5cf47e5afa8da2a8c03b4a9c4d8","tarball":"https://registry.npmjs.org/@buka/nuxt-kit/-/nuxt-kit-0.1.2.tgz","fileCount":43,"integrity":"sha512-37UWbouuZlhWCdIgxf+TXgKwAgzhAjomO8HhHTQRudEaVqBEL6fzkfHayd1cBs/wu9l0Eg383u0M3Xu8NHI1gA==","signatures":[{"sig":"MEQCIHr+0lJbmhzNyb2mR4qLdhq/HC+tIqropU5qv3L0oisnAiA8HngKnHllBGiTEcAiOwpESWFDHcWdQiACyoT7iFQKxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buka%2fnuxt-kit@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41178},"type":"module","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./keq":{"types":"./dist/keq/index.d.ts","import":"./dist/keq/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables/index.js"}},"gitHead":"c00bfb80721c9699880e0253f9301c1fe1a19456","imports":{"#keq/*":"./src/keq/*","#utils/*":"./src/utils/*","#components/*":"./src/components/*","#composables/*":"./src/composables/*"},"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","commit":"cz","prepare":"is-ci || husky","release":"standard-version","test:watch":"vitest","release:alpha":"standard-version --prerelease alpha","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:790e7aaf-5aba-4ea3-9c0b-757be86a15fd"}},"repository":{"url":"git+https://github.com/buka-ltd/npm.nuxt-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Buka Nuxt/Vue Development Kit","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@buka/exception":"^1.0.4","@buka/error-codes":"^1.1.1","@keq-request/exception":"^5.0.0-beta.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"keq":"^5.0.0-beta.1","vue":"^3.5.0","vite":"^6.0.0","husky":"^9.0.0","is-ci":"^3.0.0","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","globals":"^15.0.0","vue-tsc":"^2.0.0","commitizen":"^4.3.1","typescript":"^5.9.3","@vue/tsconfig":"^0.7.0","@commitlint/cli":"^19.0.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^4.0.0","standard-version":"^9.5.0","@vitejs/plugin-vue":"^5.0.0","@buka/eslint-config":"^3.0.3","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"keq":">=5.0.0-beta.1","vue":">=3.3.0"},"peerDependenciesMeta":{"keq":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nuxt-kit_0.1.2_1780501871572_0.26438459952967497","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@buka/nuxt-kit","version":"0.1.3","keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","_id":"@buka/nuxt-kit@0.1.3","maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"homepage":"https://github.com/buka-ltd/npm.nuxt-kit#readme","bugs":{"url":"https://github.com/buka-ltd/npm.nuxt-kit/issues"},"dist":{"shasum":"426b98e8e2649ed8965accffcfe54e9d74398f64","tarball":"https://registry.npmjs.org/@buka/nuxt-kit/-/nuxt-kit-0.1.3.tgz","fileCount":43,"integrity":"sha512-Sy60cQniyPDKFyAC9KduXKfIR6evfHE8Lee6a/VYX+0HAXibt01r9RtMYmsRC/8LCGBogSOA2MSfXcCuC0AgDg==","signatures":[{"sig":"MEYCIQCbdzDLvygm9S9VOK2Xb7PsIVW1qzLkBiM/EI82UoZrtAIhAPQn1MDaUIOw6azvQTO0BiOhEOgCbB307+f5koi30tmB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buka%2fnuxt-kit@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41165},"type":"module","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./keq":{"types":"./dist/keq/index.d.ts","import":"./dist/keq/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables/index.js"}},"gitHead":"7c99b902fca001047c166419e16dfa5b184fc49f","imports":{"#keq/*":"./src/keq/*","#utils/*":"./src/utils/*","#components/*":"./src/components/*","#composables/*":"./src/composables/*"},"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","commit":"cz","prepare":"is-ci || husky","release":"standard-version","test:watch":"vitest","release:alpha":"standard-version --prerelease alpha","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:790e7aaf-5aba-4ea3-9c0b-757be86a15fd"}},"repository":{"url":"git+https://github.com/buka-ltd/npm.nuxt-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Buka Nuxt/Vue Development Kit","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@buka/exception":"^1.0.4","@buka/error-codes":"^1.1.1","@keq-request/exception":"^5.0.0-beta.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"keq":"^5.0.0-beta.1","vue":"^3.5.0","vite":"^6.0.0","husky":"^9.0.0","is-ci":"^3.0.0","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","globals":"^15.0.0","vue-tsc":"^2.0.0","commitizen":"^4.3.1","typescript":"^5.9.3","@vue/tsconfig":"^0.7.0","@commitlint/cli":"^19.0.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^4.0.0","standard-version":"^9.5.0","@vitejs/plugin-vue":"^5.0.0","@buka/eslint-config":"^3.0.3","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"keq":">=5.0.0-beta.1","vue":">=3.3.0"},"peerDependenciesMeta":{"keq":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nuxt-kit_0.1.3_1780505962613_0.755463876635559","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@buka/nuxt-kit","version":"0.2.0","keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","_id":"@buka/nuxt-kit@0.2.0","maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"homepage":"https://github.com/buka-ltd/npm.nuxt-kit#readme","bugs":{"url":"https://github.com/buka-ltd/npm.nuxt-kit/issues"},"dist":{"shasum":"4a772e4b7b3c69ffa3b06cf3c0252eea9a7d585c","tarball":"https://registry.npmjs.org/@buka/nuxt-kit/-/nuxt-kit-0.2.0.tgz","fileCount":51,"integrity":"sha512-/bGu42hJTfyeUwplccvCfBygEDOrrQnEaZcXXExPw49xJWF339Puc7EPW3kC0RvfoEQOdwKbNpaDSw+uwTUyQQ==","signatures":[{"sig":"MEQCIBgg2aONL8RVYso8LnSa0G6z4FRtA20uIWnJ9ZxkpivxAiAZ5KLdRikWOMeRHMVU8ypjzeQlux9/O2TI1yjfUHgrHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buka%2fnuxt-kit@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63963},"type":"module","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./keq":{"types":"./dist/keq/index.d.ts","import":"./dist/keq/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables/index.js"}},"gitHead":"64a1e1331caf28442459ea04895a5bf6bccae236","imports":{"#keq/*":"./src/keq/*","#utils/*":"./src/utils/*","#components/*":"./src/components/*","#composables/*":"./src/composables/*"},"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","commit":"cz","prepare":"is-ci || husky","release":"standard-version","test:watch":"vitest","release:alpha":"standard-version --prerelease alpha","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:790e7aaf-5aba-4ea3-9c0b-757be86a15fd"}},"repository":{"url":"git+https://github.com/buka-ltd/npm.nuxt-kit.git","type":"git"},"_npmVersion":"11.16.0","description":"Buka Nuxt/Vue Development Kit","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@buka/exception":"^1.0.4","@buka/error-codes":"^1.1.1","@keq-request/exception":"^5.0.0-beta.10"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"keq":"^5.0.0-beta.10","vue":"^3.5.0","vite":"^6.0.0","husky":"^9.0.0","is-ci":"^3.0.0","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","globals":"^15.0.0","vue-tsc":"^2.0.0","commitizen":"^4.3.1","typescript":"^5.9.3","@vue/tsconfig":"^0.7.0","@commitlint/cli":"^19.0.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^4.0.0","standard-version":"^9.5.0","@vitejs/plugin-vue":"^5.0.0","@buka/eslint-config":"^3.0.3","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"keq":">=5.0.0-beta.10","vue":">=3.3.0"},"peerDependenciesMeta":{"keq":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nuxt-kit_0.2.0_1783237982125_0.18059465202841984","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@buka/nuxt-kit","version":"0.2.1","keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","_id":"@buka/nuxt-kit@0.2.1","maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"homepage":"https://github.com/buka-ltd/npm.nuxt-kit#readme","bugs":{"url":"https://github.com/buka-ltd/npm.nuxt-kit/issues"},"dist":{"shasum":"9ebffee40ee9273b35121ce9688f0da99e61294d","tarball":"https://registry.npmjs.org/@buka/nuxt-kit/-/nuxt-kit-0.2.1.tgz","fileCount":51,"integrity":"sha512-WqacM5Oj3TRfRFXJDLndXIgfkCxZf35DlvNc7aUHFpv72gJ36c7k52MH4z0XyVl2zvIONWAxD8LYl2R/38uozg==","signatures":[{"sig":"MEUCIQD5ZyS6WykYvA1OxulYXWctHIBA8eFV5EOb4iBReg4KQAIgB2lDA+vwKN6HiLbRQ2D8YekF1y8oQEjt6uj/YCFOF0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buka%2fnuxt-kit@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72218},"type":"module","types":"dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./keq":{"types":"./dist/keq/index.d.ts","import":"./dist/keq/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables/index.js"}},"gitHead":"3ef0c91ed57f7c3de1ae79c36a5a38ba96688905","imports":{"#keq/*":"./src/keq/*","#utils/*":"./src/utils/*","#components/*":"./src/components/*","#composables/*":"./src/composables/*"},"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","commit":"cz","prepare":"is-ci || husky","release":"standard-version","test:watch":"vitest","release:alpha":"standard-version --prerelease alpha","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:790e7aaf-5aba-4ea3-9c0b-757be86a15fd"}},"repository":{"url":"git+https://github.com/buka-ltd/npm.nuxt-kit.git","type":"git"},"_npmVersion":"11.16.0","description":"Buka Nuxt/Vue Development Kit","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@vueuse/core":"^14.3.0","@buka/exception":"^1.0.4","@buka/error-codes":"^1.1.1","@keq-request/exception":"^5.0.0-beta.10"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"keq":"^5.0.0-beta.10","vue":"^3.5.0","vite":"^6.0.0","husky":"^9.0.0","is-ci":"^3.0.0","jsdom":"^25.0.0","eslint":"^9.0.0","vitest":"^2.0.0","globals":"^15.0.0","vue-tsc":"^2.0.0","commitizen":"^4.3.1","typescript":"^5.9.3","@vue/tsconfig":"^0.7.0","@commitlint/cli":"^19.0.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^4.0.0","standard-version":"^9.5.0","@vitejs/plugin-vue":"^5.0.0","@buka/eslint-config":"^3.0.3","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.0.0"},"peerDependencies":{"keq":">=5.0.0-beta.10","vue":">=3.3.0"},"peerDependenciesMeta":{"keq":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nuxt-kit_0.2.1_1784349908958_0.06833578804795004","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@buka/nuxt-kit","version":"0.3.0","description":"Buka Nuxt/Vue Development Kit","packageManager":"pnpm@10.28.2","type":"module","sideEffects":false,"types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./keq":{"types":"./dist/keq/index.d.ts","import":"./dist/keq/index.js"}},"imports":{"#composables/*":"./src/composables/*","#components/*":"./src/components/*","#utils/*":"./src/utils/*","#keq/*":"./src/keq/*"},"scripts":{"build":"vite build","dev":"vite build --watch","test":"vitest run","test:watch":"vitest","lint":"eslint .","prepare":"is-ci || husky","prepublishOnly":"npm run build","commit":"cz","release":"standard-version","release:alpha":"standard-version --prerelease alpha"},"keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","homepage":"https://github.com/buka-ltd/npm.nuxt-kit#readme","bugs":{"url":"https://github.com/buka-ltd/npm.nuxt-kit/issues"},"repository":{"type":"git","url":"git+https://github.com/buka-ltd/npm.nuxt-kit.git"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"dependencies":{"@buka/error-codes":"^1.1.1","@buka/exception":"^1.0.4","@keq-request/exception":"^5.0.0-beta.10","@vueuse/core":"^14.3.0"},"peerDependencies":{"keq":">=5.0.0-beta.10","vue":">=3.3.0"},"peerDependenciesMeta":{"keq":{"optional":true}},"devDependencies":{"@buka/eslint-config":"^3.0.3","@commitlint/cli":"^19.0.0","@commitlint/config-conventional":"^19.0.0","@vitejs/plugin-vue":"^5.0.0","@vue/test-utils":"^2.4.0","@vue/tsconfig":"^0.7.0","commitizen":"^4.3.1","cz-conventional-changelog":"^3.3.0","eslint":"^9.0.0","globals":"^15.0.0","husky":"^9.0.0","is-ci":"^3.0.0","jsdom":"^25.0.0","keq":"^5.0.0-beta.10","standard-version":"^9.5.0","typescript":"^5.9.3","vite":"^6.0.0","vite-plugin-dts":"^4.0.0","vitest":"^2.0.0","vue":"^3.5.0","vue-tsc":"^2.0.0"},"gitHead":"95b0d6a2dfbfddfa1027585aae9f811d1b31bb31","_id":"@buka/nuxt-kit@0.3.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-Tia58wF8m418vXX/8Dt+exDnLmxOTGN+KelEPIpLhSa63zaIvmbJ0vJc6ZyQLLCTMBLRbBjtwmXUsLVD4zr8Kw==","shasum":"2bfdbc99bf085a5b42447d3cd4570645fa6f5535","tarball":"https://registry.npmjs.org/@buka/nuxt-kit/-/nuxt-kit-0.3.0.tgz","fileCount":53,"unpackedSize":76206,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@buka%2fnuxt-kit@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCpA7OT5eJryDjKDBtFxwvw1HOHw2xVBqhXz1MVDr6GHgIgWFNnE5HKoHbttEc2jjXuh0tQbOT6ZeX+a8gLlK3ci0o="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:790e7aaf-5aba-4ea3-9c0b-757be86a15fd"}},"directories":{},"maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nuxt-kit_0.3.0_1786066121405_0.4751324322869279"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-06T16:39:52.273Z","modified":"2026-08-07T01:28:41.906Z","0.0.1":"2026-05-06T16:39:52.465Z","0.0.2":"2026-05-06T17:03:08.847Z","0.1.1":"2026-06-01T05:35:35.203Z","0.1.2":"2026-06-03T15:51:11.713Z","0.1.3":"2026-06-03T16:59:22.743Z","0.2.0":"2026-07-05T07:53:02.262Z","0.2.1":"2026-07-18T04:45:09.093Z","0.3.0":"2026-08-07T01:28:41.588Z"},"bugs":{"url":"https://github.com/buka-ltd/npm.nuxt-kit/issues"},"author":{"name":"Val.istar.Guo","email":"val.istar.guo@gmail.com"},"license":"MIT","homepage":"https://github.com/buka-ltd/npm.nuxt-kit#readme","keywords":["nuxt","vue","vue3","composables","components","utils","keq","middleware","buka"],"repository":{"type":"git","url":"git+https://github.com/buka-ltd/npm.nuxt-kit.git"},"description":"Buka Nuxt/Vue Development Kit","maintainers":[{"name":"val.istar.guo","email":"val.istar.guo@gmail.com"}],"readme":"# @buka/nuxt-kit\n\nBuka Nuxt/Vue 开发套件，提供 composables、工具函数和 Keq HTTP 中间件。\n\n## 安装\n\n```bash\npnpm add @buka/nuxt-kit\n```\n\n本包为 ESM only，依赖 `vue`（>=3.3.0），`keq` 为可选 peer dependency。\n\n## 模块\n\n### 主入口 `@buka/nuxt-kit`\n\nre-export 所有子模块。\n\n```typescript\nimport {\n  disposable,\n  useAsyncFn,\n  useCursorList,\n  useCursorPagination,\n  useOffsetList,\n  useOffsetPagination,\n  useOffsetPage,\n  useErrorMessage,\n  Pkce,\n  BukaRequestException,\n  throwOnResponseError,\n} from \"@buka/nuxt-kit\";\n```\n\n### Composables `@buka/nuxt-kit/composables`\n\n| 导出                                                                    | 说明                                                                                |\n| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |\n| `disposable(fn)`                                                        | 将函数包装为只执行一次，缓存并复用返回值（支持同步/异步）                           |\n| `useAsyncFn(fn)`                                                        | 追踪异步函数的 `pending` 和 `error` 状态                                            |\n| `useCursorPagination(defaultPageSize?)`                                 | 游标分页数据层，维护 `startCursor`/`endCursor`/`hasNextPage` 等                     |\n| `useCursorList(fetchFn, options?)`                                      | 游标分页异步列表加载（无限滚动），items 累积、loading/error 状态、load/loadMore     |\n| `useOffsetList(fetchFn, options?)`                                      | 偏移分页异步列表加载（表格翻页），items 替换、loading/error 状态、refresh/goToPage   |\n| `useOffsetPagination(defaultPageSize?)`                                 | 偏移分页数据层，维护 `limit`/`offset`/`total`                                       |\n| `useOffsetPage(state)`                                                  | 将 limit/offset/total 转换为 `page`/`pageSize`/`totalPages` 展示用                  |\n| `useErrorMessage(error, fallback?)`                                     | 将错误对象（响应式或静态）转换为可读消息字符串，无错误时返回 undefined               |\n\n```typescript\nimport {\n  useAsyncFn,\n  useCursorList,\n  useCursorPagination,\n  useOffsetList,\n  useOffsetPagination,\n  useOffsetPage,\n  useErrorMessage,\n} from \"@buka/nuxt-kit/composables\";\n\n// 错误消息提取\nconst { error } = useOffsetList(fetchFn);\nconst errorMessage = useErrorMessage(error, \"加载列表失败\");\n// errorMessage.value → undefined（无错误时）或 \"网络错误\" 等\n\n// 异步函数追踪\nconst { pending, error, execute } = useAsyncFn(fetchUsers);\nconst result = await execute();\n\n// 偏移分页（数据层 + 展示层）\nconst pagination = useOffsetPagination(20);\nconst { page, pageSize, totalPages } = useOffsetPage({\n  limit: pagination.limit,\n  offset: pagination.offset,\n  total: pagination.total,\n});\n\n// 游标分页（数据层）\nconst cursorPagination = useCursorPagination();\nconst { startCursor, endCursor, hasNextPage } = cursorPagination;\n\n// 游标分页（异步列表加载，无限滚动）\nconst { items, loading, hasMore, load, loadMore } = useCursorList(\n  async ({ first, after }) => {\n    const result = await api.listData({ page: { first, after } });\n    return {\n      items: result.data ?? [],\n      endCursor: result.meta?.pagination?.endCursor ?? null,\n      hasNextPage: result.meta?.pagination?.hasNextPage ?? false,\n    };\n  },\n);\n\n// 偏移分页（异步列表加载，表格翻页）\nconst {\n  items: tableItems,\n  loading: tableLoading,\n  error: tableError,\n  page,\n  pageSize,\n  totalPages,\n  refresh,\n  goToPage,\n} = useOffsetList(\n  async ({ limit, offset }) => {\n    const result = await api.listData({ page: { limit, offset } });\n    return {\n      items: result.data ?? [],\n      total: result.meta?.pagination?.total ?? 0,\n    };\n  },\n  { pageSize: 20 },\n);\n\n// 初始加载\nawait goToPage(1);\n// 翻到第三页\nawait goToPage(3);\n// 刷新当前页\nawait refresh();\n```\n\n### 工具函数 `@buka/nuxt-kit/utils`\n\n| 导出              | 说明                                                         |\n| ----------------- | ------------------------------------------------------------ |\n| `Pkce.generate()` | 生成 PKCE `[codeVerifier, codeChallenge]` 对（SHA-256 S256） |\n\n```typescript\nimport { Pkce } from \"@buka/nuxt-kit/utils\";\n\nconst [codeVerifier, codeChallenge] = await Pkce.generate();\n```\n\n### Keq 中间件 `@buka/nuxt-kit/keq`\n\n提供 Keq HTTP 客户端的错误处理中间件和异常类，遵循 [Buka 结构化错误码规范](https://github.com/buka-ltd/docs.specifications/blob/main/coding/error-codes.md)。\n\n#### BukaRequestException\n\n继承自 `keq` 的 `RequestException`，将后端返回的标准错误响应提升为类型可判别的异常：\n\n```typescript\nclass BukaRequestException extends RequestException {\n  code: string; // 错误码，如 \"B0-0001-1012-00B\"\n  errorCode: ErrorCode; // @buka/error-codes 解析后的结构化对象\n  details: ExceptionDetail[]; // 错误详情\n}\n```\n\n#### throwOnResponseError(options?)\n\n错误处理中间件工厂函数。对 HTTP >= 400 的 JSON 响应自动解析 `{ error: { code, message, details } }` 并抛出 `BukaRequestException`；非 JSON 响应降级为 `createExceptionByStatusCode` 的兜底异常。401/403/404 自动标记为 `fatal`。\n\n支持**错误码 → 异常子类**分发。适用于需要按特定错误码抛出不同异常实例的业务场景：\n\n```typescript\nimport {\n  throwOnResponseError,\n  BukaRequestException,\n} from \"@buka/nuxt-kit/keq\";\n\n// 定义业务异常子类（空类体自动继承父类构造器）\nclass SessionExpiredException extends BukaRequestException {}\nclass PrincipalNotFoundException extends BukaRequestException {}\n\n// 注册错误码分发\nrequest.use(\n  throwOnResponseError({\n    errorDispatchers: {\n      \"B0-0001-1012-00B\": SessionExpiredException,\n      \"V0-0001-1005-00M\": PrincipalNotFoundException,\n    },\n  }),\n);\n\n// 业务层通过 instanceof 区分处理\ntry {\n  await someApiCall();\n} catch (err) {\n  if (err instanceof SessionExpiredException) {\n    // 跳转登录页\n  } else if (err instanceof PrincipalNotFoundException) {\n    // 回退到注册流程\n  }\n}\n```\n\n**处理流程**：\n\n1. 无 response 或 status < 400 → 透传\n2. 非 JSON 响应 → `createExceptionByStatusCode()` 兜底\n3. JSON body 含 `error` → 查 `errorDispatchers`：命中则实例化注册的子类，未命中抛 `BukaRequestException`\n4. JSON body 不含 `error` → `createExceptionByStatusCode()` 兜底\n\n#### 类型\n\n| 类型                          | 说明                                                      |\n| ----------------------------- | --------------------------------------------------------- |\n| `BukaRequestExceptionOptions` | 构造选项，含 `code`、`details`、`fatal`、`response`       |\n| `BukaExceptionConstructor`    | 异常子类构造器接口，约束 `errorDispatchers` 的 value 类型 |\n| `ThrowOneResponseErrorOptions`  | `throwOnResponseError` 配置项                        |\n\n#### Nuxt 配置\n\n```typescript\n// nuxt.config.ts\nexport default defineNuxtConfig({\n  vite: {\n    optimizeDeps: {\n      include: [\"@buka/nuxt-kit/keq\"],\n    },\n  },\n});\n```\n\n## 许可\n\nMIT\n","readmeFilename":"README.md"}