{"_id":"@arkv/nestjs-cms","_rev":"13-364340bb5e83d43e17e723ce4d790267","name":"@arkv/nestjs-cms","dist-tags":{"latest":"0.4.2"},"versions":{"0.2.0":{"name":"@arkv/nestjs-cms","version":"0.2.0","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.2.0","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"66e83e295b674db7302ef3b6950757b685daefa4","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.2.0.tgz","fileCount":25,"integrity":"sha512-HgUcmE4p/94S2JfAylOzgw6oRvheSVl1hHdIToI1ZTSOe95/5KKqHKT9xOzgxykV4qdgEmX9o4OnVPjBQjjz4w==","signatures":[{"sig":"MEQCIGeMQvYRPsVWSLZaFWsJPo/7Fs9MBNSh2mYKDM4ygFCKAiALfXm9wG9ATi/EfgfAlVY91NKcIeOnUIld131RPbJS8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":958902},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"66e83e295b674db7302ef3b6950757b685daefa4","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-HgUcmE4p/94S2JfAylOzgw6oRvheSVl1hHdIToI1ZTSOe95/5KKqHKT9xOzgxykV4qdgEmX9o4OnVPjBQjjz4w==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"6.3.5","dayjs":"1.11.13","react":"19.1.0","fastify":"5.8.4","zustand":"5.0.5","react-dom":"19.1.0","@types/react":"19.1.6","@mantine/core":"7.17.8","framer-motion":"12.15.0","@mantine/dates":"7.17.8","@mantine/hooks":"7.17.8","@types/express":"5.0.6","@types/react-dom":"19.1.5","@vitejs/plugin-react":"4.5.2","@tanstack/react-query":"5.80.7"},"peerDependencies":{"fastify":">=4","@nestjs/core":"11.1.18","@nestjs/common":"11.1.18","@nestjs/swagger":"11.2.7","reflect-metadata":"0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.2.0_1776077464839_0.32487768367266234","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@arkv/nestjs-cms","version":"0.2.1","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.2.1","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"9b3b824e38bbb3429a10249e4bace209efb56578","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.2.1.tgz","fileCount":25,"integrity":"sha512-1V4ukJRqPd/XLE2nVlowF/abCyg0OaJpkyPdJBDJmgfmfK3n1LHX3mXw+pnBUfQf9FM7noSj9Ekg2DZnd/A1+A==","signatures":[{"sig":"MEUCIQDyfm27hirC4P10PG3AuC7AH92O7uQ6h9Vb3AM82ltTsAIgDG8kGHGh8wY+TqEk8rXTeZW+O1AsQhylmmf7rk5WvVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":959695},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"9b3b824e38bbb3429a10249e4bace209efb56578","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-1V4ukJRqPd/XLE2nVlowF/abCyg0OaJpkyPdJBDJmgfmfK3n1LHX3mXw+pnBUfQf9FM7noSj9Ekg2DZnd/A1+A==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"6.3.5","dayjs":"1.11.13","react":"19.1.0","fastify":"5.8.4","zustand":"5.0.5","react-dom":"19.1.0","@types/react":"19.1.6","@mantine/core":"7.17.8","framer-motion":"12.15.0","@mantine/dates":"7.17.8","@mantine/hooks":"7.17.8","@types/express":"5.0.6","@types/react-dom":"19.1.5","@vitejs/plugin-react":"4.5.2","@tanstack/react-query":"5.80.7"},"peerDependencies":{"fastify":">=4","@nestjs/core":"11.1.18","@nestjs/common":"11.1.18","@nestjs/swagger":"11.2.7","reflect-metadata":"0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.2.1_1776244190166_0.23170831350345145","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@arkv/nestjs-cms","version":"0.2.2","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.2.2","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"67cd79db8b015d539669c725344aba577a5dbf5a","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.2.2.tgz","fileCount":25,"integrity":"sha512-d1qJyOImBwT9Ogxn2cNQ368rfpu/+RxnEaM0miwAIpiCkkvFi+Rf9P7TXmykTSW/hKxECW2WAgupn7XNhTqVkw==","signatures":[{"sig":"MEYCIQD2SaxJTAuQps88J8JnyYVqJJ01vpGyvaTiAErxF30z8QIhAOAulP/xoiTrmFfZoSWrvKyDEwrYu1ORqQWkhkXLwuvh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":959991},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"67cd79db8b015d539669c725344aba577a5dbf5a","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-d1qJyOImBwT9Ogxn2cNQ368rfpu/+RxnEaM0miwAIpiCkkvFi+Rf9P7TXmykTSW/hKxECW2WAgupn7XNhTqVkw==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"6.3.5","dayjs":"1.11.13","react":"19.1.0","fastify":"5.8.4","zustand":"5.0.5","react-dom":"19.1.0","@types/react":"19.1.6","@mantine/core":"7.17.8","framer-motion":"12.15.0","@mantine/dates":"7.17.8","@mantine/hooks":"7.17.8","@types/express":"5.0.6","@types/react-dom":"19.1.5","@vitejs/plugin-react":"4.5.2","@tanstack/react-query":"5.80.7"},"peerDependencies":{"fastify":">=4","@nestjs/core":"11.1.18","@nestjs/common":"11.1.18","@nestjs/swagger":"11.2.7","reflect-metadata":"0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.2.2_1776244650868_0.42887844858863944","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@arkv/nestjs-cms","version":"0.2.3","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.2.3","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"525e1232048e5f5fbc0faccfaa737fb243bd2719","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.2.3.tgz","fileCount":25,"integrity":"sha512-d/RberaWY5JIfn2+iSQ6ttNjzK9D9bFIhw/EXm+4yk+maG1Q5TKhBplo1w5VkFwptOI0iHykV6XvItVaF4hIzQ==","signatures":[{"sig":"MEUCIHOOR/kcVkUDgmUyO7LPRBQDcAl/NsQ9jQZMrxz04t/rAiEA0HPrV4Ie8F0Rfbb+QuBAafPbea6aD/hyOgOcv8EiPu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":961579},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"525e1232048e5f5fbc0faccfaa737fb243bd2719","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-d/RberaWY5JIfn2+iSQ6ttNjzK9D9bFIhw/EXm+4yk+maG1Q5TKhBplo1w5VkFwptOI0iHykV6XvItVaF4hIzQ==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"6.3.5","dayjs":"1.11.13","react":"19.1.0","fastify":"5.8.4","zustand":"5.0.5","react-dom":"19.1.0","@types/react":"19.1.6","@mantine/core":"7.17.8","framer-motion":"12.15.0","@mantine/dates":"7.17.8","@mantine/hooks":"7.17.8","@types/express":"5.0.6","@types/react-dom":"19.1.5","@vitejs/plugin-react":"4.5.2","@tanstack/react-query":"5.80.7"},"peerDependencies":{"fastify":">=4","@nestjs/core":"11.1.18","@nestjs/common":"11.1.18","@nestjs/swagger":"11.2.7","reflect-metadata":"0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.2.3_1776264966429_0.21718378174245467","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@arkv/nestjs-cms","version":"0.2.4","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.2.4","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"69478b5b1f6195c0bdf4f198f198eab69e7ac304","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.2.4.tgz","fileCount":25,"integrity":"sha512-zt/v1A5sD0PrKV3J/mowLECstPCs7Uwe1dQkBLEAPfx7cyanNVHr3g50nZHNRKw5in+7Toi+gzAs4ErPMi1oLg==","signatures":[{"sig":"MEUCIQDXBzfzBGCcK/l0yWP+kos4Ao6WqYKUwYMj5dDWXPSDgQIgSbZvChcL+pHJ4jSScCY/S6ukwAs7m5mGdWqo8a5n/jQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":975849},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"69478b5b1f6195c0bdf4f198f198eab69e7ac304","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-zt/v1A5sD0PrKV3J/mowLECstPCs7Uwe1dQkBLEAPfx7cyanNVHr3g50nZHNRKw5in+7Toi+gzAs4ErPMi1oLg==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"6.3.5","dayjs":"1.11.13","react":"19.1.0","fastify":"5.8.4","zustand":"5.0.5","react-dom":"19.1.0","@types/react":"19.1.6","@mantine/core":"7.17.8","framer-motion":"12.15.0","@mantine/dates":"7.17.8","@mantine/hooks":"7.17.8","@types/express":"5.0.6","@types/react-dom":"19.1.5","@vitejs/plugin-react":"4.5.2","@tanstack/react-query":"5.80.7"},"peerDependencies":{"fastify":">=4","@nestjs/core":"11.1.18","@nestjs/common":"11.1.18","@nestjs/swagger":"11.2.7","reflect-metadata":"0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.2.4_1776265706436_0.9505060128096845","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@arkv/nestjs-cms","version":"0.3.0","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.3.0","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"2a31c22c894d67057b67732b82e016beb979a5c4","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.3.0.tgz","fileCount":27,"integrity":"sha512-AVZ1Aftd6trjX/Zho/obyzU/vofl+wTxodZIGI89srbF0kOF9hUBcrg9M7VWbc79gHGM+o1xoYFnePQTzS3nBA==","signatures":[{"sig":"MEQCH0z7Zy3/tCnH45TjtX7I2Z5MVUMlrIjVG3LrrYrOlZ4CIQDirWvwFEluP0lR3+U94N7SO8jG0ZDit4CtVy9tocoenQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":939428},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"2a31c22c894d67057b67732b82e016beb979a5c4","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-AVZ1Aftd6trjX/Zho/obyzU/vofl+wTxodZIGI89srbF0kOF9hUBcrg9M7VWbc79gHGM+o1xoYFnePQTzS3nBA==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.8","dayjs":"1.11.20","react":"19.2.5","fastify":"5.8.5","zustand":"5.0.12","react-dom":"19.2.5","@types/react":"19.2.14","@mantine/core":"9.0.2","@mantine/dates":"9.0.2","@mantine/hooks":"9.0.2","@types/express":"5.0.6","@types/react-dom":"19.2.3","react-router-dom":"7.14.1","@vitejs/plugin-react":"6.0.1","react-json-view-lite":"2.5.0","@tanstack/react-query":"5.99.0"},"peerDependencies":{"fastify":">=4","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","@nestjs/swagger":"^11.3.0","reflect-metadata":"^0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.3.0_1776337768655_0.7255664009275653","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@arkv/nestjs-cms","version":"0.3.1","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.3.1","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"c79a95c327f426e3ba789bb1f199c472f82a1227","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.3.1.tgz","fileCount":27,"integrity":"sha512-0WZhwuEUmW/ECnop+/ZzfeiaNUkyrpKRx2y3JRm2+ll7ftT+DIIpa78jtyQ3TVmBMc8TTFQUO3O5fwK4CcUdUw==","signatures":[{"sig":"MEYCIQDFJIj8I1QLbitMdXf2P3fRxTWlZJQdWgaS/aUKUBwnfAIhAO0S+8HPxQdyHGM+dsRK8X9qk+rbRjtzaCDOlZWyZigF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":940182},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"c79a95c327f426e3ba789bb1f199c472f82a1227","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-0WZhwuEUmW/ECnop+/ZzfeiaNUkyrpKRx2y3JRm2+ll7ftT+DIIpa78jtyQ3TVmBMc8TTFQUO3O5fwK4CcUdUw==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.8","dayjs":"1.11.20","react":"19.2.5","fastify":"5.8.5","zustand":"5.0.12","react-dom":"19.2.5","@types/react":"19.2.14","@mantine/core":"9.0.2","@mantine/dates":"9.0.2","@mantine/hooks":"9.0.2","@types/express":"5.0.6","@types/react-dom":"19.2.3","react-router-dom":"7.14.1","@vitejs/plugin-react":"6.0.1","react-json-view-lite":"2.5.0","@tanstack/react-query":"5.99.0"},"peerDependencies":{"fastify":">=4","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","@nestjs/swagger":"^11.3.0","reflect-metadata":"^0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.3.1_1777962717669_0.05340396044008555","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@arkv/nestjs-cms","version":"0.3.2","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.3.2","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"3aeca9ab704f96aa1a632593017d5be42f1a9d59","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.3.2.tgz","fileCount":27,"integrity":"sha512-iy53xJA8lNXi4wlYizDpitvIE80D5xpiIavTmbBuqCa8mbBTPSGKKcX3FAPrkKDNXXjRpjFvSscWYuiAClrVkQ==","signatures":[{"sig":"MEYCIQDNUJ3/fZU04H9QXHdcx0jW3dGnoCLWDKgAGdlMutlF6QIhAIUWu9omGMhLz6qHxfuEyzVnvHHmRYWli/rAlagLfxaT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":940289},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"3aeca9ab704f96aa1a632593017d5be42f1a9d59","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-iy53xJA8lNXi4wlYizDpitvIE80D5xpiIavTmbBuqCa8mbBTPSGKKcX3FAPrkKDNXXjRpjFvSscWYuiAClrVkQ==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.8","dayjs":"1.11.20","react":"19.2.5","fastify":"5.8.5","zustand":"5.0.12","react-dom":"19.2.5","@types/react":"19.2.14","@mantine/core":"9.0.2","@mantine/dates":"9.0.2","@mantine/hooks":"9.0.2","@types/express":"5.0.6","@types/react-dom":"19.2.3","react-router-dom":"7.14.1","@vitejs/plugin-react":"6.0.1","react-json-view-lite":"2.5.0","@tanstack/react-query":"5.99.0"},"peerDependencies":{"fastify":">=4","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","@nestjs/swagger":"^11.3.0","reflect-metadata":"^0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.3.2_1777993640338_0.7823921063913766","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@arkv/nestjs-cms","version":"0.3.3","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.3.3","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"10712a8d6b4982b617755e62e21cf1e7fd222dd1","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.3.3.tgz","fileCount":27,"integrity":"sha512-iT9spp1ZA2AdUTasqNSj2nAwEg4g1B6Yl2syjoVcAoNU/kG2YSFJptFgsGZ38DHzJyZT/ee6iJ8LIPZ5epjBxw==","signatures":[{"sig":"MEUCIGuJWTO6dn5FOsQV+3l8KvW6JhNSuxX3hVtQbDb0t3f4AiEA4JzwbgkQZQmdyhnYXwFTKg3PJ7GRCeW0tPNlDJUhdjA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":940289},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"10712a8d6b4982b617755e62e21cf1e7fd222dd1","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-iT9spp1ZA2AdUTasqNSj2nAwEg4g1B6Yl2syjoVcAoNU/kG2YSFJptFgsGZ38DHzJyZT/ee6iJ8LIPZ5epjBxw==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.8","dayjs":"1.11.20","react":"19.2.5","fastify":"5.8.5","zustand":"5.0.12","react-dom":"19.2.5","@types/react":"19.2.14","@mantine/core":"9.0.2","@mantine/dates":"9.0.2","@mantine/hooks":"9.0.2","@types/express":"5.0.6","@types/react-dom":"19.2.3","react-router-dom":"7.14.1","@vitejs/plugin-react":"6.0.1","react-json-view-lite":"2.5.0","@tanstack/react-query":"5.99.0"},"peerDependencies":{"fastify":">=4","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","@nestjs/swagger":"^11.3.0","reflect-metadata":"^0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.3.3_1778144247806_0.6270954938573823","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@arkv/nestjs-cms","version":"0.3.4","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.3.4","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"8e39d707d38db78fea059024344eb32c0dace3de","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.3.4.tgz","fileCount":27,"integrity":"sha512-nkLptRGrOD9BLqzBNU779Ar7xgX724mL5aN7pmgUr7UK0wBMVi9I2VJa0wn5q6mO3kNC2BeWCgby8kykRgxu9w==","signatures":[{"sig":"MEYCIQD/Ma284Tf+d80I2TOco1vPVqGUSuFC5zGBmEHhdTZSwwIhAIBsr799RqX90zrBOFrCNUiEvXOotaybOO9DceKT1wWz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":940289},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"8e39d707d38db78fea059024344eb32c0dace3de","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-nkLptRGrOD9BLqzBNU779Ar7xgX724mL5aN7pmgUr7UK0wBMVi9I2VJa0wn5q6mO3kNC2BeWCgby8kykRgxu9w==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.8","dayjs":"1.11.20","react":"19.2.5","fastify":"5.8.5","zustand":"5.0.12","react-dom":"19.2.5","@types/react":"19.2.14","@mantine/core":"9.0.2","@mantine/dates":"9.0.2","@mantine/hooks":"9.0.2","@types/express":"5.0.6","@types/react-dom":"19.2.3","react-router-dom":"7.14.1","@vitejs/plugin-react":"6.0.1","react-json-view-lite":"2.5.0","@tanstack/react-query":"5.99.0"},"peerDependencies":{"fastify":">=4","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","@nestjs/swagger":"^11.3.0","reflect-metadata":"^0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.3.4_1782641641123_0.2059246612132808","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@arkv/nestjs-cms","version":"0.4.0","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.4.0","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","dist":{"shasum":"fd82bbef6cfa445ee1f269b040208b66211486ed","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.4.0.tgz","fileCount":26,"integrity":"sha512-8W7z9ormq1akZ8UwQUeYVefIpzGlGW7F6yRh40dpKAcRSFYY/uwY+zqAUGDfrR0SD0P9piP7bIntl6rPKC15fw==","signatures":[{"sig":"MEQCIBDVSIKCZz9VWXLMbkp8dCTxqSrd3F65q09QW3axvdQFAiA0GQLP+cHeUf0P2jJitdqYRva0/3/Ad1r6IpDpcdbuNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":987292},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","shasum":"fd82bbef6cfa445ee1f269b040208b66211486ed","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"p.zarkov","email":"pzarko1@gmail.com"},"_integrity":"sha512-8W7z9ormq1akZ8UwQUeYVefIpzGlGW7F6yRh40dpKAcRSFYY/uwY+zqAUGDfrR0SD0P9piP7bIntl6rPKC15fw==","repository":{"url":"https://github.com/petarzarkov/arkv","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"10.8.3","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"24.3.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.5","dayjs":"1.11.21","react":"19.2.8","fastify":"5.10.0","zustand":"5.0.14","react-dom":"19.2.8","@types/react":"19.2.17","@mantine/core":"9.4.2","@mantine/dates":"9.4.2","@mantine/hooks":"9.4.2","@types/express":"5.0.6","@types/react-dom":"19.2.3","react-router-dom":"7.18.1","@vitejs/plugin-react":"6.0.4","react-json-view-lite":"2.5.0","@tanstack/react-query":"5.101.4"},"peerDependencies":{"fastify":">=4","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","@nestjs/swagger":"^11.3.0","reflect-metadata":"^0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.4.0_1784891607028_0.4176790579786196","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@arkv/nestjs-cms","version":"0.4.1","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"author":{"url":"https://github.com/petarzarkov","name":"Petar Zarkov","email":"pzarko1@gmail.com"},"license":"MIT","_id":"@arkv/nestjs-cms@0.4.1","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","bugs":{"url":"https://github.com/petarzarkov/arkv/issues"},"dist":{"shasum":"086892411e2152467cb26b26b9fb949c2ff651b3","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.4.1.tgz","fileCount":26,"integrity":"sha512-waGOQ9p5TnX+3MevvpZuIxm2ZZhK66fJFss51hfLhfwZKM+umrhpB0SkUEnvXuUAr+cQhzhPc4UTq+PHiA1ObQ==","signatures":[{"sig":"MEUCIB6akRf4j5qfzonlDktmUcC8xJCz8NKNS8u4kiY2cq2KAiEAk/ytRVb+B2He6BSIMn3E4zEdw3VMwEBkgSup1Kv6+R0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arkv%2fnestjs-cms@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":987193},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"07d24fb62dbcb1bf04f3cfba8583027eb1b1cef3","scripts":{"dev":"bun run --parallel dev:ui dev:ts","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev:ui":"cd frontend && bunx vite","build:ui":"cd frontend && bunx vite build","prebuild":"rm -rf dist","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.build.types.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:38f1e1fe-58bb-4f1c-b23d-691c9a5cb737"}},"repository":{"url":"git+https://github.com/petarzarkov/arkv.git","type":"git","directory":"packages/nestjs-cms"},"_npmVersion":"11.10.1","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.5","dayjs":"1.11.21","react":"19.2.8","fastify":"5.10.0","zustand":"5.0.14","react-dom":"19.2.8","@types/react":"19.2.17","@mantine/core":"9.4.2","@mantine/dates":"9.4.2","@mantine/hooks":"9.4.2","@types/express":"5.0.6","@types/react-dom":"19.2.3","react-router-dom":"7.18.1","@vitejs/plugin-react":"6.0.4","react-json-view-lite":"2.5.0","@tanstack/react-query":"5.101.4"},"peerDependencies":{"fastify":">=4","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","@nestjs/swagger":"^11.3.0","reflect-metadata":"^0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-cms_0.4.1_1785064901498_0.5265913862569367","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@arkv/nestjs-cms","version":"0.4.2","description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","license":"MIT","author":{"name":"Petar Zarkov","email":"pzarko1@gmail.com","url":"https://github.com/petarzarkov"},"repository":{"type":"git","url":"git+https://github.com/petarzarkov/arkv.git","directory":"packages/nestjs-cms"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"publishConfig":{"access":"public"},"scripts":{"prebuild":"rm -rf dist","build:ui":"cd frontend && bunx vite build","build:esm":"tsc -p tsconfig.build.esm.json","build:cjs":"tsc -p tsconfig.build.cjs.json","build:types":"tsc -p tsconfig.build.types.json","build":"bun run build:ui && bun run --parallel build:esm build:cjs build:types","postbuild":"echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json && echo '{\"type\":\"module\"}' > dist/esm/package.json","typecheck":"tsc --noEmit","dev:ui":"cd frontend && bunx vite","dev:ts":"tsc -p tsconfig.build.esm.json --watch --preserveWatchOutput","dev":"bun run --parallel dev:ui dev:ts"},"dependencies":{},"devDependencies":{"@mantine/core":"9.4.2","@mantine/dates":"9.4.2","@mantine/hooks":"9.4.2","@tanstack/react-query":"5.101.4","@types/express":"5.0.6","@types/react":"19.2.17","@types/react-dom":"19.2.3","@vitejs/plugin-react":"6.0.4","dayjs":"1.11.21","fastify":"5.10.0","react":"19.2.8","react-dom":"19.2.8","react-json-view-lite":"2.5.0","react-router-dom":"7.18.1","vite":"8.1.5","zustand":"5.0.14"},"peerDependencies":{"@nestjs/common":"^11.1.19","@nestjs/core":"^11.1.19","@nestjs/swagger":"^11.3.0","fastify":">=4","reflect-metadata":"^0.2.2"},"peerDependenciesMeta":{"fastify":{"optional":true}},"gitHead":"a229d13d332246317039420f61689cdcfbeef72e","_id":"@arkv/nestjs-cms@0.4.2","bugs":{"url":"https://github.com/petarzarkov/arkv/issues"},"_nodeVersion":"22.23.1","_npmVersion":"11.10.1","dist":{"integrity":"sha512-Jm9QSAHsAfBzFMy/OMqnnMgQwjX1/a+Z36QAGI7QjjjlL5XnxVd6oT1on/3PVfe4NdSwaIdUDOGM84//Hyx/qQ==","shasum":"fc100a0d02a9bbcfcd7126f8deb83a98d9dcfa2c","tarball":"https://registry.npmjs.org/@arkv/nestjs-cms/-/nestjs-cms-0.4.2.tgz","fileCount":26,"unpackedSize":987082,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arkv%2fnestjs-cms@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHFbn+eRkTseBZZXTnotxaltqLrtE/jWgS8OuglDCkBfAiAzS5p1N4HlK8lpeDbWy0HwafrTeMpDSIClkrJBsN8+pg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:38f1e1fe-58bb-4f1c-b23d-691c9a5cb737"}},"directories":{},"maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-cms_0.4.2_1785066132200_0.6909382417596452"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-13T10:51:04.693Z","modified":"2026-07-26T11:42:12.747Z","0.2.0":"2026-04-13T10:51:05.016Z","0.2.1":"2026-04-15T09:09:50.403Z","0.2.2":"2026-04-15T09:17:31.072Z","0.2.3":"2026-04-15T14:56:06.673Z","0.2.4":"2026-04-15T15:08:26.651Z","0.3.0":"2026-04-16T11:09:28.820Z","0.3.1":"2026-05-05T06:31:57.893Z","0.3.2":"2026-05-05T15:07:20.543Z","0.3.3":"2026-05-07T08:57:27.971Z","0.3.4":"2026-06-28T10:14:01.279Z","0.4.0":"2026-07-24T11:13:27.270Z","0.4.1":"2026-07-26T11:21:41.654Z","0.4.2":"2026-07-26T11:42:12.399Z"},"bugs":{"url":"https://github.com/petarzarkov/arkv/issues"},"author":{"name":"Petar Zarkov","email":"pzarko1@gmail.com","url":"https://github.com/petarzarkov"},"license":"MIT","homepage":"https://github.com/petarzarkov/arkv/tree/main/packages/nestjs-cms#readme","keywords":["admin","cms","dashboard","nestjs","openapi","swagger","typescript"],"repository":{"type":"git","url":"git+https://github.com/petarzarkov/arkv.git","directory":"packages/nestjs-cms"},"description":"Pluggable NestJS admin CMS — auto-generates a dashboard from your OpenAPI/Swagger spec","maintainers":[{"name":"p.zarkov","email":"pzarko1@gmail.com"}],"readme":"# @arkv/nestjs-cms\n\nPluggable admin CMS for NestJS, auto-generated from your OpenAPI/Swagger spec.\n\n## How it works\n\n`@arkv/nestjs-cms` reads the OpenAPI document produced by `@nestjs/swagger`, groups routes into CRUD models, and renders a React admin UI at a configurable path (default `/cms`). No separate resource config is needed — models, fields, pagination style, and auth are all derived automatically from your existing Swagger decorators and security schemes. A `x-cms-*` extension family lets you fine-tune field behaviour without touching application logic.\n\n## Installation\n\n```bash\nbun add @arkv/nestjs-cms\n# or: npm install @arkv/nestjs-cms\n```\n\nPeer dependencies (must already be installed in your project):\n\n```bash\nbun add @nestjs/common @nestjs/core @nestjs/swagger reflect-metadata\n```\n\nIf you use the **Fastify** adapter, also install `fastify` (it is an optional peer dependency):\n\n```bash\nbun add fastify\n```\n\n## Adapter support\n\nBoth NestJS HTTP adapters are supported out of the box.\n\n| Adapter | Status |\n|---|---|\n| `@nestjs/platform-express` | Supported (default) |\n| `@nestjs/platform-fastify` | Supported |\n\nThe adapter is detected automatically at startup via `HttpAdapter.getType()`. No configuration is needed.\n\n## Quick start\n\n### 1 — Import the module\n\n```ts\n// app.module.ts\nimport { NestJsCmsModule } from '@arkv/nestjs-cms';\n\n@Module({\n  imports: [\n    NestJsCmsModule.forRoot({\n      title: 'Admin',\n      apiPrefix: '/api',\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### 2 — Mount the UI\n\nCall `NestJsCmsModule.setup` after `SwaggerModule.createDocument` and before `app.listen`:\n\n```ts\n// main.ts\nimport { NestJsCmsModule } from '@arkv/nestjs-cms';\nimport { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';\n\nconst swaggerConfig = new DocumentBuilder()\n  .setTitle('My API')\n  .addBearerAuth()\n  .addExtension('x-cms-login-endpoint', '/api/auth/login')\n  .addExtension('x-cms-token-path', 'access_token')\n  .build();\n\nconst document = SwaggerModule.createDocument(app, swaggerConfig);\nSwaggerModule.setup('api/docs', app, document);\n\nawait NestJsCmsModule.setup(app, document, {\n  path: '/cms',\n  apiPrefix: '/api',\n  title: 'Admin',\n  lookups: {\n    authorId: { path: '/api/users', labelField: 'name' },\n  },\n});\n\nawait app.listen(3000);\n// CMS UI:  http://localhost:3000/cms\n// Schema:  http://localhost:3000/cms/schema  ← logged automatically\n```\n\nThe CMS URL and schema endpoint are logged automatically once the HTTP server is listening:\n\n```\nLOG [NestJsCmsModule] CMS:    http://localhost:3000/cms\nLOG [NestJsCmsModule] Schema: http://localhost:3000/cms/schema\n```\n\n### Factory-based configuration\n\n`forRootAsync` is available for async or config-driven setups:\n\n```ts\nNestJsCmsModule.forRootAsync({\n  imports: [ConfigModule],\n  inject: [ConfigService],\n  useFactory: (config: ConfigService) => ({\n    title: config.get('CMS_TITLE'),\n    apiPrefix: '/api',\n  }),\n})\n```\n\n## CmsOptions reference\n\nAll options are optional.\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `path` | `string` | `'/cms'` | Mount path for the CMS UI and schema endpoint. |\n| `apiPrefix` | `string` | `'/api'` | Strip this prefix when grouping API paths into models. |\n| `exclude` | `string[]` | `[]` | Resource names (lowercase) to hide from the CMS sidebar. |\n| `title` | `string` | API title from Swagger | Title shown in the CMS header. |\n| `logoUrl` | `string` | built-in SVG | URL for the logo image displayed in the header. |\n| `lookups` | `Record<string, CmsLookup>` | `{}` | Relational dropdowns keyed by field name — applied across all models that contain that field. |\n\n## Pagination\n\nThe schema service inspects the `@ApiQuery` decorators on each collection `GET` endpoint and selects a pagination style automatically. No additional annotation is needed beyond what you already have for Swagger.\n\n| Style | Detected when query params include | Params sent by UI |\n|---|---|---|\n| `page` | `page`, `pageno`, `pagenumber` | `page` + `limit` |\n| `offset` | `offset`, `skip`, `from`, `start` | `offset` + `limit` |\n| `cursor` | `cursor`, `after`, `before`, `token`, `next_token`, `nexttoken` | `cursor` + `limit` |\n| `none` | none of the above | no pagination params |\n\nThe `limit` param is recognised as any of: `limit`, `take`, `size`, `pagesize`, `per_page`, `perpage`.\n\nResponse shapes are unwrapped automatically. A wrapper object with a `data` array (e.g. `{ data: User[], total: number }`) is unwrapped to derive the item schema.\n\n**Page-based example:**\n\n```ts\n@Get()\n@ApiQuery({ name: 'page',  required: false, type: Number, example: 1 })\n@ApiQuery({ name: 'limit', required: false, type: Number, example: 10 })\n@ApiOkResponse({ type: UserPageDto })\nfindAll(@Query('page') page = 1, @Query('limit') limit = 10) { ... }\n```\n\n**Cursor-based example:**\n\n```ts\n@Get()\n@ApiQuery({ name: 'cursor', required: false, type: Number })\n@ApiQuery({ name: 'limit',  required: false, type: Number, example: 10 })\n@ApiOkResponse({ type: PostCursorPageDto })\nfindAll(@Query('cursor') cursor?: string, @Query('limit') limit = 10) { ... }\n```\n\n**Offset-based example:**\n\n```ts\n@Get()\n@ApiQuery({ name: 'offset', required: false, type: Number, example: 0 })\n@ApiQuery({ name: 'limit',  required: false, type: Number, example: 10 })\n@ApiOkResponse({ type: CategoryPageDto })\nfindAll(@Query('offset') offset = 0, @Query('limit') limit = 10) { ... }\n```\n\n## Relational dropdowns (lookups)\n\nWhen a field stores a foreign key (e.g. `authorId`) and you want it to render as a searchable dropdown populated from another resource, configure it in `lookups`:\n\n```ts\nawait NestJsCmsModule.setup(app, document, {\n  lookups: {\n    authorId: { path: '/api/users', labelField: 'name' },\n    categoryId: { path: '/api/categories', labelField: 'title', valueField: 'id' },\n  },\n});\n```\n\nThe key (`authorId`) is the field name as it appears in your DTOs. The lookup applies to every model that contains a field with that name.\n\nDropdown options are displayed as `\"<id> (<label>)\"` — e.g. `\"4 (Jane Smith)\"` — so the actual stored value is always visible. The raw field (e.g. `authorId: 4`) is still shown in the table alongside a resolved column (e.g. `Author: Jane Smith`).\n\n### CmsLookup options\n\n```ts\ninterface CmsLookup {\n  /** API path to fetch options from, e.g. '/api/users' */\n  path: string;\n\n  /** Field on each item to display as the label */\n  labelField: string;\n\n  /** Field on each item to use as the stored value. Default: 'id' */\n  valueField?: string;\n\n  /**\n   * Query param name for server-side search (e.g. 'search', 'q', 'name').\n   * When set, the dropdown fetches as-you-type with a 300 ms debounce\n   * instead of loading all records upfront. Requires the backend to support\n   * this query param.\n   */\n  searchParam?: string;\n\n  /**\n   * Maximum number of records to request.\n   * - Eager mode (no searchParam): sent as ?limit=N on every fetch. Default: 100.\n   * - Server-search mode: sent alongside the search param. Default: 20.\n   */\n  limit?: number;\n}\n```\n\n### Eager mode (default)\n\nWithout `searchParam`, the dropdown loads up to `limit` records once and filters client-side as the user types:\n\n```ts\nlookups: {\n  authorId: { path: '/api/users', labelField: 'name', limit: 200 },\n}\n// fetches: GET /api/users?limit=200\n```\n\n### Server-side search mode\n\nWith `searchParam`, nothing is fetched until the user types. Results are fetched from the server with a 300 ms debounce:\n\n```ts\nlookups: {\n  authorId: {\n    path: '/api/users',\n    labelField: 'name',\n    searchParam: 'search',\n    limit: 20,\n  },\n}\n// fetches: GET /api/users?search=jane&limit=20  (as user types \"jane\")\n```\n\nUse this mode for resources with large record counts where loading all options upfront is impractical.\n\n### Per-DTO annotation\n\nYou can also annotate a specific field directly using `@ApiExtension`, without going through `lookups`:\n\n```ts\n@ApiProperty({ description: 'Author user ID' })\n@ApiExtension('x-cms-lookup',       '/api/users')\n@ApiExtension('x-cms-lookup-label', 'name')\n@ApiExtension('x-cms-lookup-value', 'id')\nauthorId!: number;\n```\n\n## Field types\n\nThe CMS maps OpenAPI property types to the following field renderers:\n\n| OpenAPI type | Format | CMS field type | Rendered as |\n|---|---|---|---|\n| `string` | — | `string` | Text input |\n| `string` | `email` | `string` | Email input |\n| `string` | `password` | `string` | Password input |\n| `string` | `date-time` / `date` | `date` | Date picker |\n| `integer` / `number` | — | `number` | Number input |\n| `boolean` | — | `boolean` | Toggle switch |\n| `string` with `enum` | — | `enum` | Select dropdown |\n| `object` / `object` with `additionalProperties` | — | `object` | JSON textarea with live validation |\n| `array` | — | `array` | JSON textarea |\n| any with `x-cms-lookup` | — | (lookup) | Searchable select |\n\nFields marked `readOnly` in the OpenAPI spec (or via `x-cms-readonly`) are displayed as disabled text inputs and excluded from create/edit payloads.\n\n## OpenAPI extensions reference\n\n### Property-level extensions\n\nSet on individual DTO properties via `@ApiExtension` or `@ApiProperty`:\n\n| Extension | Effect |\n|---|---|\n| `x-cms-hidden` | Exclude this field from the table and all forms. |\n| `x-cms-readonly` | Display the field but prevent editing. |\n| `x-cms-lookup` | Path to fetch relational options from. Renders a searchable dropdown. |\n| `x-cms-lookup-label` | Field name to display as the option label. |\n| `x-cms-lookup-value` | Field name to use as the stored value (default: `id`). |\n| `x-cms-lookup-search` | Query param for server-side search. |\n| `x-cms-lookup-limit` | Maximum records to request from the lookup endpoint. |\n\n### Document-level extensions\n\nSet on the `DocumentBuilder` and apply globally:\n\n| Extension | Effect |\n|---|---|\n| `x-cms-login-endpoint` | Path to POST `{ email, password }` to for the CMS login form. |\n| `x-cms-token-path` | Dot-path into the login response to extract the auth token. Default: `access_token`. |\n\n```ts\nnew DocumentBuilder()\n  .addExtension('x-cms-login-endpoint', '/api/auth/login')\n  .addExtension('x-cms-token-path', 'access_token')\n  .build()\n```\n\n## Auth\n\nThe CMS reads `components.securitySchemes` from the OpenAPI document to determine whether authentication is required.\n\n| Security scheme | Detected as | Behaviour |\n|---|---|---|\n| `http` / `bearer` | `bearer` | Token stored in `localStorage`, sent as `Authorization: Bearer <token>` |\n| `apiKey` in cookie | `cookie` | Credentials sent as a cookie (`credentials: 'include'`) |\n| `oauth2` | `oauth2` | Same as bearer |\n| `apiKey` (header/query) | `apiKey` | Token sent per the scheme definition |\n\nWhen `x-cms-login-endpoint` is present, the CMS renders a login form. On successful login it extracts the token from the response using `x-cms-token-path` and stores it for subsequent requests. If no security schemes are defined, the CMS operates without authentication.\n\n## Logo customisation\n\nPass `logoUrl` to display a custom logo in the header:\n\n```ts\nawait NestJsCmsModule.setup(app, document, {\n  logoUrl: 'https://example.com/logo.png',\n});\n```\n\nThe URL is injected as `window.__CMS_LOGO__` into the served HTML at startup. If omitted, a built-in SVG icon is used.\n\n## Logging\n\nThe module uses NestJS's `Logger` under the context `NestJsCmsModule`, which inherits any custom logger set via `app.useLogger()`. Two log lines are emitted automatically once the HTTP server is listening:\n\n```\nLOG [NestJsCmsModule] Registering CMS routes on express at /cms\nLOG [NestJsCmsModule] CMS:    http://localhost:3000/cms\nLOG [NestJsCmsModule] Schema: http://localhost:3000/cms/schema\n```\n\n## Blueprint JSON\n\n`GET /cms/schema` returns the full computed blueprint as JSON. This is the contract the frontend consumes and is useful for debugging model detection, field types, pagination style, and lookup configuration.\n\n```bash\ncurl http://localhost:3000/cms/schema | jq .\n```\n\nExample response:\n\n```json\n{\n  \"title\": \"Admin\",\n  \"auth\": {\n    \"required\": true,\n    \"scheme\": \"bearer\",\n    \"loginEndpoint\": \"/api/auth/login\",\n    \"tokenPath\": \"access_token\"\n  },\n  \"models\": {\n    \"User\": {\n      \"name\": \"User\",\n      \"endpoints\": {\n        \"list\":   { \"method\": \"GET\",    \"path\": \"/api/users\",       \"pagination\": { \"style\": \"page\",   \"pageParam\": \"page\",     \"limitParam\": \"limit\", \"pageSize\": 20 } },\n        \"create\": { \"method\": \"POST\",   \"path\": \"/api/users\" },\n        \"update\": { \"method\": \"PATCH\",  \"path\": \"/api/users/{id}\" },\n        \"delete\": { \"method\": \"DELETE\", \"path\": \"/api/users/{id}\" }\n      },\n      \"schema\": {\n        \"id\":        { \"type\": \"number\", \"readOnly\": true },\n        \"email\":     { \"type\": \"string\", \"format\": \"email\" },\n        \"name\":      { \"type\": \"string\" },\n        \"role\":      { \"type\": \"enum\",   \"options\": [\"admin\", \"user\"] },\n        \"createdAt\": { \"type\": \"date\",   \"format\": \"date-time\", \"readOnly\": true }\n      },\n      \"createSchema\": {\n        \"email\":    { \"type\": \"string\", \"format\": \"email\", \"required\": true },\n        \"name\":     { \"type\": \"string\", \"required\": true },\n        \"password\": { \"type\": \"string\", \"format\": \"password\", \"required\": true },\n        \"role\":     { \"type\": \"enum\",   \"options\": [\"admin\", \"user\"] }\n      }\n    },\n    \"Post\": {\n      \"name\": \"Post\",\n      \"endpoints\": {\n        \"list\":   { \"method\": \"GET\",    \"path\": \"/api/posts\",       \"pagination\": { \"style\": \"cursor\", \"cursorParam\": \"cursor\", \"limitParam\": \"limit\", \"pageSize\": 20 } },\n        \"create\": { \"method\": \"POST\",   \"path\": \"/api/posts\" },\n        \"update\": { \"method\": \"PATCH\",  \"path\": \"/api/posts/{id}\" },\n        \"delete\": { \"method\": \"DELETE\", \"path\": \"/api/posts/{id}\" }\n      },\n      \"schema\": {\n        \"id\":       { \"type\": \"number\", \"readOnly\": true },\n        \"title\":    { \"type\": \"string\" },\n        \"content\":  { \"type\": \"string\" },\n        \"published\":{ \"type\": \"boolean\" },\n        \"authorId\": { \"type\": \"number\", \"lookup\": { \"path\": \"/api/users\", \"labelField\": \"name\", \"valueField\": \"id\" } },\n        \"metadata\": { \"type\": \"object\" },\n        \"createdAt\":{ \"type\": \"date\",   \"format\": \"date-time\", \"readOnly\": true }\n      }\n    }\n  }\n}\n```\n\n## Example app\n\nA complete working example lives in [`examples/nestjs-cms/`](../../examples/nestjs-cms):\n\n- **Auth**: JWT bearer with login form\n- **Users**: page pagination, email/name/role/password fields, enum role dropdown\n- **Posts**: cursor pagination, relational `authorId` lookup (dropdown), JSON `metadata` field\n- **Categories**: offset pagination\n- **Database**: Drizzle ORM + Bun SQLite — no Docker, Redis, or Postgres required\n\n```bash\ncd examples/nestjs-cms\nbun dev\n```\n\n| URL | Description |\n|---|---|\n| `http://localhost:3000/api` | REST API |\n| `http://localhost:3000/api/docs` | Swagger UI |\n| `http://localhost:3000/cms` | CMS UI |\n| `http://localhost:3000/cms/schema` | Blueprint JSON |\n\nLogin credentials (seeded on first run):\n\n| Email | Password | Role |\n|---|---|---|\n| `admin@example.com` | `admin123` | admin |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}