{"_id":"@grbn/kit","_rev":"42-aa120864457667b09524c72463ce0bc9","name":"@grbn/kit","dist-tags":{"alpha":"0.0.0-alpha.7","stable":"0.0.5","latest":"0.0.23"},"versions":{"0.0.0-alpha.0":{"name":"@grbn/kit","version":"0.0.0-alpha.0","_id":"@grbn/kit@0.0.0-alpha.0","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"mirr":"dist/src/bin/copy.js","clean-md":"dist/src/bin/clean-md.js","watch-n-run":"dist/src/bin/watch-n-run.js","swc-ts-build":"dist/src/bin/swc-ts-build-runner.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"5a7d5d50156c7a98e79518efd4b3f7f9540b3409","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.0-alpha.0.tgz","fileCount":336,"integrity":"sha512-MqCtShRjZFYlIZSJI6I+BuX8oiilTTdW6ixZijVZ/TtI4JPvH+c9l5Wt/HKHI8grKRysLAzydfh1YdIJ8glbiw==","signatures":[{"sig":"MEUCIQC4MEPeMF7qTf8m6Wf4W7/aShCj4kABsh8pjP+G90vNMAIgJ9yQImmlQotM/Q3iwXtL8fM3+zsCYFndHTiXst2Kqf0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2180599},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/index.js","./*":"./dist/src/*"},"gitHead":"11cfb9748fcb22306a4c0020a1f7164f12ae6a5b","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn tsx ./src/bin/swc-ts-build.ts -s src -d dist/src -p tsconfig.build.json","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ../kit-wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.8","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.0-alpha.0_1762281687314_0.6242260126249808","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.1":{"name":"@grbn/kit","version":"0.0.0-alpha.1","_id":"@grbn/kit@0.0.0-alpha.1","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","watch-n-run":"dist/src/bin/watch-n-run.js","swc-ts-build":"dist/src/bin/swc-ts-build-runner.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"d08f5a874fc015cb003db71421a47f379701a481","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.0-alpha.1.tgz","fileCount":336,"integrity":"sha512-q+Mnea7RJYX4EBr4lZdSwGP0Ic+xSLjVOVo0HvdHf9GN3/O4j1E4AiK5eFBV/oavGYTcUA34oeb54EsT9fUobA==","signatures":[{"sig":"MEUCIF0w6lNFiijW8OmSyz8i1LvJSIMxViu7V7KR2cy2kZIlAiEAyvKuxTi8ds3p1mLz7Ei7LnznYG+AdvPquayg+FBiEhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2180145},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/index.js","./*":"./dist/src/*"},"gitHead":"30bca6bae8eb092456c89eff9fdf6d4660b86583","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn tsx ./src/bin/swc-ts-build.ts -s src -d dist/src -p tsconfig.build.json","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ../kit-wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.8","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.0-alpha.1_1762283912125_0.15691285455631565","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.2":{"name":"@grbn/kit","version":"0.0.0-alpha.2","_id":"@grbn/kit@0.0.0-alpha.2","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","watch-n-run":"dist/src/bin/watch-n-run.js","swc-ts-build":"dist/src/bin/swc-ts-build-runner.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"33baeff296131df668a417a94e859e742fbc5e41","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.0-alpha.2.tgz","fileCount":338,"integrity":"sha512-4pVjQX7L8GVdq2KfG9KShQigdoTgBLEzmeZj7BjbUGFbLtwVgwJp9N2AHWkFOg8XJvmLDDHd5Jvx5eQfdDNJ8w==","signatures":[{"sig":"MEYCIQD+VfARXSkeSSAZBcPlc/YJMNNR+wTYSEDQhKbp9xxUAwIhAKAv9I+8SfoH4lvNZXxAJehEng7bIY3hCIxSNr6FH1AW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2166056},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/index.js","./*":"./dist/src/*"},"gitHead":"957a4bd999ff03d45dbb3d0d0f5914e61e7e2752","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn tsx ./src/bin/swc-ts-build.ts -s src -d dist/src -p tsconfig.build.json && cp -r ./src/helpers/ ./dist/src","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ../kit-wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.8","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.0-alpha.2_1762284282520_0.5872934565699552","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.3":{"name":"@grbn/kit","version":"0.0.0-alpha.3","_id":"@grbn/kit@0.0.0-alpha.3","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","watch-n-run":"dist/src/bin/watch-n-run.js","swc-ts-build":"dist/src/bin/swc-ts-build-runner.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"e6340605c6e57ced37387466c980ef57ebbf2f37","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.0-alpha.3.tgz","fileCount":338,"integrity":"sha512-g7p3j/10WAlpQlruCaqkKhjN6pMs3YqK6IIPkMLs8slxqxM0UvZSuwn+QijvPaEGrdVF5y5x2t4foY4urKj/rg==","signatures":[{"sig":"MEUCIF3d9csSmp3ohGMcfHqOcTV1JLyJzL6gCGPwpWs7FKg0AiEA3RQevENjB7nmY9GrG7xRyeDkxH1c5MWjqqbsL0pBgok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2167289},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/index.js","./*":"./dist/src/*"},"gitHead":"e8d14aa840b702495babcb0d8b2b681d057f4372","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn tsx ./src/bin/swc-ts-build.ts -s src -d dist/src -p tsconfig.build.json && cp -r ./src/helpers/ ./dist/src","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ../kit-wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.8","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.0-alpha.3_1762285429125_0.45254285878065503","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.4":{"name":"@grbn/kit","version":"0.0.0-alpha.4","_id":"@grbn/kit@0.0.0-alpha.4","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","watch-n-run":"dist/src/bin/watch-n-run.js","swc-ts-build":"dist/src/bin/swc-ts-build-runner.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"1f922ae6b8830bcff72d611efa64ab5021740c4c","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.0-alpha.4.tgz","fileCount":338,"integrity":"sha512-3DeQO4molydcICsgmmleu6j1ZktL/AuIWVtGbhyhJvV2CD20M1nbnR5i9ZfQKoPkQEQBsutj8QNZm9sd+1POzw==","signatures":[{"sig":"MEQCIA1IFkN/5qVvyDgpEU9CARLOQq+7q6fonh87UQKv1oFeAiBAbN04LKUjtpatOVW36/iM8fL7coBubDs4z33obPZs5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2167315},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/index.js","./*":"./dist/src/*"},"gitHead":"6e251f56a45618b507e7d596b02f439859495b25","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn tsx ./src/bin/swc-ts-build.ts -s src -d dist/src -p tsconfig.build.json && cp -r ./src/helpers/ ./dist/src","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ../kit-wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.8","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.0-alpha.4_1762293864981_0.20274010760948147","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.5":{"name":"@grbn/kit","version":"0.0.0-alpha.5","_id":"@grbn/kit@0.0.0-alpha.5","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","watch-n-run":"dist/src/bin/watch-n-run.js","swc-ts-build":"dist/src/bin/swc-ts-build-runner.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"d0e6be27f1c8659855c7dcad63e3b2e7f13e8785","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.0-alpha.5.tgz","fileCount":338,"integrity":"sha512-xal771iuqcfaJe5pOrBdeFOtjOVDKI8toVcI3Q2aWOzExGbaNL3laVhbWFLlLlyiiZPX9Bfy7Wv7ltnzUVo8MA==","signatures":[{"sig":"MEUCIGe4p7Bc9riyajnu1b5lZMxFqPv6BtvF9PHnSiEyqCnmAiEA26TkL6l+kfOQHyUs5loSBVW3zpfcluzZYCsctdBeDxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2167389},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/index.js","./*":"./dist/src/*"},"gitHead":"600f7004ad094613f7120bad751e0ac31fa76b0d","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn tsx ./src/bin/swc-ts-build.ts -s src -d dist/src -p tsconfig.build.json && cp -r ./src/helpers/ ./dist/src && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declaration","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ../kit-wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.8","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.0-alpha.5_1762333292113_0.14484119885194602","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.6":{"name":"@grbn/kit","version":"0.0.0-alpha.6","_id":"@grbn/kit@0.0.0-alpha.6","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","watch-n-run":"dist/src/bin/watch-n-run.js","swc-ts-build":"dist/src/bin/swc-ts-build-runner.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"3659fcd62eca600086abdb422722c2c90d00bd86","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.0-alpha.6.tgz","fileCount":433,"integrity":"sha512-tDel422sFBYk520zu5NSJipveCb7Tstt7o8wJwwgOXP0zx4rUxOI+PIBM8ECJy+Nh4VZvrjNB90NutRZdf7AKA==","signatures":[{"sig":"MEUCIE5QCM4d5OZVRytIpSd2VSiOETv669CBQHRufGqbw996AiEAwJudMwEoZNS4BIJt15RfgYFOuvgUZOL5YHESTZDq0/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2337359},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/index.js","./*":"./dist/src/*"},"gitHead":"1974e9ce5814ce40ef1c58d1faa385f9fa4d4783","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn tsx ./src/bin/swc-ts-build.ts -s src -d dist/src -p tsconfig.build.json && cp -r ./src/helpers/ ./dist/src && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declaration","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ../kit-wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.8","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.0-alpha.6_1762334115581_0.7413813281271957","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.7":{"name":"@grbn/kit","version":"0.0.0-alpha.7","_id":"@grbn/kit@0.0.0-alpha.7","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"b9114033b7b336509496565d5a2ba16933c98a56","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.0-alpha.7.tgz","fileCount":332,"integrity":"sha512-CNqMUlnmtfuYVdx0Q+QXLkVG9R9pzlOpu7vqh2v8qZ/OFuZdBgTKSUagR79vYnp9KRxQLeGrzK8kvzLiqCvvNQ==","signatures":[{"sig":"MEUCIFu7d0I5Qlu9SLJRkzmY/YQN1VVdiyqIKnJ2COoS/k0kAiEAiI971A5Jf3CzbxxoQ4msXJvjio4YUsjW915J26AoRgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2130476},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/index.js","./*":"./dist/src/*"},"gitHead":"68e1691aa0857d7a2c6332599cae1b724a2e9b0c","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -r ./src/helpers/ ./dist/src && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ../kit-wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.1","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.8","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.0-alpha.7_1762335874699_0.01130748094110312","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@grbn/kit","version":"0.0.1","_id":"@grbn/kit@0.0.1","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"262320ce4a86961ab40bddc6bca9bba9c10ea5d7","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.1.tgz","fileCount":415,"integrity":"sha512-hcwdfjnbpVDjsMHJkM9C0zn93k1jziNlTcEnRCkgv198Sc4IMqNNuIiiUEbWiHl8b0+wJBM0PSMlnLY0VWmdhw==","signatures":[{"sig":"MEQCIHaqgNo2DvYKZYXh64XKF/wRCu9SonL0XeN3YkAAenlTAiBifI6lsSyNYtEIKKi31ppGO2HSeQnliKrwGLzvENYfxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2279596},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"228cdac145640b83e58e8002148d68f3dc7d494e","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -r ./src/helpers/ ./dist/src && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/Home.md)","coverage":"yarn test --coverage"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"My collection for every fullstack project — personal TypeScript utilities and data structures.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.1","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.1_1763467791593_0.5784935011961247","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@grbn/kit","version":"0.0.2","_id":"@grbn/kit@0.0.2","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"6539df647c4d17c37d71ec87093bd72eaf58d50b","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.2.tgz","fileCount":367,"integrity":"sha512-4HoRWLJkZzj/EGcXlvbxOdLFW4NthdDrXSapuLpgQ+uWW20I+EN9XNoYVwJn1y5QISWVEVl0aDYtEdNevDGu0A==","signatures":[{"sig":"MEUCIFonGyVi15ctPgufPY0CmTTGhFhxvCX1jm8MCRNq+WUAAiEA0YSHst3WOSfQnqYL7W+XYO/dpvvcigXQiwIOoUPqSwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2465234},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"16970da56b791ea97745dfaa0a50d9b95949f6bd","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/{package,project,tsconfig}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.2","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.2_1763526296650_0.7028220747175697","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@grbn/kit","version":"0.0.4","_id":"@grbn/kit@0.0.4","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"31473e92b84cde7d1da0eb679ae199481c3eb397","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.4.tgz","fileCount":373,"integrity":"sha512-bWsYC4lSZE9z0ToGao/11WIGQ2mtTmP/8fhUQB/MNcGwdV3B4GsFDjn2O1MssfC5hyNtOLgj2Jm/ejSUJX/n1w==","signatures":[{"sig":"MEUCIQCzhjrV9ta4kDhtHF7fEYL6GCUfyvhMrS8B6X/UHjaJegIgOY4RxLOe2GGn2Mlwc3AcqblE42inJb4cEL0ltjK/sO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2526538},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"8f103f270ee7e07174f3b99efd44fc39c626cbff","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/{package,project,tsconfig}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.2","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.4_1763549728813_0.3771019334754344","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@grbn/kit","version":"0.0.5","_id":"@grbn/kit@0.0.5","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"a3d1743b0cd2a2db8c10b9146c16f542b4519655","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.5.tgz","fileCount":380,"integrity":"sha512-7G28x0sg0kXKWfQsGN/fOUgIDUYaio0c5RkLLipiRsq8WRRVvNnnvqVCxUIIW/mAsad8CnVW3w9BLdCt0WNpuQ==","signatures":[{"sig":"MEUCIQCqPhn44rSW4W48/F3rnAKYczr65JIgOD5F8yL/fAn7xwIgXCWGHoMXQgWGsBsyDvJ1ruVbtaCdDanMqvnk5Q2d6MU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2567344},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"ec465b6e47e708a8ef4d0428d6692d00149ad444","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/{package,project,tsconfig}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken","_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","readmeFilename":"README.md","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.2","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.5_1764143181495_0.44227691472660235","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@grbn/kit","version":"0.0.7","_id":"@grbn/kit@0.0.7","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"022281583fac870893b6ca5c60122139b9cfd7b2","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.7.tgz","fileCount":377,"integrity":"sha512-SUfm0pFQbIel4r8MgSN1gWLPPwxpsIgUv9cscMKEiMVj1jK/Ax7gGI5sAzbSsSNSkOV5nXGZao3db5vNkQRnEA==","signatures":[{"sig":"MEUCICD75JahVkw+tgU0fVCfJwZysm/K2xHorZ0ikFptoUsrAiEA4dBDDcdfVFWPGlVwvKgxQVLBlzbiD0q/0/XqAcnhGxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2106676},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./node":"./dist/src/node/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"b53920de53ceea0c4661ecf53d9d918e77a8bb0f","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.3","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.7_1764928775992_0.10939129520796698","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@grbn/kit","version":"0.0.8","_id":"@grbn/kit@0.0.8","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"0653cd0e60b3b358ccfff3dfbd84d4069ab41010","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.8.tgz","fileCount":392,"integrity":"sha512-7VYhpSjytxC+S4XAbYGItlCwbseZ0QIonwvx/6S9NRRzr4RbmF4YQNP+tWIjlN1bE8XnFROAB/fhpKtwYCQD3Q==","signatures":[{"sig":"MEUCIQCbj1K+LB7r1TsP0dSzlZcMEFTsRbN1jLTQQ5sVVhAg4gIgcmsavlcea++/tIduWqK1FS3kF8iE4187FwIrnhZvyKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2144953},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./node":"./dist/src/node/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"08e7086e64cef383cbb8c077ad987d997eee160e","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"deprecated":"broken react-stuff","_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.3","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.8_1764939408435_0.7689412719798496","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@grbn/kit","version":"0.0.9","_id":"@grbn/kit@0.0.9","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"3c5e231e0b9d58a745f9e3d9b9009450fae53b4a","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.9.tgz","fileCount":404,"integrity":"sha512-iBCY4hTZL2CJwWJ94VKndOPX6vtth4jzw6rmv4bu57NjCNdPoJBCnMCaocPOoo2yukI84ZN40/M9sHwSQZmRAQ==","signatures":[{"sig":"MEYCIQDSIBE9Y4iH+T69nDNkVM6Yks4sog+wivZED3swAuuuOwIhALZUTqEVhNykIoPd7ppSvoYCOWiktEYGdH5a30lzlbz6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2246022},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./node":"./dist/src/node/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"34a16f4a6ae3a8496e569db8cba8867e904e29a7","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.4","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.9_1765224157465_0.9197334746460573","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@grbn/kit","version":"0.0.10","_id":"@grbn/kit@0.0.10","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"58a94bbb90579d49c754b0552af42f45bb471ea1","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.10.tgz","fileCount":404,"integrity":"sha512-HtpXXwsUKWSbo5fYhZtrtb1yhCMbW99+aLl0kzlkkER6DB80cqVDHahItPOkYwfgp3OwN819hu0KFHnz1aZgCw==","signatures":[{"sig":"MEUCIQDdj4kYcD6J7wLL+U6Vzi8Xee1A8Rki2nf+JB+QNdJhuAIgWe3ytqe5Vjf7vh99gsk+NT1mvDbssfkuFtOU5Jm1cwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2245950},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./node":"./dist/src/node/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"7f9b59f512df534a4392467a8264908f4145c65d","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.4","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.10_1765224589004_0.6028973777131745","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@grbn/kit","version":"0.0.11","_id":"@grbn/kit@0.0.11","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"f39fa8ea1c5957145c43cc7e29bca3873a748f57","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.11.tgz","fileCount":404,"integrity":"sha512-HXFpWT+IrsZn/8GWWSaObloPMLZi4Md1+RTs+LgoDzVrqVrOvgv9ojvMoqFdzgQV5BZkKaNvmDk/rSFuGHUCxQ==","signatures":[{"sig":"MEUCIQD80olJoaQgC+Od51l6kSu+qiUjMmXy/gL7v4yd4Cof+wIgHwEEWVtVNQeOvrwMd3svguKiNxpc3vI6/NetAlR7s6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2245026},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./node":"./dist/src/node/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"ab46b2a2cae782d1ab6a9d6c5184df9900eaad77","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.4","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.11_1765224890561_0.5253535434249572","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@grbn/kit","version":"0.0.12","_id":"@grbn/kit@0.0.12","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"3542f5d9d6e4b5de9fe04a464db3d25d2cdd1beb","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.12.tgz","fileCount":407,"integrity":"sha512-956NHe+uLipZc9oXZC5KecDtYapJLDDEOBSgOr1x3pn7Hjob6GWqMRTLXWwaFxyohtvD2eGca+kdb/8sQPIJeQ==","signatures":[{"sig":"MEUCIQCsNfzt2YJn/Yn/1ei99Ru/AIkp+LlwyDTWdqf3aI2HXgIgdSGk0NEwKhZOoEU0aLbFHw2rRTXfw1p25XpiWj/4u0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2249600},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./node":"./dist/src/node/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"bcdff5beb81a97a41be54dcbf3fb906d3f522248","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.4","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4.17.20","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","lodash":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.12_1765229593664_0.3111965439690638","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@grbn/kit","version":"0.0.13","_id":"@grbn/kit@0.0.13","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"872811a80f8ad099b4a5e61169099de72e1cc1a2","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.13.tgz","fileCount":407,"integrity":"sha512-Yp8LUyBS0cdrRVtIzOghAIp4GOm67bRlYlyACICh4TEfVIIGhF8zNK9TFJ/p7AZlc/IloMWQQ+y6tTEQD4ZN6w==","signatures":[{"sig":"MEQCIE/p+PsAPPDnW/fVPjjH9687pMPhvhOPMs03nkc/K9O1AiAe8RVktlDOEjTeC3LAxMsijjVbLdg0pH3JBX10RKfrCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2323728},"main":"./dist/src/core/index.js","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./node":"./dist/src/node/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"1d952ede278c8ab6a5346c3118d36e901170c201","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.4","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.13_1765363434962_0.8604235281651558","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@grbn/kit","version":"0.0.14","_id":"@grbn/kit@0.0.14","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"2241198767bc9cf5137f707aa14228dd7d1c67c2","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.14.tgz","fileCount":407,"integrity":"sha512-1VZ9Nh5srZGbASR7aMO9nLRnXPwqCb282bb09NZLYsy7d1xlaoiFmffYSjp2kYDTtdIQbhk6om/knpo++i7LaA==","signatures":[{"sig":"MEQCIHVOyjqeDoVfgf+F0fpu3KRkFih+lKFUB2tF61UtEUeFAiB+F/D6mWy6wGqEZp4IWDo9lm2K7pn7gVZv2yPOYeNyew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2323772},"main":"./dist/src/core/index.js","type":"module","types":"./dist/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":"./dist/src/core/index.js","./*":"./dist/src/core/*","./zod":"./dist/src/zod/index.js","./mobx":"./dist/src/mobx/index.js","./nest":"./dist/src/nest/index.js","./node":"./dist/src/node/index.js","./react":"./dist/src/react/index.js","./redis":"./dist/src/redis/index.js","./prisma":"./dist/src/prisma/index.js","./graphql":"./dist/src/graphql/index.js","./react/mobx":"./dist/src/react/mobx/index.js","./helpers/eslint-parts.mjs":"./dist/src/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/src/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/src/helpers/eslint-parts-front.mjs"},"gitHead":"64d7fac0529df9b99680570b15fa619e4cdd1b4c","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn swc-ts-build -s src -d dist/src -p tsconfig.build.json && cp -R ./src/helpers/ ./dist/src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' './dist' && cp -R ./dist/_declarations/* ./dist/ && rm -rf ./dist/_declarations","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.4","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.14_1765364506950_0.4388615305835899","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@grbn/kit","version":"0.0.15","_id":"@grbn/kit@0.0.15","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"6d940a1b3b29730900c87ec0965a2f9f1dea208a","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.15.tgz","fileCount":804,"integrity":"sha512-6h/XviyMAVEz5QlTxE/dC4hvaPOmUdgCY5dkUPCZwLRx+LDqar6/YNmKCso+FiRtmRSv6GnY+kM3CW4hqNknQg==","signatures":[{"sig":"MEYCIQDRBxz8YeF5hGNdzldWB+Jwfwo17RSuBc24iAkgcHmtLgIhAPynecAClO0+RWct4fdOl6xkJ+tNQray3ByNXF/4xlB2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3827908},"main":"./dist/cjs/src/core/index.js","type":"module","types":"./dist/cjs/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","default":"./dist/cjs/src/core/index.js","require":"./dist/cjs/src/core/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs"},"gitHead":"56a74e4ce90c873b28da2257d65b5d284dfdc0d7","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\": \"module\"}' > dist/esm/package.json","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.6","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.15_1765376189863_0.6282600296564105","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@grbn/kit","version":"0.0.16","_id":"@grbn/kit@0.0.16","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/src/bin/clean-md.js","dotenv-flat":"dist/src/bin/dotenv-flat.js","watch-n-run":"dist/src/bin/watch-n-run.js","build-info-gen":"dist/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"9a5c766f0c7333bc20b86a346bc9e13259d706d8","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.16.tgz","fileCount":804,"integrity":"sha512-acCwnqLTMrFCC1XjwzSnWxpZq/ipq8Hq6rbcLBg08H3R1q8mM5IF8tV9aZHMyerN5msSk9kREbYy5v/XUTWtKA==","signatures":[{"sig":"MEUCIQDDU0n6ENeJ2dN1FDWUPJDZUKRHjgebeV5sbkjEUqrAQAIgasuQlyxGOHBMyUjQC5d1ZnoUhFlfXxHHyQJ3iWsWOlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3823987},"main":"./dist/cjs/src/core/index.js","type":"module","types":"./dist/cjs/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","default":"./dist/cjs/src/core/index.js","require":"./dist/cjs/src/core/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs"},"gitHead":"a5a2cf87e537dc64093574680241b2b43f2078c6","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\": \"module\"}' > dist/esm/package.json","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.6","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.16_1765377691451_0.36662110108989987","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@grbn/kit","version":"0.0.17","_id":"@grbn/kit@0.0.17","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/cjs/src/bin/clean-md.js","dotenv-flat":"dist/cjs/src/bin/dotenv-flat.js","watch-n-run":"dist/cjs/src/bin/watch-n-run.js","build-info-gen":"dist/cjs/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/cjs/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/cjs/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"1ba448af61310fd90cdf4cc72fc764f2444f8d67","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.17.tgz","fileCount":804,"integrity":"sha512-uP84H09FpCkOeAjiS+Y0xWB/gxDy2YFBO0QUSw3WkI0zFRzNrZHuim88Lfkn5vdt/w0o+Hm3ooH4fbqKNR9Vpw==","signatures":[{"sig":"MEUCIQDj1ATKb/UJOQmPlcPVYV12IGga6o1BT6PKg1bMofMUKAIgEGmw2ytQy//8bLCEhvMuE+9EkazbMH8sMCaKoB6eKiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3824011},"main":"./dist/cjs/src/core/index.js","type":"module","types":"./dist/cjs/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","default":"./dist/cjs/src/core/index.js","require":"./dist/cjs/src/core/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs"},"gitHead":"dffcba53baac82dc39020b0bae714099fb404a47","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\": \"module\"}' > dist/esm/package.json","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.6","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.17_1765378907625_0.25384618585496144","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@grbn/kit","version":"0.0.18","_id":"@grbn/kit@0.0.18","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/cjs/src/bin/clean-md.js","dotenv-flat":"dist/cjs/src/bin/dotenv-flat.js","watch-n-run":"dist/cjs/src/bin/watch-n-run.js","build-info-gen":"dist/cjs/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/cjs/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/cjs/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"0846a2153be2b6c2b09edd18d3c2cb2b47ec1c66","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.18.tgz","fileCount":804,"integrity":"sha512-2I0+8oKW1FtiAQwofYoS+PD1+BmS8zQQoukUNG5+1BA05SLieXOykuiznDAnB35r2hpS6V4VwOY3VdYmJk03zQ==","signatures":[{"sig":"MEYCIQCYTCGjVrdoRU4c6PaNszHISoBkQ4aZW+aiETCvr1pSSQIhANdTgDHT3CX53reHrh3V1PLBAxftAQ1HxEzImtbIQOTt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3820340},"main":"./dist/cjs/src/core/index.js","type":"module","types":"./dist/cjs/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","default":"./dist/cjs/src/core/index.js","require":"./dist/cjs/src/core/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs"},"gitHead":"613f4f5b9f8145c828026a730f2abdeeaa25403a","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\": \"module\"}' > dist/esm/package.json","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.6","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.18_1765379357570_0.930140823833068","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@grbn/kit","version":"0.0.19","_id":"@grbn/kit@0.0.19","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/cjs/src/bin/clean-md.js","dotenv-flat":"dist/cjs/src/bin/dotenv-flat.js","watch-n-run":"dist/cjs/src/bin/watch-n-run.js","build-info-gen":"dist/cjs/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/cjs/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/cjs/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"091e490ec49dac8c6fa3854f97c41d557e7fa5e3","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.19.tgz","fileCount":804,"integrity":"sha512-UMc4RN+tA/+101laSML6z4tO1sqJ//B9lI5fOcgfaD4LEc0JH07vJtwbJ6Yj35f9/DzQ8hnpwJsD6fwXDXWqpg==","signatures":[{"sig":"MEUCIGnKojMYotdwRirbhZFJou+r6dPFdy1XwTSxHgZv74kiAiEApoyz0PdAak007q5cTGtYq8Q0pfSnHEK0QXoux/RFfYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3820380},"main":"./dist/cjs/src/core/index.js","type":"module","types":"./dist/cjs/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","default":"./dist/cjs/src/core/index.js","require":"./dist/cjs/src/core/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs"},"gitHead":"c606b2864b098c8569d9c90a69dec5a2d5adc76b","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\":\"module\",\"sideEffects\":false}' > dist/esm/package.json","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.6","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.19_1765380014429_0.27210233108933","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@grbn/kit","version":"0.0.20","_id":"@grbn/kit@0.0.20","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/cjs/src/bin/clean-md.js","dotenv-flat":"dist/cjs/src/bin/dotenv-flat.js","watch-n-run":"dist/cjs/src/bin/watch-n-run.js","build-info-gen":"dist/cjs/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/cjs/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/cjs/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"1958230b5f45e3966411720858db0174377beb58","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.20.tgz","fileCount":1044,"integrity":"sha512-+7Hq+ZLGWnyh0R0m8zlj/YsFNH/ZmlgoHYRAMAJVkHEjIa++KgJbJV2UREObWWVsRXv/UVMYey/H2ZsYNnU0FQ==","signatures":[{"sig":"MEUCIFb1dqvz5ohIG5nyuk6If8pN8qocK19V7Pw7Eb85v3XRAiEAlc3BXQzWQNU4GAtDIX07J4Sff5fj+drhvQ3UAAM1ubs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4046936},"main":"./dist/cjs/src/core/index.js","type":"module","types":"./dist/cjs/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","default":"./dist/cjs/src/core/index.js","require":"./dist/cjs/src/core/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs"},"gitHead":"4f48b96d81460da1e6919a1f0ae9288cafd27829","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\":\"module\",\"sideEffects\":false}' > dist/esm/package.json","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.6","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.20_1765463063699_0.3460142503281747","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@grbn/kit","version":"0.0.21","_id":"@grbn/kit@0.0.21","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"bin":{"clean-md":"dist/cjs/src/bin/clean-md.js","dotenv-flat":"dist/cjs/src/bin/dotenv-flat.js","watch-n-run":"dist/cjs/src/bin/watch-n-run.js","build-info-gen":"dist/cjs/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/cjs/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/cjs/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"6f49ac169a5ff9b274b30bf32280219ca141b8e6","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.21.tgz","fileCount":1044,"integrity":"sha512-tvjNHNmecjHhm3xrb7y/BDbORZ+d8Vq/IJrRKTY+Njv7td0z06GPh70eIdI3rX+V9YQWK/MKdWbO2XJgJeWGXw==","signatures":[{"sig":"MEYCIQDix0fcr6xyyZ+axVF0SyD7b8bgWYSyQaweY9KFdUWXNgIhANLC1692lMCVi28coKyYy+hev7iP+Z+e7onbj2ELGDAd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4045251},"main":"./dist/cjs/src/core/index.js","type":"module","types":"./dist/cjs/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","default":"./dist/cjs/src/core/index.js","require":"./dist/cjs/src/core/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs"},"gitHead":"4f48b96d81460da1e6919a1f0ae9288cafd27829","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\":\"module\",\"sideEffects\":false}' > dist/esm/package.json","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"iagurban","email":"iagurban@gmail.com"},"_npmVersion":"11.6.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"lodash-es":"^4.17.21","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.1","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","p-limit":"^7.2.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.6","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","p-limit":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.21_1765463582299_0.9469079122053614","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@grbn/kit","version":"0.0.22","_id":"@grbn/kit@0.0.22","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"homepage":"https://github.com/iagurban/kit#readme","bugs":{"url":"https://github.com/iagurban/kit/issues"},"bin":{"clean-md":"dist/cjs/src/bin/clean-md.js","dotenv-flat":"dist/cjs/src/bin/dotenv-flat.js","watch-n-run":"dist/cjs/src/bin/watch-n-run.js","build-info-gen":"dist/cjs/src/bin/build-info-gen.js","fix-graphql-codegen":"dist/cjs/src/bin/fix-graphql-codegen.js","fetch-unicode-letters-ranges":"dist/cjs/src/bin/fetch-unicode-letters-ranges.js"},"dist":{"shasum":"e064bb6a7a6c5804bb5b3fb2f3aee98d0c2cfc9d","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.22.tgz","fileCount":1044,"integrity":"sha512-8fZzvUJAIGBIU+Su65yUFh+KrI6uaW0WdUHLaqTgIiHsLupSbsux2PMrMPUVUEw8BO4nHHIBzM6kONqpV2L1fg==","signatures":[{"sig":"MEYCIQD+sAtFlC4oRLdTIWIT/VgaIPmHAW6XDm3cpG51DVzgYgIhAPZ0t4YUMlpXl9wMKhndMKFfT9atNzQKeZp9xBKlnLAE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grbn%2fkit@0.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4044289},"main":"./dist/cjs/src/core/index.js","type":"module","types":"./dist/cjs/src/core/index.d.ts","engines":{"node":">= 12"},"exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","default":"./dist/cjs/src/core/index.js","require":"./dist/cjs/src/core/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs"},"gitHead":"31678b119b4df5f2c0e81bb84d8c727115c0e273","scripts":{"lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","test":"yarn jest --maxWorkers=4","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod","coverage":"yarn test --coverage","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\":\"module\",\"sideEffects\":false}' > dist/esm/package.json","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cf4fad2d-8a03-4971-ad40-ab31e05980c5"}},"repository":{"url":"git+https://github.com/iagurban/kit.git"},"_npmVersion":"11.7.0","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","directories":{},"resolutions":{"p-limit":"3.1.0"},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"p-limit":"^7.2.0","lodash-es":"^4.17.21","yocto-queue":"^1.2.2","@mrleebo/prisma-ast":"^0.12.1","@loancrate/prisma-schema-parser":"^3.0.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"ajv":"^8.17.1","tsx":"^4.20.6","zod":"^4.1.12","clsx":"^2.1.1","glob":"^11.0.3","jest":"^30.2.0","libs":"^0.1.2","mirr":"^0.0.3","mobx":"^6.15.0","rxjs":"^7.8.2","tsup":"^8.5.0","react":"^19.2.0","yargs":"^18.0.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","eslint":"^9.38.0","lodash":"^4.17.21","rimraf":"^6.0.1","express":"^5.1.0","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","nodemon":"^3.1.10","ts-jest":"^29.4.5","ts-node":"^10.9.2","typedoc":"^0.28.5","@swc/cli":"^0.7.8","chokidar":"^4.0.3","jwks-rsa":"^3.2.0","ntp-time":"^2.0.8","prettier":"^3.6.2","@swc/core":"1.13.5","concat-md":"^0.5.1","jest-util":"^30.2.0","@eslint/js":"^9.38.0","dataloader":"^2.2.3","mobx-utils":"^6.1.1","typescript":"^5.9.3","@nestjs/jwt":"^11.0.1","@types/jest":"^30.0.0","@types/node":"^24.7.2","@grbn/swc-ts":"^0.0.6","@nestjs/core":"^11.1.9","@swc/helpers":"^0.5.17","@types/react":"^19","@types/yargs":"^17.0.34","ioredis-mock":"^8.9.0","passport-jwt":"^4.0.1","@dnd-kit/core":"^6.3.1","@mantine/core":"^8.3.6","@types/bcrypt":"^6","@types/lodash":"^4","documentation":"^14.0.3","dotenv-expand":"^12.0.3","mobx-keystone":"^1.11.4","@apollo/client":"^4.0.9","@nestjs/common":"^11.1.9","@types/express":"^5","passport-local":"^1.0.0","tsconfig-paths":"^4.2.0","@nestjs/graphql":"^13.2.0","@tsd/typescript":"^5.9.3","@yarnpkg/pnpify":"^4.1.6","jest-runner-tsd":"^6.0.0","mobx-react-lite":"^4.1.1","@nestjs/passport":"^11.0.5","@types/lodash-es":"^4","reflect-metadata":"^0.2.2","@dnd-kit/sortable":"^10.0.0","typescript-eslint":"^8.46.1","@dnd-kit/utilities":"^3.2.2","eslint-config-next":"^15.5.6","@tabler/icons-react":"^3.35.0","@types/ioredis-mock":"^8.2.6","@types/passport-jwt":"^4","eslint-plugin-react":"^7.37.5","jest-html-reporters":"^3.1.7","eslint-plugin-import":"^2.32.0","@types/passport-local":"^1","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","typedoc-plugin-markdown":"^4.7.0","@typescript-eslint/parser":"^8.46.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.2.0","@typescript-eslint/eslint-plugin":"^8.46.1","eslint-plugin-simple-import-sort":"^12.1.1"},"dependenciesMeta":{"yargs@18.0.0":{"unplugged":true},"p-limit@3.1.0":{"unplugged":true},"p-limit@7.2.0":{"unplugged":true},"lodash-es@4.17.21":{"unplugged":true},"yocto-queue@1.2.2":{"unplugged":true}},"peerDependencies":{"zod":"*","clsx":"*","glob":"*","rxjs":"*","yargs":"*","bcrypt":"*","express":"*","graphql":"*","ioredis":"*","chokidar":"*","jwks-rsa":"*","ntp-time":"*","dataloader":"*","mobx-utils":"*","@nestjs/jwt":"*","passport-jwt":"*","@dnd-kit/core":"*","@mantine/core":"*","mobx-keystone":"*","@apollo/client":"*","@nestjs/common":"*","@nestjs/config":"*","passport-local":"*","@nestjs/graphql":"*","@nestjs/passport":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@tabler/icons-react":"*"},"_npmOperationalInternal":{"tmp":"tmp/kit_0.0.22_1765482282077_0.42826779821236616","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@grbn/kit","version":"0.0.23","repository":{"url":"git+https://github.com/iagurban/kit.git"},"main":"./dist/cjs/src/core/index.js","types":"./dist/cjs/src/core/index.d.ts","exports":{".":{"types":"./dist/cjs/src/core/index.d.ts","import":"./dist/esm/src/core/index.js","require":"./dist/cjs/src/core/index.js","default":"./dist/cjs/src/core/index.js"},"./graphql":{"types":"./dist/cjs/src/graphql/index.d.ts","import":"./dist/esm/src/graphql/index.js","require":"./dist/cjs/src/graphql/index.js"},"./helpers/eslint-parts.mjs":"./dist/helpers/eslint-parts.mjs","./helpers/eslint-parts-front.mjs":"./dist/helpers/eslint-parts-front.mjs","./helpers/prettier-parts.mjs":"./dist/helpers/prettier-parts.mjs","./mobx":{"types":"./dist/cjs/src/mobx/index.d.ts","import":"./dist/esm/src/mobx/index.js","require":"./dist/cjs/src/mobx/index.js"},"./nest":{"types":"./dist/cjs/src/nest/index.d.ts","import":"./dist/esm/src/nest/index.js","require":"./dist/cjs/src/nest/index.js"},"./node":{"types":"./dist/cjs/src/node/index.d.ts","import":"./dist/esm/src/node/index.js","require":"./dist/cjs/src/node/index.js"},"./prisma":{"types":"./dist/cjs/src/prisma/index.d.ts","import":"./dist/esm/src/prisma/index.js","require":"./dist/cjs/src/prisma/index.js"},"./react":{"types":"./dist/cjs/src/react/index.d.ts","import":"./dist/esm/src/react/index.js","require":"./dist/cjs/src/react/index.js"},"./react/mobx":{"types":"./dist/cjs/src/react/mobx/index.d.ts","import":"./dist/esm/src/react/mobx/index.js","require":"./dist/cjs/src/react/mobx/index.js"},"./redis":{"types":"./dist/cjs/src/redis/index.d.ts","import":"./dist/esm/src/redis/index.js","require":"./dist/cjs/src/redis/index.js"},"./zod":{"types":"./dist/cjs/src/zod/index.d.ts","import":"./dist/esm/src/zod/index.js","require":"./dist/cjs/src/zod/index.js"},"./*":{"types":"./dist/cjs/src/core/*.d.ts","import":"./dist/esm/src/core/*.js","require":"./dist/cjs/src/core/*.js"}},"sideEffects":false,"bin":{"build-info-gen":"dist/cjs/src/bin/build-info-gen.js","clean-md":"dist/cjs/src/bin/clean-md.js","dotenv-flat":"dist/cjs/src/bin/dotenv-flat.js","fetch-unicode-letters-ranges":"dist/cjs/src/bin/fetch-unicode-letters-ranges.js","fix-graphql-codegen":"dist/cjs/src/bin/fix-graphql-codegen.js","watch-n-run":"dist/cjs/src/bin/watch-n-run.js"},"scripts":{"copy-assets-cjs":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/cjs/src'","copy-assets-esm":"cd src && yarn mirr -i './**/*.{proto,lua,crt,key,pem,json,so.node}' -x '**/node_modules/**' -x '**/dist/**' -x '**/.gemini/**' -x '**/{package,project,tsconfig,coverage-final,jest.config}.json' -x '../tsconfig.*.json' '../dist/esm/src'","build-cjs":"yarn swc-ts-build -s src -d dist/cjs/src -p tsconfig.build.json -t ../ -c .swcrc.cjs && yarn copy-assets-cjs","build-esm":"yarn swc-ts-build -s src -d dist/esm/src -p tsconfig.build.json -t ../ -c .swcrc.esm && yarn copy-assets-esm && echo '{\"type\":\"module\",\"sideEffects\":false}' > dist/esm/package.json","build":"yarn build-cjs && yarn build-esm && cp -R ./src/helpers/ ./dist/helpers","test":"yarn jest --maxWorkers=4","lint":"yarn eslint \"src/**/*.{ts,tsx}\" --fix","coverage":"yarn test --coverage","docs:md:core":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/core/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/core/Home.md)","docs:md:graphql":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/graphql/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/graphql/Home.md)","docs:md:mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/mobx/Home.md)","docs:md:nest":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/nest/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/nest/Home.md)","docs:md:node":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/node/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/node/Home.md)","docs:md:prisma":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/prisma/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/prisma/Home.md)","docs:md:react":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react/Home.md)","docs:md:react-mobx":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/react/mobx/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/react-mobx/Home.md)","docs:md:redis":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/redis/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/redis/Home.md)","docs:md:zod":"(yarn typedoc --plugin typedoc-plugin-markdown --entryPoints src/zod/index.ts --tsconfig tsconfig.json --excludeNotDocumented --hideBreadcrumbs --hideGenerator --hidePageHeader --searchInComments --searchInDocuments --useCodeBlocks --useCustomAnchors --flattenOutputFiles --out .temp-docs) && (yarn tsx src/bin/clean-md.ts ./wiki/zod/Home.md)","docs:md":"yarn docs:md:core && yarn docs:md:graphql && yarn docs:md:mobx && yarn docs:md:nest && yarn docs:md:node && yarn docs:md:prisma && yarn docs:md:react && yarn docs:md:react-mobx && yarn docs:md:redis && yarn docs:md:zod"},"dependencies":{"@loancrate/prisma-schema-parser":"^3.0.0","@mrleebo/prisma-ast":"^0.12.1","lodash-es":"^4.17.21","p-limit":"^7.2.0","yocto-queue":"^1.2.2"},"devDependencies":{"@apollo/client":"^4.0.9","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@eslint/js":"^9.38.0","@grbn/swc-ts":"^0.0.6","@mantine/core":"^8.3.6","@nestjs/common":"^11.1.9","@nestjs/core":"^11.1.9","@nestjs/graphql":"^13.2.0","@nestjs/jwt":"^11.0.1","@nestjs/passport":"^11.0.5","@swc/cli":"^0.7.8","@swc/core":"1.13.5","@swc/helpers":"^0.5.17","@tabler/icons-react":"^3.35.0","@testing-library/react":"^16.3.0","@tsd/typescript":"^5.9.3","@types/bcrypt":"^6","@types/express":"^5","@types/ioredis-mock":"^8.2.6","@types/jest":"^30.0.0","@types/lodash":"^4","@types/lodash-es":"^4","@types/node":"^24.7.2","@types/passport-jwt":"^4","@types/passport-local":"^1","@types/react":"^19","@types/yargs":"^17.0.34","@typescript-eslint/eslint-plugin":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@yarnpkg/pnpify":"^4.1.6","ajv":"^8.17.1","bcrypt":"^6.0.0","chokidar":"^4.0.3","clsx":"^2.1.1","concat-md":"^0.5.1","dataloader":"^2.2.3","documentation":"^14.0.3","dotenv":"^17.2.3","dotenv-expand":"^12.0.3","eslint":"^9.38.0","eslint-config-next":"^15.5.6","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-prettier":"^5.5.4","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-unicorn":"^61.0.2","eslint-plugin-unused-imports":"^4.2.0","express":"^5.1.0","glob":"^11.0.3","globals":"^16.2.0","graphql":"^16.12.0","ioredis":"^5.8.2","ioredis-mock":"^8.9.0","jest":"^30.2.0","jest-html-reporters":"^3.1.7","jest-runner-tsd":"^6.0.0","jest-util":"^30.2.0","jwks-rsa":"^3.2.0","libs":"^0.1.2","lodash":"^4.17.21","mirr":"^0.0.3","mobx":"^6.15.0","mobx-keystone":"^1.11.4","mobx-react-lite":"^4.1.1","mobx-utils":"^6.1.1","nodemon":"^3.1.10","ntp-time":"^2.0.8","passport-jwt":"^4.0.1","passport-local":"^1.0.0","prettier":"^3.6.2","react":"^19.2.0","reflect-metadata":"^0.2.2","rimraf":"^6.0.1","rxjs":"^7.8.2","ts-jest":"^29.4.5","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0","tsup":"^8.5.0","tsx":"^4.20.6","typedoc":"^0.28.5","typedoc-plugin-markdown":"^4.7.0","typescript":"^5.9.3","typescript-eslint":"^8.46.1","yargs":"^18.0.0","zod":"^4.1.12"},"engines":{"node":">= 12"},"peerDependencies":{"@apollo/client":"*","@dnd-kit/core":"*","@dnd-kit/sortable":"*","@dnd-kit/utilities":"*","@mantine/core":"*","@nestjs/common":"*","@nestjs/config":"*","@nestjs/graphql":"*","@nestjs/jwt":"*","@nestjs/passport":"*","@tabler/icons-react":"*","bcrypt":"*","chokidar":"*","clsx":"*","dataloader":"*","express":"*","glob":"*","graphql":"*","ioredis":"*","jwks-rsa":"*","mobx-keystone":"*","mobx-utils":"*","ntp-time":"*","passport-jwt":"*","passport-local":"*","rxjs":"*","yargs":"*","zod":"*"},"packageManager":"yarn@4.10.3","resolutions":{"p-limit":"3.1.0"},"dependenciesMeta":{"lodash-es@4.17.21":{"unplugged":true},"p-limit@3.1.0":{"unplugged":true},"p-limit@7.2.0":{"unplugged":true},"yargs@18.0.0":{"unplugged":true},"yocto-queue@1.2.2":{"unplugged":true}},"gitHead":"6c568296dee36e6a636eda82161e7a0235d65164","_id":"@grbn/kit@0.0.23","description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","bugs":{"url":"https://github.com/iagurban/kit/issues"},"homepage":"https://github.com/iagurban/kit#readme","_nodeVersion":"22.21.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-z0L2uefPQTtu1GftrUKXnVHHwSa6YtLMOQruCgrE81i6flGlrK62V7GSIPOpyQwa12oywVIVlFIUTZNmehK3CA==","shasum":"020573cddba848be1d4359c72da8f8a06cca90da","tarball":"https://registry.npmjs.org/@grbn/kit/-/kit-0.0.23.tgz","fileCount":1044,"unpackedSize":4043970,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grbn%2fkit@0.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEausTAgGRLCHK+s/pRsBFzIyg31YWmiW2H/7PP0M250AiAQZYlOisL0uzRaekwo9JIm19Z+GS6ChK2qjz05pgxVCw=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cf4fad2d-8a03-4971-ad40-ab31e05980c5"}},"directories":{},"maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kit_0.0.23_1766421312631_0.36187849528983307"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-04T18:41:27.178Z","modified":"2025-12-22T16:35:13.223Z","0.0.0-alpha.0":"2025-11-04T18:41:27.523Z","0.0.0-alpha.1":"2025-11-04T19:18:32.349Z","0.0.0-alpha.2":"2025-11-04T19:24:42.774Z","0.0.0-alpha.3":"2025-11-04T19:43:49.362Z","0.0.0-alpha.4":"2025-11-04T22:04:25.358Z","0.0.0-alpha.5":"2025-11-05T09:01:32.399Z","0.0.0-alpha.6":"2025-11-05T09:15:15.838Z","0.0.0-alpha.7":"2025-11-05T09:44:34.951Z","0.0.1":"2025-11-18T12:09:51.819Z","0.0.2":"2025-11-19T04:24:56.884Z","0.0.4":"2025-11-19T10:55:29.033Z","0.0.5":"2025-11-26T07:46:21.700Z","0.0.7":"2025-12-05T09:59:36.189Z","0.0.8":"2025-12-05T12:56:48.629Z","0.0.9":"2025-12-08T20:02:37.647Z","0.0.10":"2025-12-08T20:09:49.166Z","0.0.11":"2025-12-08T20:14:50.729Z","0.0.12":"2025-12-08T21:33:13.872Z","0.0.13":"2025-12-10T10:43:55.158Z","0.0.14":"2025-12-10T11:01:47.149Z","0.0.15":"2025-12-10T14:16:30.068Z","0.0.16":"2025-12-10T14:41:31.665Z","0.0.17":"2025-12-10T15:01:47.836Z","0.0.18":"2025-12-10T15:09:17.787Z","0.0.19":"2025-12-10T15:20:14.638Z","0.0.20":"2025-12-11T14:24:23.898Z","0.0.21":"2025-12-11T14:33:02.510Z","0.0.22":"2025-12-11T19:44:42.257Z","0.0.23":"2025-12-22T16:35:12.834Z"},"bugs":{"url":"https://github.com/iagurban/kit/issues"},"homepage":"https://github.com/iagurban/kit#readme","repository":{"url":"git+https://github.com/iagurban/kit.git"},"description":"TypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.","maintainers":[{"name":"iagurban","email":"iagurban@gmail.com"}],"readme":"# kit [![Tests](https://github.com/iagurban/kit/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/iagurban/kit/actions/workflows/test.yml) [![codecov](https://codecov.io/github/iagurban/kit/graph/badge.svg?token=V7FVMNU35L)](https://codecov.io/github/iagurban/kit)\n\nTypeScript utility kit for full‑stack projects – collections, functional helpers, React and MobX utilities, NestJS building blocks, Prisma, Redis helpers, and Zod utilities.\n\n### Core highlights\n\n- Strongly typed collections and iterations (`ExMap`, `ExSet`, etc.)\n- Manual Unicode key sorting and pagination helpers (custom UI ordering, keyset pagination)\n- Pragmatic math/geometry, aggregation, and native collection helpers\n- Functional flow utilities: tiny composables, lazy getters, safe guards/validators, error helpers\n- Frontend helpers for React and MobX; backend helpers for NestJS/GraphQL/Redis/Prisma\n- No runtime dependencies; code linted and tested\n- Extracted from real projects and recurring experiments\n\n### Modules\n\n- [@grbn/kit](./wiki/core/Home.md) — foundational utilities: typed collections, functional helpers, async control, numbers/geometry, JSON, logging, and error helpers.\n- [@grbn/kit/react](./wiki/react/Home.md) — React ergonomics: safe context creation, simple DOM/element tree utilities.\n- [@grbn/kit/react/mobx](./wiki/react-mobx/Home.md) — animated SVG gradient presets, keyframes builder, DnD tree fabric, resize observer hook, and small animation utilities for MobX + React.\n- [@grbn/kit/mobx](./wiki/mobx/Home.md) — observable collections, snapshot tooling, and ergonomics like `observerWithForwardRef` and root store registration.\n- [@grbn/kit/nest](./wiki/nest/Home.md) — NestJS building blocks: JWT/OIDC auth bases, interceptors (server timestamp/contextual user), guards/decorators, and service helpers.\n- [@grbn/kit/node](./wiki/node/Home.md) — Node helpers.\n- [@grbn/kit/prisma](./wiki/prisma/Home.md) — keyset pagination (builder + runtime) and helpers to parse Prisma schema model metadata.\n- [@grbn/kit/redis](./wiki/redis/Home.md) — Redis cached resource + pub/sub subscription and JSON↔hash helpers for structured storage.\n- [@grbn/kit/graphql](./wiki/graphql/Home.md) — `cacheKeyFromGraphqlPath` to build deterministic cache keys from `GraphQLResolveInfo.path`.\n- [@grbn/kit/zod](./wiki/zod/Home.md) — Zod helpers: typed `declareEventsTopic`, input/output type guards, and common schemas.\n\n### Usage notes\n\n- Target: TypeScript projects (frontend and backend) that prefer zero runtime deps and strong typing.\n- Modules are split by domain (core, react, mobx, nest, prisma, redis, graphql, zod) — import only what you need.\n- Many utilities are small, composable functions — favor composition over inheritance; see docs for focused examples.\n\n### Scripts\n\n- Build: `yarn build`\n- Lint: `yarn lint`\n- Test: `yarn test` (see coverage in `coverage/`)\n- Docs (Markdown to wiki): `yarn docs:md`\n\n### License\n\nThis project is licensed under the terms of the MIT License. See the [LICENSE](./LICENSE) file for details.\n","readmeFilename":"README.md"}