{"_id":"@nitronjs/framework","_rev":"92-0aa595414d12598dd71656389a896b9f","name":"@nitronjs/framework","dist-tags":{"latest":"0.7.2"},"versions":{"0.1.0":{"name":"@nitronjs/framework","version":"0.1.0","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.1.0","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"6b1fe5b0051944b995d5f03691f922ffed83c988","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.1.0.tgz","fileCount":87,"integrity":"sha512-N5sKX2UZxiw12dB03a3w18wq4QOjTdHmAuqobGFhC/8RWvBZ6pKqI3BdLETE6rSevjKSW5YhZgFZJnLPltwAJA==","signatures":[{"sig":"MEQCIFL28CQlWrjAPfftpJTm4r7j8XAhfXoYnymiBEC8gvEnAiBG8ovCYKnXpGKnRaTug/QyE69HutuKbINdPQgdFV4G2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314831},"type":"module","exports":{".":"./lib/index.js"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","fastify":"^5.6.2","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","@fastify/cors":"^11.2.0","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","postcss":"^8.5.6","chokidar":"^5.0.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@babel/traverse":"^7.28.5","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.1.18"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.0_1768646834390_0.8119423587805692","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@nitronjs/framework","version":"0.1.1","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.1.1","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"565de279858a9f2f95576f8787aa420b711c1d43","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.1.1.tgz","fileCount":87,"integrity":"sha512-qHTwwJUyBUMPIsFb7+ny0OPjvpsq3IfYx7BJ4IWfVYAVrJYFt9i0iRV5KwDXmgTSlXzNaigZsWvScU/shItwaQ==","signatures":[{"sig":"MEYCIQCn3zEvgDP1yOxefErwEkJapGBkihvIN5dOeBYqKVmbnQIhAN3M+9HnQ9FdknhsC7JStmqqdnJHk+Me8OgH/7GpdVYB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314846},"type":"module","exports":{".":"./lib/index.js"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.1_1768648252233_0.9897475994051768","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@nitronjs/framework","version":"0.1.2","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.1.2","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"0fd5fbeb003c8443eef0caee87975c368e9313fc","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.1.2.tgz","fileCount":87,"integrity":"sha512-KgB2O57wozf5E8Ccd6pnGTlWS1kA/QLXJXw0qaTHBzDU/M6An4Z9bzqK+7Yclmxf2bSJ63isoK8FACHbOkUs/A==","signatures":[{"sig":"MEYCIQC1LzUCK7qneoFRVyNjlCHGsl5ZgUY1l/famWiVCj/RggIhAJUSvlEAGvDSxM1yZ4tc7+viOkJ9WmMBCVz8MExf41fw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314845},"type":"module","exports":{".":"./lib/index.js"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.2_1768650235583_0.9374684246134877","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@nitronjs/framework","version":"0.1.21","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.1.21","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"dc8a0d9c522eddf2fdd03a380f5b4579e160d1b1","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.1.21.tgz","fileCount":87,"integrity":"sha512-aougp/EtIUs6xPkODDcMfhP/dhGCXZfjiaNvoN95ECtbC/1Rrc4ku/AdU9plxsUz2voM2fgYGHY0gKniRKFP6A==","signatures":[{"sig":"MEUCIDmLuuSGMPn3Zy3vKJdqjcyyxeiLqv618vNdwLDnTV+gAiEAx4w+v21IIMsCWwKvLuKnzIOyiYAm9vmlfhJ9mLGwelc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":315512},"type":"module","exports":{".":"./lib/index.js"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.21_1768650882011_0.5554077265411672","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@nitronjs/framework","version":"0.1.22","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.1.22","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"41fec89f25af9e0f975ed180a41885df163bb08c","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.1.22.tgz","fileCount":87,"integrity":"sha512-A/ziVRpPV+F/YxirjG4cJw3Cvck0OoF3NpHcfoFpRGw06WFHkw34UEA3rr6CuMahUDFXUsWxwERgm84vGG33/g==","signatures":[{"sig":"MEYCIQD08BESIYc+YViebQ8k0yFUXnEGz7teYxnqTD2tIvqK7AIhAMPWuNELhMhe8DQl19E0ZNvjgLnA4k8DFzGatS9baWuW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316315},"type":"module","exports":{".":"./lib/index.js"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.22_1768651321155_0.5109286205111294","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@nitronjs/framework","version":"0.1.23","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.1.23","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"5909c2a5e2fae0ad87e09d50be73e6506278e30a","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.1.23.tgz","fileCount":108,"integrity":"sha512-u6NyD5d5GSsXAnw7JMy+yjvDU3fCULnIOcMEHU7Sbd2e9lRaRKLOvNQBKVJnJzhdOO9xnramWiO91Z/C04urOw==","signatures":[{"sig":"MEUCID7bdSJ47aNmcPSrgAJ4wAcaaMuGcEmyxLLTPg5fsz03AiEAjEbVxbWNM1mIfu4X6LAi18curCximOrL27FFTvpaW2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":422366},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.23_1769522613308_0.2257637833479993","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@nitronjs/framework","version":"0.1.24","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.1.24","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"c924f97911aff9445ba2ae568228a539894921b2","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.1.24.tgz","fileCount":108,"integrity":"sha512-K2CWPK1tYh6sZLmkBe3AaIwCT+UB1sgJyKhiC2TqK3vOhlxMNkHiVW/qm+WAJ0CS7ALgpKoQOCBm3GwCFAaXzQ==","signatures":[{"sig":"MEYCIQDJyUIGRN1YEZP3WY0yLCYf7UTmi+ker6+R2+ZWLJCJgQIhANnVKcwi6Xc3fVyIcGMwrKOmR2S3tCOf86Cwxyg0GIIN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":422990},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.24_1769527915605_0.0685276901374321","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@nitronjs/framework","version":"0.2.0","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.0","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"d875be34516de10a6f19308a699e2846fca9b988","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.0.tgz","fileCount":120,"integrity":"sha512-+5JmzPzUUwtqwlGZERvtM/m7zyxCnHZVvn1gLGN2+G4QEE1m0tJUN4ISYjc/YQ0j/sCzcM2SPp2Jy17xa6twIw==","signatures":[{"sig":"MEQCICunP8TKyBQZljL1XTW1zz2jEu3ger6eisyobtfbNZkKAiB1kGNgkSpX918HVO7WHtailXVudzODpxfMuNO14V3S5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483208},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.0_1769695924887_0.49074647039990205","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@nitronjs/framework","version":"0.2.1","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.1","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"259d4ebcacfa6743d33801d3026aba5c0402a715","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.1.tgz","fileCount":120,"integrity":"sha512-EabJ7UgGg9FnLymie+TaZ8awEn8FHK3G2eJ5UVmwbRZeFQ0x4+GX70yT/O7B5Q1/24/vGxa4+y1+T+5YnZlT4g==","signatures":[{"sig":"MEQCIFUB+zWh/iiAkyQsgSNRmf0RPOa2LO6oXpk108WWoyUlAiBxXVeshTBGZYBhCag/lueEjVMot03JyQ+wO89DIabydg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473700},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.1_1769698175372_0.11771767243340037","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@nitronjs/framework","version":"0.2.2","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.2","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"4953739900e635b79d8e7d8c0fda8e10f987347e","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.2.tgz","fileCount":120,"integrity":"sha512-1itNNYppyQgU9N/z4Ousg/AeCOxOty+QJX0WR8/K/AoijnJO0Z0Jg5FdzKI8bW59DJgqqhhpt7R9EBK9qNdCBg==","signatures":[{"sig":"MEQCIDdPfp2jTH5zKzcHAmSPA1NBTsBr4MALWE8Brv0wAul8AiBHNRT7p1Q9ptBxGRvQX6YIYKNzdeC0m7piR99mC9sPZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473710},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.2_1769698872774_0.50495996027902","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@nitronjs/framework","version":"0.2.3","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.3","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"5561214e6c7f2d2df49941000e044439b7db846e","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.3.tgz","fileCount":118,"integrity":"sha512-HvtBKZQygA5xWqOVSvQ6l0SLDom2CJDJKikqVhPBY0aV5Nq/z9dIjY+Qu1Rd0qGEdc9/BPX4n212PIvPnWRNVA==","signatures":[{"sig":"MEQCIATfovtqf8UXXGuJAs0WeZ5wsjHkJTNU+21xcvJIxxh/AiAbDRNKw85lJ6VgoRA6hwePBlPiBlNgyK5os1mHFuIL8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468352},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.3_1769732147981_0.1776684294161366","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@nitronjs/framework","version":"0.2.4","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.4","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"fa224212246e6e97c1882d0319183b9039b8db72","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.4.tgz","fileCount":118,"integrity":"sha512-yLFQlUNxnDGsFfMFeypEcKAVlPaFrrr0MHzg/nDWfm1xJuGIelBgbAzbFJtFXc+aNfWJuC7QgjvaBZ32VTZBEg==","signatures":[{"sig":"MEYCIQDsVBtd4zdIgRJdwJSJiz/N71Cgj1bpWEopUVhxnH3zFgIhAJU9ATdlELGzXOW78Zo2dFDWrf74McNGIFrco6lRxO5M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542530},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.4_1769793718611_0.4746856945444753","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@nitronjs/framework","version":"0.2.5","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.5","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"cabdcc223eebf022e2e859bd9fa41fa1d7378c2b","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.5.tgz","fileCount":118,"integrity":"sha512-uPqIip/kcPsX+3DWPCFFJ3cki/4e7IwdC7KWhXVFTgzypP6a9w7Hl+wjhcW9eK+POJySSJ2AJ336nQrLH2JZhQ==","signatures":[{"sig":"MEUCIQDujg9OffzfYyK/WQkmoz79Kf1qlNqURlaLTUAoOppnCQIgKO6XH5/TUI7r+T7JaCRub6lHX56+xhN0HpDax69W9mk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542728},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.5_1769794914666_0.12963562212521818","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@nitronjs/framework","version":"0.2.6","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.6","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"33a7ca458b16c678d3c35277c16b0035ea89d062","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.6.tgz","fileCount":118,"integrity":"sha512-AauYT0oD0L1/xJFnux+rHQ/vbIjhJvn8mXsvyk3pMWEVokvR9jn4J5/SuJjOg+hZMzbFxqvtREjNkdWW6sT9vw==","signatures":[{"sig":"MEUCIQDP0wq+xagfhyLsioOlZKgS1t/XKAbBJlvJPiYp1z2sRgIgJHMLZAZgF9ZxtNxrpTqiM5F8lgKgXAk9yQqIkuOO8uY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544856},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.6_1769796156543_0.849592319850003","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@nitronjs/framework","version":"0.2.7","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.7","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"3b299a7aef26fbf50668863764637f7825f58b4a","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.7.tgz","fileCount":118,"integrity":"sha512-u3q9o3Zs3pTbmq+Tcb1jCud6GtEw2u4E9bf9z5oXZBVZnoXTV5GvN/A3vLWT5SQFhE8+4phflQf/7ClNJsHxHw==","signatures":[{"sig":"MEYCIQCIYj2HVJwdA6p4vrGFiAQGU53Bv67EX1gkgG/gZJcIqQIhAJWKhRVs8r6VXEdUtBXZ+TlKdrfzTS9Sf6FY6DsVepk3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544953},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.7_1769797628017_0.7662967213389802","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@nitronjs/framework","version":"0.2.8","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.8","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"79defbc9a127dd4c7d9d2265d3b8e6c6d619f899","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.8.tgz","fileCount":118,"integrity":"sha512-sXW4z2LkRkYBGeE6kI6d/sWE/VMhbu9J17IwwDSneZiFChqLFggibOIO07GPQShNru2o5bT6SKXKwqf5K+0u6A==","signatures":[{"sig":"MEUCIQDJfIEi/oQbAAqTqPcHgiks/uLLTcacCou55OuSgxoATQIgRSPvUh9xBcM1O9BAeLOO+UhLJ5ZbW59CYSh1XTCcqrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544493},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.8_1769798853951_0.5673888405099323","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@nitronjs/framework","version":"0.2.9","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.9","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"2e43d623aa93394a58fa4fea453da63d44b68d97","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.9.tgz","fileCount":118,"integrity":"sha512-UJ/FVFALs6wT3xdywUsk+zPXbyaLmMlT3l8Jf2KtF4gGzAgpIKiwFxnDnfRs2gqn65O6x1+8qeid8dPZu/JoJA==","signatures":[{"sig":"MEQCIGY8VTwib5Lj9s3pN313L6jzD2EqskMshWwvFxCvKktzAiA8gNRQTzeEPXoWIliHi57oopi3Z4XWUFw9RFWPVS/Pcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544859},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.9_1770863078541_0.21187096801629024","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@nitronjs/framework","version":"0.2.10","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.10","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"dc867159a1c46d89f5ea71d5bdb5d94fe18fef9f","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.10.tgz","fileCount":118,"integrity":"sha512-cnmGYXHLqDJ76YR4b/MOUEcLFoUnatM2N5hyCl5JiIYdciIV0BKozF00O3BprSTJSZusBgBCeIR4aezRzDhk5Q==","signatures":[{"sig":"MEYCIQDzjJp5L+YfxP9s0SpAZ88xxvPTcLuRzMQ7mJ65i6HzcAIhAPsjE/dOUpo+WEZPmymzGJo6RGWajzG11cf5RMw/Nuu+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544860},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.10_1770863686198_0.06346339480511998","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@nitronjs/framework","version":"0.2.11","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.11","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"09235f1495d9a801dfd91878174d128466788864","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.11.tgz","fileCount":118,"integrity":"sha512-yYHsRzvS5LApB3/K8duMKgAnQtgCG84Yj/CHsDfB7Ur61P/eQPPf/61bjE7teWGv53wZpziSnMbSkS7TxHJlAg==","signatures":[{"sig":"MEUCIQDZr2BylX5jdlyzggsdrNI+7jnhwjtTDxOLkeKHdlGqegIgR/WYR9W/6KyvMoehWwyS4SxX6A97PWlixrzXxn0xLRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":546184},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.11_1770864319454_0.2416528942378835","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@nitronjs/framework","version":"0.2.12","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.12","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"c7ac5da5cc0be92cd1bbf30707a9e6d2dd5638c4","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.12.tgz","fileCount":118,"integrity":"sha512-oTN74seGY6gIMU15C9fdQp3JQ/hT2opvD3uZ2AzEaLz4JkVR62TDTEPxRmPk+3XBfo91Mxt9kTXXZonIdCseJA==","signatures":[{"sig":"MEQCIACjD97QSVZYn2Vdk7StR5AOALRWLeSwyUNmLr+l01FQAiA0c9VfFyCsUoR+Hlkq8WMpJjEb56G/+zMXYKND5tcHMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":548559},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.12_1770869162629_0.7604604849621563","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@nitronjs/framework","version":"0.2.13","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.13","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"3e45a7da06efb65455250970bb0574522adfd15e","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.13.tgz","fileCount":118,"integrity":"sha512-wIuyvvuLi57x17azV7YQOr+JmAmRAEqQnc+bHbX6MSHdvdC3KJ3SaVc0nU8svohG0Mls5FB7bkREqcrZETnWCg==","signatures":[{"sig":"MEYCIQDlR3S1NQ+qhUuXqWCqF2O7V4KZbIENgVTZJPapElHkNgIhAOUba4oKBJd7HV17U4yWXps4pXLrF2HO9tuGYgfMfUIQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":552316},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.13_1771160333001_0.8635922822238209","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@nitronjs/framework","version":"0.2.14","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.14","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"d4664bf72d4d853946cd0d92e14c4b2cb189af21","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.14.tgz","fileCount":118,"integrity":"sha512-49EK3yIsdZYjV4ALZCgbsmRWg2+UaRDDxXI5DCI5NQcaJhZloXE1hLtAPvQOSmr6/vqKtQT6ZyS/fOjAXr+AeQ==","signatures":[{"sig":"MEUCIQCLyL8e6U/7hIP1MtWLQydWwvOxcuFjjoMEaVLlHL0GDAIgKAHyDyysgChoN1TGKjf6AbF7gOg4qRjXDBFEA+J5mWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559749},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.14_1771389791511_0.23372873383872328","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@nitronjs/framework","version":"0.2.15","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.15","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"38084d69bf9c30d0cdc4c3c715eb63d124194839","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.15.tgz","fileCount":119,"integrity":"sha512-TOyFjm4cEL6Kl2lNcD0ycXdqQkA2gfkSgss+7hAuteNx6yJobzvOoZMf9b18PWJUlOkYZ+ugTZj5ba+PwEpaKw==","signatures":[{"sig":"MEQCIE4r0MKJiyqilyqOAFF/yAyoNdLRzfTGuK67a9c26Q6VAiBl97y+RfsUXjuLZ32FTOCPwMeo9c2wXhoEJG7M99Eoyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561044},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.15_1771393287862_0.6838798354229352","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"@nitronjs/framework","version":"0.2.16","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.16","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"8450c189cef060dcfa8a1dfc79baa654f0400fc6","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.16.tgz","fileCount":119,"integrity":"sha512-jUQWXzVr7K5hWz6YpNc9+YkAQIoSgoO2N4H2aorPefsCClrJ2CA9yFwi51QEbfpeIv67CoP3lSYi8tbNCd0S0Q==","signatures":[{"sig":"MEUCIQDB+NU48l7GN7dTBRpzamNMaQhLldbNvIAzMs/YkedFtgIgSfE8zVztlFly1T86okUzcLn3dSFJEMsgQR1eaVZtJHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561077},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.16_1771395940354_0.6880353245073101","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"@nitronjs/framework","version":"0.2.17","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.17","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"e9d2949f87f5535ece8a0b1716dbf97465ea4b4d","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.17.tgz","fileCount":119,"integrity":"sha512-cIp9GOy/ZpBKkXlqQKPPGrEJiMPtyIrywdCDKfBzsvQa/9AmD3v3FEJolddHW2vZ4TTeyFg599/ja43mvkTG3w==","signatures":[{"sig":"MEUCIEnE6t4hvKEGVvkWxaBuXLoNROfJtyhPKykzGOKodeceAiEAsxgBf6GlY5dciYzoHuug/96YaR6Sx4cw9Im52qwkx/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561063},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.17_1771398722699_0.633589367466004","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"@nitronjs/framework","version":"0.2.18","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.18","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"c39db0a31b6f24b4174f448fe052961191fcac77","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.18.tgz","fileCount":119,"integrity":"sha512-u+tyZgAOCVUMEhzWF+kbfkA5HRZFri63AwOrNAzxyO9f6+yaisszDMP6aeHTTOTn+4Gg+0J7hXqtJB9xGKpygg==","signatures":[{"sig":"MEUCIBtMPYNxAlO/4rNBcryw0ZuxdhaIkp09i9Fjyk1H7LJTAiEA502EdbVWlDxgIT2dtuoG18LgTB1x3VW3DvKyMIZcb4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561317},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.18_1771400907887_0.5119784237876193","host":"s3://npm-registry-packages-npm-production"}},"0.2.19":{"name":"@nitronjs/framework","version":"0.2.19","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.19","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"36e911d2c9a7cdbcccecaae9b71a64de7af49ce0","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.19.tgz","fileCount":120,"integrity":"sha512-zbHa36cuqSy/iX3YeXSAXxs314wNBPZhhOCTgOqd8yzQetCsZelSJmilnW3oW5r+rHKueZttfvmwSPyXMz62uw==","signatures":[{"sig":"MEUCIH0Lcbd6IC7K3c8MKkzWBCC8v/GeubXEG54/uzBcP2Z8AiEAxC19epUH8UbjL7KmoO2QiHBsfPDVw/FPwe4/w/qRRus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":569264},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.19_1771411576300_0.5232562566630989","host":"s3://npm-registry-packages-npm-production"}},"0.2.20":{"name":"@nitronjs/framework","version":"0.2.20","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.20","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"43c540bc4eaa692ea1d4998353f19d6d3ee9cde3","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.20.tgz","fileCount":121,"integrity":"sha512-pkNqxgQd+ip956NDTXgvbeB1GpEM+Gaj1sXJpzlPpM1IvfiKVG+YFlURg9adlH9Cs96CXjYrF5DCb4KbTtedNQ==","signatures":[{"sig":"MEUCIB7Bjxbgw1Y7w6TlQxKOzOfu/qb/55v4ul318DmGGGf8AiEAiMM8ZbwjHqSuFLT/9y6k55ElE/gBAOk1vGkPlL5TE1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573967},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.20_1771418425400_0.8926062084817941","host":"s3://npm-registry-packages-npm-production"}},"0.2.21":{"name":"@nitronjs/framework","version":"0.2.21","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.21","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"708c8164c9f16394f398388ebf0167bf8bd7bf3f","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.21.tgz","fileCount":121,"integrity":"sha512-AAbE5pD1EwfC+9qzZxsqImWIck1osqOXQFvist00PmxQw0fPJ1+5r/dF6izHRlPIxbxUw+MxT/XxEfdC9h4aig==","signatures":[{"sig":"MEQCIHRmOrTpDOWZ/S1GGffwyCn0gY3Q8JjeXi7loHZRNzkKAiA2yg/tkkcS56mH/z8BPDiCdDYtPSX9e5Mh5LJOeUFowQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":579314},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.21_1771444377284_0.806618679570674","host":"s3://npm-registry-packages-npm-production"}},"0.2.22":{"name":"@nitronjs/framework","version":"0.2.22","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.22","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"325d8d1f43d5e57b06b12bc4e953ffaa1b65bd33","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.22.tgz","fileCount":121,"integrity":"sha512-5sW3CqUT8boKfXySE1PRwB/ugBWr0FHIrtvOAJhQHE3spqTCCYAusdjlzuooX6U5kD8+SK3fB7QcQWJUqC5g8Q==","signatures":[{"sig":"MEUCIQCXcZ/rn+j1QjrigFBzYZVzLgyu7U1Gfi9nszXnUOWnlgIgOLWguhlYCCzx7IhqPDEHlbZRouc3eDN2xA8dB9jOWWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":579454},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.22_1771447187941_0.09725053385256333","host":"s3://npm-registry-packages-npm-production"}},"0.2.23":{"name":"@nitronjs/framework","version":"0.2.23","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.23","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"944d22e082df4723c6170c0c0250a5ce466a1814","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.23.tgz","fileCount":121,"integrity":"sha512-VvtLaM07OY52axrjlOMpqMx3XwrYr62CU2/v3E4Ee/uAVucH2HCicz26r5MvhP5hqFnd+LLB/ztUiFqGJau02Q==","signatures":[{"sig":"MEUCIQDNofDoz9kan9FAKuKQXIT8I2LwzR0X/+P2gG4c4UH5gAIgUQabyJLPCO6ioUg/+xAvR1vZRQ9XUDAbaobKv1Yb1hk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":580071},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.23_1771447903622_0.3694975857083591","host":"s3://npm-registry-packages-npm-production"}},"0.2.24":{"name":"@nitronjs/framework","version":"0.2.24","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.24","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"2b2c20376fc465f6ee923a08656a21afce12e2f7","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.24.tgz","fileCount":121,"integrity":"sha512-EpvKZ1/yhqc3uOmuf0E/4WD3EVJr/1nAc40I2MgqEmhFBuCslFABVOgomyRR2Xpfcox5Yake5VMicbwywV+7Ww==","signatures":[{"sig":"MEQCIF9W5O6/zfx1p023srp5LJPpvQ3fJJUM6eqKTFGg3rIPAiB7sZ8G7uoOy/EizQkyKOjN6y7d58PLE2JvZYWhKKwUTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":580117},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.24_1771448634946_0.539824050443722","host":"s3://npm-registry-packages-npm-production"}},"0.2.26":{"name":"@nitronjs/framework","version":"0.2.26","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.26","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"62336c2a926271bbf05b2acb7892ddc46698c997","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.26.tgz","fileCount":121,"integrity":"sha512-8MiRjQwvgql0hDw/EjQeZLKZYAhcuqVuFNqdI0qngQcxO4iHccysKvLF620d/XC/fik1p2YbzC32aH47qF694A==","signatures":[{"sig":"MEQCIEbXnbn7GQ1vf/2/aeRna9TVzcHhgNEKjvUkW11X46AJAiAyKzlb5DZQjhHhKy85qlQh6QieyRw80hEVxt3FQ+CzlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":592753},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.26_1771645808175_0.9186216256358724","host":"s3://npm-registry-packages-npm-production"}},"0.2.27":{"name":"@nitronjs/framework","version":"0.2.27","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.2.27","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"bb95ad63f818ca9e326e2ca9ceb495d29a2d371a","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.2.27.tgz","fileCount":122,"integrity":"sha512-vh7mz2KQFie46eRzc6dOye2beYSa9zP+u+m8t5oKuxik74/8LD2ZZCUH+OunTpTzcfGX1lHFz+JW4rr7mxSNtw==","signatures":[{"sig":"MEUCIQC/ngYkZdtxWy/Mpx2dWHkFXczOxfSJu09oNwmwtbGXewIgBIMfLPYPNJqmht5V8PsOxQYWQuZG71T6QZugpbMiAGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":598039},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","redis":"^5.6.0","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.2.27_1771650824954_0.6234792376650251","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@nitronjs/framework","version":"0.3.0","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.0","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"59bf8a3aaaa78e824b74e34f2a68614d05de61aa","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.0.tgz","fileCount":131,"integrity":"sha512-bWeeDBsrUnEU7qUSac3PzmLjAbWmBFMrq4HSEKbPvWSv3NQWUOX15sCy3Jh1NI06GMg4MT1JfKuXkNzKKIlxEw==","signatures":[{"sig":"MEQCIFr7ZNSpq11BhEEGP9Dp8L56VyLh2q/tPKN4NEM0b/VVAiBzSzlO14e8G6dISqifWlrz9Jffr8Hbcr6z1fFKGm2w9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773527},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","redis":"^5.6.0","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.0_1771877502862_0.20320582345992277","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@nitronjs/framework","version":"0.3.1","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.1","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"9ea3831ac2e0d15632752e25a89436bd5455f350","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.1.tgz","fileCount":131,"integrity":"sha512-Ty9DBk1tmLr8NvpXpCBqtIQytfW5rEyopsZKKe3LqoGjGzYbTVr/dmk/I3fGbJQaEzsrSaSftcFKk0R4fTgquw==","signatures":[{"sig":"MEUCICK6u8Y4pPoLzE2TdzHwUTBH5lLy9rPDqqsvNmvqfZvVAiEAieZtS2TBeQWGNNLYFo+GJrMPWPalgnswOso+c+/p43Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773547},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","redis":"^5.6.0","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","esbuild":"^0.27.2","fastify":"^5.6.2","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.1_1771879253969_0.7538334043816652","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@nitronjs/framework","version":"0.3.2","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.2","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"cbacec11d0b5ea0200c0e2526f8dabde4a1359dc","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.2.tgz","fileCount":132,"integrity":"sha512-PlzNWEpSzWDBmPYP4rpbHhn+jflcnwB+r6RjvA//bWhDt4Lj7aZtRyfEMn5PgSzaBFb4YUJuHL1PxedbSIyP7g==","signatures":[{"sig":"MEQCIGRtVi9xjZTuxy5ha4j5KnAjrID1AmP9llDXZd6h+w4/AiAmdKxCrW0EkTQPX1gL9vbE9OfNnKelx+wnVRrxwOUlnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":805406},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","redis":"^5.6.0","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.2_1773322008558_0.0579316410350712","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@nitronjs/framework","version":"0.3.3","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.3","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"9c4b28a72361b46f8e6ac6fcc9b487b3460c3fe0","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.3.tgz","fileCount":132,"integrity":"sha512-XqAbO0pV2EAtj2iIYyZ5hIYGou7loSZ4gf37zoD8LD3L2mG0KJB9GS2q9FF6TZBqB3Lx0ICaAzQYJhVLUOBsOQ==","signatures":[{"sig":"MEUCIBvO7c8hVIU8W9JwJKlxL5YIfXPFFpZfUzPR6MZ59MvXAiEAsaVDMC/uAC+IxGr7y1FGMS5YJXbXrXYo8ydT2vTZgwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806257},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"react":"^19.2.3","redis":"^5.6.0","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","postcss":"^8.5.6","chokidar":"^5.0.0","react-dom":"^19.2.3","socket.io":"^4.8.1","nodemailer":"^7.0.11","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@fastify/multipart":"^9.3.0","@tailwindcss/postcss":"^4.1.18","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.3_1773930988389_0.14361724306901835","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@nitronjs/framework","version":"0.3.4","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.4","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"80769e0c9f57403db9d494a358af810c9b6fc0f3","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.4.tgz","fileCount":134,"integrity":"sha512-VmZNecl1KMJdIkugjQvhPPwYynIHXbDbL0sGMG6JGQ0C/5MK08JeS6oNNipuao2nVMSKqXx739GC5ql+hK4FUw==","signatures":[{"sig":"MEYCIQCPTn5CTXdWndtXMC2arPhrEjzcVQLOLoWAsdDWWjVYjgIhALzEKOEVVEosy9SbMbsCY+RP4K8eW1n56KW5aYcm4Gcq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809653},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.4_1773961244896_0.29642018633769496","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@nitronjs/framework","version":"0.3.5","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.5","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"18a27d5b6c15d3c5c79706001715356c2ce88e25","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.5.tgz","fileCount":134,"integrity":"sha512-UoQq8Zn3U4QXuxSP4VkMqIHiTcGuduSqeQvbCWv44w4GM0m+kRknx6/eYaj7Zk1UzSEHLsRnTHCBvL/t0fkYcg==","signatures":[{"sig":"MEUCIQDTOg+uphNqGOtDVEyEi82BV5VfhgrWANA6ELBV9PWlkQIgAzaMkEs6UwA29gVVL9GV1+gVHrdLhzDp28stB5BTGGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809943},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.5_1774012839560_0.9835710599426561","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@nitronjs/framework","version":"0.3.6","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.6","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"94136fb11e14b39a283bfa4c685ff387f66a81c9","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.6.tgz","fileCount":134,"integrity":"sha512-V14lvcwkeX/QqqGUxVrq3Fzw7umgn+8P7Nb7a5J6PmaV9tTmn+hjp04jp9rimnhg01quBA6Bdi4DErvzZmzHhw==","signatures":[{"sig":"MEUCIH8yvNOnJGWfK890qZ9CcNy/JU+gEmv1oGxsg9NU1byyAiEAwTj2zmWaZHoi+SYuNTSHnrkgy6MEePYgTtuJ0QQmplM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809687},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^5.1.1","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.6_1774013403222_0.6423248355222659","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@nitronjs/framework","version":"0.3.7","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.7","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"b8ebdece1884f04c26d2fcaf3e988b25bda178f8","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.7.tgz","fileCount":134,"integrity":"sha512-bEUHaSEQ9IM5RanjcsMzgy2yb/Eja4rKDW1xGFYbd5YL3LJNXFfVDzI6pzRNJqEuUbQkA2/lICHSdS0OzTbmug==","signatures":[{"sig":"MEUCICZ/csV27aZFausfsYTrUQD96pojLpVKIjWU90o8v5uuAiEA52BE60NGoxJCi3e39SL7ToMDhkkMIlwjSTgYLZ3hwyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809687},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.7_1774014268976_0.0061145563892088806","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@nitronjs/framework","version":"0.3.8","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.8","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"e0d71c98a2508c001ffa7ae6bc9113c1daa297ab","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.8.tgz","fileCount":134,"integrity":"sha512-0IE0HtVWu/VLTZ8jQ1Bu7HU+rTfcEwkk6AyJs0Hs9pr0Ump0up/0muEVNob4mDFDNK1dSIy9BSy6DYe7M0OVpA==","signatures":[{"sig":"MEUCIQDxzKrSovWd81UxawYFmVb/XIHmLjxg9PyjNh9Uyq2r3QIgPXGWtSdyxNOraWMWrPxQFZhiZeQtgQzkIEEYdOed43A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809797},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.8_1774440985770_0.6671421337962411","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@nitronjs/framework","version":"0.3.9","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.9","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"c8d2ff6850034e9eb64c1928b95830ec5f5c46b5","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.9.tgz","fileCount":134,"integrity":"sha512-Nwa1pwFDW18iESRG8fpQsi/LEA3wyIQQTtYDzlp9jmDbP1uId5m4C7qOZEI8HrEtso/PpUlzoI3oKLKHmo5Nsw==","signatures":[{"sig":"MEUCIQDkLTzL3F4QxrGky20ML7pcAke5VT0Y6QyxbF3enKfmAQIgPFFjtTZDEpKhrG9RLm8NBz67m+H0ez5zrycMncLbPUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809949},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.9_1774461205874_0.5599291753063198","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"@nitronjs/framework","version":"0.3.10","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.10","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"450ffe8d9afbe47a1a07ef2948c4585cfe24a923","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.10.tgz","fileCount":134,"integrity":"sha512-jUi/SonquBtppLJ8fFM5I/msJenbVA5rLfzlDP97ssuiVlS4Bo19oZKy/mKFfbSzJe50JATRoh0lKQlYUBCL+w==","signatures":[{"sig":"MEUCIQD902cF8Z45vigTxSpRWWLvZ3DOyd870jHhci1Ak+Nw9wIgWnIxU6Rzqaplrv3v4airfV5edvOQ/rp3YfmUr7NJUIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809915},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.10_1774822796071_0.77490050346262","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"@nitronjs/framework","version":"0.3.11","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.11","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"a397741daffec1c34558b2acafe3e337b03d311d","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.11.tgz","fileCount":134,"integrity":"sha512-KSl63r6/MmvEuUa/Qtm8PBk4AUTxVBCH7WymN45ZOP+YuXD1bku68XdJTJh8P7LRzUxC9xpKY18Zl2Kv/YiJHw==","signatures":[{"sig":"MEUCIEmX1BlyISRoiOs3+WfE4GWLiJD9YFCedL7CiVyaHPawAiEAzZGKD0GVq0OR+B5xPy2uRVft6isIXCwJ6tZUkTd4jpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809149},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.11_1775238750489_0.8291529294118973","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"@nitronjs/framework","version":"0.3.12","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.12","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"a4a6527afa27dddeed72f2b2fd522b5c34614d6e","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.12.tgz","fileCount":134,"integrity":"sha512-VvWfCcgScg2gZiDk+1tLUaPO5f8YRcrZjh+ABE2NImCBk97p9nD6lSP4/ZR525/eklSPumXc44pj4U0bjhHj4g==","signatures":[{"sig":"MEUCIQDiY4lZvOBAZnXgYmc0JysHZIKGFbb/riyugwNqooA96AIgO6wQnkzsZC1dgTWy1O+QKErCm7G7u0q/Gcpb+3ethBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809900},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.12_1775810688767_0.283011207253262","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"@nitronjs/framework","version":"0.3.13","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.13","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"226a62ee7bbf614a3455a5e6791a9d7596a43b1e","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.13.tgz","fileCount":134,"integrity":"sha512-5x7fYNhmfW5/zCaUcWLOFJnY6L67s0GWI/K4CdE3gmwg+ucTGErkjqtia90aZmEo6wJ/mFyyBqL0p/XbekzTWQ==","signatures":[{"sig":"MEYCIQD7fhg9Q1ZQ9wC0qpnjWz8giKvope/M1f1tNPT0Qm5+kAIhALqUwMlChalCYH3ISmdAlNiHu6nuqirAWRQ7HYC1zyBr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":810301},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.13_1775811911678_0.8868521393733171","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"@nitronjs/framework","version":"0.3.14","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.14","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"48bebe8da930c4c34e6b6c7d79d7ad9db68bd591","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.14.tgz","fileCount":134,"integrity":"sha512-YsqIfQSd9RQORjoO+SC6g2XemmjEbXNzjVLKNCodx+x54bY2WD/zzHS5qX4rdO7lkcL2kRHZmQZayN0PKNYeWQ==","signatures":[{"sig":"MEYCIQDbBTnBv20c9GcGtsMNftMzHK+wK/qgqN3IHtAFvBkcxgIhAIDRsj7Mo6OqsunUVSO2gvJlpWvjKTSHOWw8k3hrGZiY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":810373},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.14_1775812818322_0.5966964949928828","host":"s3://npm-registry-packages-npm-production"}},"0.3.15":{"name":"@nitronjs/framework","version":"0.3.15","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.15","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"bbcb6e9e94de4a3b0d143cc653eb1c4d7b41f72b","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.15.tgz","fileCount":134,"integrity":"sha512-aAJ8l4b37AsUQHyai0li6mQ5N6tTLq1lFxG7TZfzYysE4OvPC1+iEm7/ckwMQgJWTm1p1ruXU7lAxlGHhKE2Ew==","signatures":[{"sig":"MEYCIQCQiNQo7pYFgeilaX3WlHDN8VU0BU3OdHh6WUvS2oYvCwIhAMwU6xFh7vmkdyBqAWhjk/5IJN8CS99l4BZrWimHwcCP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":811069},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.15_1776191162775_0.060836722861390635","host":"s3://npm-registry-packages-npm-production"}},"0.3.16":{"name":"@nitronjs/framework","version":"0.3.16","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.16","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"1867fbbaf18d285a33757c7564a7ca465942b513","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.16.tgz","fileCount":134,"integrity":"sha512-tPw8Ae11PApo6onil8bXMivyhpw0wLgcBPIyvwwEa/2LdeUJbbc5YCckry4pmDucHFLpEGGkDZuxVGYv3TAUiA==","signatures":[{"sig":"MEUCIQCvMHD+HEIzoKF/juA57SXBG5HiEHt4XyOzTEYYlrJB5wIgKSDZN1RFZmV/yvrBREHzCzgOKPGEXPjgy4zASODCNX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":812401},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.16_1777415528528_0.9265336481811259","host":"s3://npm-registry-packages-npm-production"}},"0.3.17":{"name":"@nitronjs/framework","version":"0.3.17","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.3.17","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"e145a809594619953b231de8268ff3ca07a350a9","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.3.17.tgz","fileCount":134,"integrity":"sha512-gxEBASD0kR77srrgXiYFb95+6bKIJlvBQy+9NOlPHCbIMFoSP6iXhpEUzPnZsByJ2PAD3PLT2KVirzv9s5Ggdw==","signatures":[{"sig":"MEUCIQD9qS+sxF4l3mWxUPJePQQ94+EXmm/f2rzjgj7TjEOh6AIgIUvvLKW99jQs+oIbrkMty6XzbFJW1MrqxuPGVfvtR4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":816629},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.3","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.6.2","otpauth":"^9.5.0","react-dom":"^19.2.3","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^8.3.0","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/framework_0.3.17_1777899958796_0.561032425433446","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@nitronjs/framework","version":"0.4.0","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.0","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"719a00535804b033d33187e1734573bba252fe48","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.0.tgz","fileCount":182,"integrity":"sha512-Dy0O7RVmwcXAuxSBSC+mmq+ZcOViz0pbY5gF16+WdIy3DU3zhkILKfw/9+H8yCZU9Cn4+NPVw2cdY3E6iaowsw==","signatures":[{"sig":"MEQCIEddsayOk8gimfCPTgpzU4zbTPjYZs/BeE7rAAnRzpqEAiAnc2m0+lF/1u5xxk+wPX9SdyVneqqFdsf7pMX5t7DALQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1056005},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.0_1779064761246_0.761469795501261","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@nitronjs/framework","version":"0.4.1","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.1","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"dcd45ddef60cee7401a88d7b8aef0a806802e1e6","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.1.tgz","fileCount":182,"integrity":"sha512-yd1ma3Tez+d68YHgfUZOP57bbJE1zOKiMFJnDuw+U+u0q4spXuhcbhn2inDGdEXGJY9eT63lvq1oS2unq9qW4w==","signatures":[{"sig":"MEQCIFJjwhZ2AaaDKffpuAQh070vtNIa3R3unw+oaVlmi6y0AiBv4jcd3bXd+HZokPlxpOVvlGM9q7QTXI7fWpZqFRi5gA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1056963},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.1_1779074749747_0.1702598601104699","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@nitronjs/framework","version":"0.4.2","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.2","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"f0af54686676755d013069c3fb000bbc200968f7","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.2.tgz","fileCount":182,"integrity":"sha512-7Ri0lip3Ud1CHE0OHaJBeSTkjdPC0sjK973DvIxYqiEkhwaOpZll+jkAGZ5SAwMAL8rJfKVgQQNZYXF3tBF5sw==","signatures":[{"sig":"MEUCIQChMXu7kGrQkqmtjLMW8llCUHnVT0sOgH+fh8ip31/TNgIgbhjMAMwLX61VHLUcSlJEUlV1fze2hn85OWPP9jcIYU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1059736},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.2_1779149434411_0.545626730391729","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@nitronjs/framework","version":"0.4.3","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.3","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"1324a0638731e03afce2a193f6221b269fb202b1","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.3.tgz","fileCount":182,"integrity":"sha512-wezyJD7/N3MQCieGjq3d5G7kXi3NVmmwoZZ9JFGinzXMvlTeVa/FGGSeEq72qo/HYkv572PiRsNUAT3/qh3jvg==","signatures":[{"sig":"MEUCIQDX8dBRWDsoSylYx2xbDPXLeLF3ELw2A/iNe6hD2Rp4+AIgRgqHX1+5qWzPJUg+PmJYd8r1Qf0r+K6BFdwSzXVvoRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1059861},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.3_1779150049409_0.7752869748975284","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@nitronjs/framework","version":"0.4.4","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.4","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"ebdca5fbca02d1519c82011c0ac967b422a417a1","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.4.tgz","fileCount":182,"integrity":"sha512-cSO3xiiZBlNYrsoj625Hf/wz+BgWzqxuc3BGq0uV/ZQApk2kXoGT8NC1oAwQiyzXs02twMkttM4Rggd50XvxdQ==","signatures":[{"sig":"MEQCICcHxZgB1E4uC2DZHDPKsmrposLzW47sX6xPSjZYhPpGAiAyM0jsJ553f91hbj9lg8FT+SMb/LOZdy78Vo3n9bDoNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1060038},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.4_1779150560770_0.18892433515487683","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@nitronjs/framework","version":"0.4.5","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.5","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"9dd442adf6bfd1a07525efa635f6b57d48642551","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.5.tgz","fileCount":182,"integrity":"sha512-vsfiIVcrvWnyb2vM78eM9uH7QjyJx6esHpxPaWjoWbiLyeGCG+5z6AsI3oL3PboJloDqAXfGfzlFc0/La80uDw==","signatures":[{"sig":"MEYCIQDTvDoj7InQQoRhFsSj2glyIp6/ryU6AHFSrSh9OFXJSgIhAOdVbQnAt5y4iKqIg+Td3V4KWg2kKlGLsCR4noeIlvrh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1060635},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.5_1779151066561_0.15643517683677932","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@nitronjs/framework","version":"0.4.6","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.6","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"022bc0f4b6101199b58ac452f18547e2b5dd0f36","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.6.tgz","fileCount":182,"integrity":"sha512-P3I3E5/xaz+Q8Clf//fMJZJ17PufnTdgmbMIr3u06v+BP3++JckVo/oTWSzq+mm3xnVxW80ZZxq4DetpLuB4Sg==","signatures":[{"sig":"MEUCIQC2afos2nqRvatHPDuoONaZ/5y3QEwqzgL3Y3u8EaCKiwIgd+3JCR7iWE9bcqhEAlWMHQrzEEG8v6x4rwlYimDEFlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1061009},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.6_1779151955160_0.08404261286364734","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@nitronjs/framework","version":"0.4.7","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.7","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"ce196fa166273b2a8a63735734f6e5818489f7e7","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.7.tgz","fileCount":182,"integrity":"sha512-/tveOI+bjK7wNDXpyAiXlNazI28iMGnnmgdcsdduCFf6D2arIKag4HP57frRoaKtjeQea4uqNGsEWRMaGhAdMg==","signatures":[{"sig":"MEQCIFBm98nSFh4hqA68/fCNI61iW/eGnCDDnNTLq0sukwZJAiASUJsxZ2TD8WCseFL5xYZug5uHucvKxKvvvIuU3jgeIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1062328},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.7_1779152861494_0.6297986271182718","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@nitronjs/framework","version":"0.4.8","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.8","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"f99b3a7490f8fd81fbfeb2095560e2d3831f22d1","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.8.tgz","fileCount":182,"integrity":"sha512-VQfWbtoPhl/P330IH2/vGIXaXTqdnPupFQ8FIs36A41CV16io7LCFyfK70Rartx8xLpoT8OAqIqd8tUsSMXZpQ==","signatures":[{"sig":"MEUCIQDo3yaDQB8I5FCDhFRN1PE/WdfkhvzGFIjwdi+lJOOqJAIgWkyLC4GzbJyN3evEMCyhtvI07TdMIFpF+xd46ey5XKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1062352},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.8_1779155026806_0.7323527133214707","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@nitronjs/framework","version":"0.4.9","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.9","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"9c898261a5241a9f48c7834992068345a88de634","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.9.tgz","fileCount":182,"integrity":"sha512-Y+1ZTWsHvIwaryY8s8VfIHiqA8HGpE+vOwwfaFC2kQgFWTu6TR2EbOKGG7lrj6iBw25vaqLPrPIEMhGVDZ9x6g==","signatures":[{"sig":"MEYCIQD1guVEGFWzjGf6Qz7xpa4TWo7fHUFSPro+nqm5ofjTawIhANysD1S18kXFJrAaxQZMLvFJeKCocTP5LEFdKGvs0UYO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1062709},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.9_1779156822560_0.05020685021554194","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@nitronjs/framework","version":"0.4.10","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.10","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"c56ad56187c671f2cd8fc0cfe90213e4e2d5def8","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.10.tgz","fileCount":182,"integrity":"sha512-8C3bAgeI1Q8dzblTp+JwhljYTlFjCaNOOiz9W7TcrOEUoPc0/Nks9WY/fOSaFQ4gR5pvJYV3EBOtrQVEK7MCsA==","signatures":[{"sig":"MEYCIQDqK6JBlq432lzrOUAxfIeiSRR3bMsRp+97VMD31un7tAIhAOt6khWFcSfTQX+Sk5EJJADZNO3VvBydWGVE7xb8Cmci","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1062834},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.10_1779159056051_0.19951003724329475","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@nitronjs/framework","version":"0.4.11","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.11","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"a2530e5b78004b280a122dbb8572ba805f717834","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.11.tgz","fileCount":182,"integrity":"sha512-4kAQQbNasJmpY9xEmb1qn2ukfS17eRCXFMwwL8TG7iq+8vFmC/PUDGZ8gKkxfT0Dy1OQiG403yKVzMrLW7OifA==","signatures":[{"sig":"MEYCIQDtKo3rWvTbIcNLhpdMVnuRnd4Z8sPltFsjYxWk0tVPjgIhAKLTvKPyNMuY8AojNmJoeq3CZyktHcb00NGe1+JUR8/2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1063372},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.11_1779160753542_0.42397283611458936","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@nitronjs/framework","version":"0.4.12","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.12","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"fd035d7fb14969f16616351c95cc924844d789ac","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.12.tgz","fileCount":182,"integrity":"sha512-I4C7wjDOkZ7lhhHH9hjlCqUiSe2L0NK27B6cvFbMOWSVhqBIT8dnn+lvFmk+Ynf/f5ZR34J3w2Q6bAgxhoOvsw==","signatures":[{"sig":"MEUCIQDS0TnoJ1UIuxUBVjq1YaEySG6hIqZBX6uhkC1RCNMkkgIgGhP3Z6ZjoR9snDPFdPsH205zmbYIqZipZQM7VVpDHoc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1062684},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.12_1779162167697_0.9847042878246255","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@nitronjs/framework","version":"0.4.13","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.13","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"2bd8b2070bf63b78b78ffae3d7b01001eaeea838","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.13.tgz","fileCount":182,"integrity":"sha512-zvic35Rllt4ZJ1uSAUbpRhMWyypyxZ8/UscQXWWP5IoD06dm/cLheMKHSEg2+RxOtmu/lGBdUHqXDVRIUPDsLQ==","signatures":[{"sig":"MEUCIQCnRgSn66df6VxdUawwiFpwgkuZyXT9M0X1iLMQE/jOaAIgJxJum1X8RKZlu388svUt/vlIypIFsF8p/fCY1qQPqog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1062684},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.13_1779163542176_0.37032101420209984","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@nitronjs/framework","version":"0.4.14","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.14","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"009fc282c26e0c1ed6dcad03010181cad5701953","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.14.tgz","fileCount":182,"integrity":"sha512-qcZGDyYeTC0vG3NuROn/C3rWi0IvmW/8vGQ5wERYVqsMXv+Yjqxc4W20dIby72UPq/an9UNLG4wXfSTRFiVXfw==","signatures":[{"sig":"MEQCIC4w6aymsODEA+IqqbFkkT6QbSrBiXR0xb3sd1ITjLtXAiASOJlZVWFg3JD8rePKouOLI+SBhKhnHIMVYpowYzmVHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1062885},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.14_1779165015422_0.5298384906735998","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@nitronjs/framework","version":"0.4.15","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.15","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"aace549cfab01f0ea8eb0706dfe9c4d552791f4b","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.15.tgz","fileCount":182,"integrity":"sha512-w8Rw7Ct5Y46V58yd0crQN5nlIGT5jOy50vZrRVLlGdADoWDJKHEkG86LUbDf21Q10Tnprrf0+v2UqhdAPGPR/A==","signatures":[{"sig":"MEYCIQCol4Jhg5LhnoxfYmy1ntpwnA/8t1p8xw/tg/hOE2e4dQIhANGAzHBPAhTR4l6Q8WnbnxCKaNmCN16+ScoDtV7WZz8+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1064219},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.15_1779197244181_0.6368008079965526","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"@nitronjs/framework","version":"0.4.16","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.16","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"490b01fbef8596a7a2597230e32f735c835196e6","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.16.tgz","fileCount":182,"integrity":"sha512-SQr5Js493XabpJm4gmTVudw5B/YqrjjXVyqlrJVPNMXMaJcrrmH2AduZ6RjZmnCWWFI5isr7AaCCT9Sr3e8bhA==","signatures":[{"sig":"MEUCIBEkMNkndMmaI/CVk/DtXXwyJtLzXYWVYx6FxS8Q+K/NAiEA2cBWRFehvxQlVCrTDaAxGXLHIUP1PfwD4AU5AUUdv1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1064244},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.16_1779199390095_0.19063049972207335","host":"s3://npm-registry-packages-npm-production"}},"0.4.17":{"name":"@nitronjs/framework","version":"0.4.17","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.17","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"d766b767b3f4c8b47b1a874bcf7ae462b22b5f4c","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.17.tgz","fileCount":182,"integrity":"sha512-FMCu/7VOmwk9rNUT9EU64xiM8Mb+V06+3szYeILCbf4giitx+wQR04C2cssEX+SaXMaERu4hKf0VrVbydDNbQA==","signatures":[{"sig":"MEUCIQCFyrd2p5pPLJfJlQRbf++MVeotyGAxPRInPqUUd2HKOAIgeFcfvJZn3lqOW4t7+/8/0M6o/FzQBOOO9SoM1dBe4lU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1064244},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.17_1779200410005_0.7602426615555309","host":"s3://npm-registry-packages-npm-production"}},"0.4.18":{"name":"@nitronjs/framework","version":"0.4.18","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.18","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"34d860de7fc5deb1ba13b47040c7ab948d13cadb","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.18.tgz","fileCount":182,"integrity":"sha512-JUEZRWBhisRAEQp41g68RW/ikQlY32AJjjRJDu+kLT/OArVZhxN7R1utGCToJ9jgNBRGQheRpE3YTV0l5skueQ==","signatures":[{"sig":"MEUCIQDHXPnKS5QeHpMYGkgDhFcuZK0fiVT7Q30GlZcOM/J7IAIgA89NzRuv9bI2QsjNgKSeqpYzfjEBKvxnvTmZSKa3ozE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1064517},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.18_1779205518946_0.9221487298380215","host":"s3://npm-registry-packages-npm-production"}},"0.4.19":{"name":"@nitronjs/framework","version":"0.4.19","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.4.19","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"0fdec643608b8dce0a0d4d3d9d6d23def8cc7984","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.4.19.tgz","fileCount":182,"integrity":"sha512-acGVDhTIwk0eMyUS8B0Haw4kkTA4HZs9ewQ4Eg6S4PMlvgfOAQlXYkp7eahTyt2QBZ6U3i0b3akX/R4sTOp9oA==","signatures":[{"sig":"MEUCIGMSPNWv1L5ciTf7z/33EWDg57PHBiMAb7/0HDY+YlV7AiEAr/Egli3KDdV0gacbRwOJUDF2N8NQ+eSx4/npmEAbj6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1063847},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.4.19_1779208041656_0.7848061150348444","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@nitronjs/framework","version":"0.5.0","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.0","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"a9916e1fadd756f358c90dbcf5054179dd9f2165","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.0.tgz","fileCount":189,"integrity":"sha512-fMV9R6kTvzF0+GCEWUjUacv6N7q+aI4aroEnevEg8USh6R52XUFLJrYmRibdUGQKCPWzi38WP3rPVTqL7KckbQ==","signatures":[{"sig":"MEYCIQCD1G2FgKK3qeJLfVOrwih7WIyZ9OLgFnNJDUvRt87MiAIhAJdh5WxpPCcNN/7LLGwpJCwnh5/kmKs7f5gzNLr90JAJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1128614},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.0_1779312178427_0.37972128357070023","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@nitronjs/framework","version":"0.5.1","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.1","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"ad4f98c456d95a76527373d9069e04b7a570148f","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.1.tgz","fileCount":189,"integrity":"sha512-dmtY5cPz1Np0R7jPvHBhJXZdD7OoQ3DEqzq/z0GwFLL49P3mjM5LfmO0x9ryS4MUZhHm8F28jWZpATKIQt2rFg==","signatures":[{"sig":"MEUCIBMpDERQka3bBCazgbf/Eqn/vjFBE4G+sR2c1fntukw7AiEAgIMM6dUg/RSJQXJaGFCPEatzKn1K4fn9XDdkuUx5IcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1143125},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.1_1779466072424_0.40269908540097665","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@nitronjs/framework","version":"0.5.2","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.2","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"68b5561ee6ce32ebad960e296c1edc343ed5a04f","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.2.tgz","fileCount":189,"integrity":"sha512-wYRDkNBoPhtFaw30zNI9+O40Rd6BJuxpyhEeARp9jDFZGRDi3WR/MzXji/riJHfk9o+UOGcH+SOVp7qbEe9plw==","signatures":[{"sig":"MEUCIElpQ70MPVa7LvNBZbX2tNso+7yNburS/lljAPNbZC6EAiEAp1Wa70tMBcLk0fRIycFolORwY54X4ltou21aZaUbSdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1145913},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.2_1779468657142_0.12303387455736514","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@nitronjs/framework","version":"0.5.3","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.3","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"8608e2df69890865bdbc9a660949688ae4088cf3","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.3.tgz","fileCount":190,"integrity":"sha512-N63fFMutLvXSQB0iYyqJGdnbAL4MMn6GupB07uUOKoSAW5DtnB29N6DS/VtQlwqpkR1ASl2Z9OloQKk5y113Qg==","signatures":[{"sig":"MEUCIAaGk3FiQnPrycnB+nRH76ZOe87Hjz6KkwwBu+db+gqoAiEAkuookr6Wk4AGgr2riTcYPkx1mTnrf9xGLqsnFKUbyaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1152645},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.27.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^7.0.11","oxc-parser":"^0.121.0","typescript":"^5.9.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.121.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^9.3.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","happy-dom":"^20.9.0","testcontainers":"^10.13.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.0","@testcontainers/mysql":"^10.13.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.3_1779473868487_0.7994878669511989","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@nitronjs/framework","version":"0.5.4","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.4","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"7355956cb2622e0584f1de17743aade8f2d08193","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.4.tgz","fileCount":190,"integrity":"sha512-SRSlcIV+A+DDBseTtcjVvOWE8MRqk5inVMQNlxwawFPqex3V51p7GDuUiaY0ugVLoopmszdzG3egIgVA3B2f7w==","signatures":[{"sig":"MEQCIAoEyGpoyequ2zHm1+Q/Kicf+fCdUbMr8erMaYCK5sBcAiBxoLMRI2x4JwLTZnLtSqkWMeZ6Ga4EDr+0xc6ElLy60Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1164275},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.7","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^4.1.7","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.4_1779505733471_0.23592060903675605","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@nitronjs/framework","version":"0.5.5","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.5","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"0a30a0216da42c50cb0616346f640b64fa93983f","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.5.tgz","fileCount":190,"integrity":"sha512-iWg8eqnD7D/gi43pXv3Pw+mWcNjo4P6b+0kGzD7kA9qaJFLg3xJhW3q5vSgpb7+iyAuqA0UWR0tKTqi2nlNWlg==","signatures":[{"sig":"MEQCIDt8hUaGKTLeBV+nyR0H6jsHaYH9NYRvoi6IFYHltlJHAiAj+r7M6k+nGdCx+kJdVi9xBbihemGiFritKyYmYCl6xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1167502},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.5_1779509095371_0.736842238188522","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@nitronjs/framework","version":"0.5.6","keywords":["nitronjs","framework","mvc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.6","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"fa05a5c2c95902275e8f815e1444ac6e011ecb54","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.6.tgz","fileCount":190,"integrity":"sha512-cUKp7WuGDuy+UbHZfCQGkSKqSlpO6mDHPjt/wQZ98MbvXbuKTNY1gg9m6bsk0cWFLS3wQj4B4IisuXqfxlyjVw==","signatures":[{"sig":"MEYCIQC37vcInvKjPDcAp0vTnTTAbdljd+b+AZBsxt56ESfDwgIhALjcan5J/8V0o2NyQqJZkO6Q9/jDDRhMzIcsWLQOaH9I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1170225},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.6_1779712779665_0.06281064149902216","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@nitronjs/framework","version":"0.5.7","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.7","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"50eedd95c76aa28242bc58992eafb6a35829d2da","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.7.tgz","fileCount":191,"integrity":"sha512-yLDSOPAwSCYNjKPgqIg0SjFHQDlKxWDckHh8p9ComGY3DROqd9VFfOzHIn5PurtYchi4F6L/10Tsn5MzSKt++A==","signatures":[{"sig":"MEUCIQDh3kSj1xsbyXpLlDHGP4epf9PfzspXUcd0IyFu1L4/BAIgH1JN+F8NDMgJl8kEu8SboYrtz+HKeLzHebtDtJYy8EI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1190424},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.7_1780974123759_0.24943352179049505","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@nitronjs/framework","version":"0.5.8","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.8","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"57fb8589a4adce436ec64b05d7df7d25c2db11f3","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.8.tgz","fileCount":191,"integrity":"sha512-Cx4XviYLwtkskAuBVIMpSJFMwpYuCzla07bpW34cbjEcMbXrHVFLYCzC3PHHLtFz/LXr+gwmjW9Ens+SncvdNg==","signatures":[{"sig":"MEUCIQD/dnN2dRWQyMVbSRNrHlAsWt+3jkjL9OqjCAbym/mjTQIgMuh2KliEOgWqpwCZXcZUV5rS+pZbptPsVPnWoE9oPOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1196752},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.8_1781119565586_0.1767576924481944","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@nitronjs/framework","version":"0.5.9","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.9","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"00cd903b734a335f674c28f7d656ece50abed63c","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.9.tgz","fileCount":191,"integrity":"sha512-xu2wVc0P7gyi1y4iroFfsxLRfkmwdDOhNh5RYG+JgtB7NbWEfGNRV782lJ/J6lZP3dbncW2kc8aIHv5eBbkEsA==","signatures":[{"sig":"MEYCIQDGHR21smqrvmpCMrHCdXDRF39+dPBdoq3M2kZiTKMc8wIhAM1IRBhmX6MZxG6SE8c9FyRgHxFn+Jr/Vumo038nzpp+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1207602},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.9_1781874916515_0.10377414417525332","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@nitronjs/framework","version":"0.5.10","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.10","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"2305f7edd6a3e9ff92c2d005fbe6fcde9565dcc3","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.10.tgz","fileCount":191,"integrity":"sha512-CTY/4XRYU/kwvxlmoqNZ3SY0ulgdMnmq+soMHohoV9RDJZkbWtCHIj4jlv7bm0Ac4qivORMLujyLacYn0H8QcA==","signatures":[{"sig":"MEQCIG5DQ/Qm44MUhqghI5L//+LbUvBojwexsCRkSBDG2/U6AiAzodNkxzrfGmv9e1T1YTWJ/KlPBUCJqbGVCB376OsSbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1228194},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.10_1782497628595_0.23334520798239367","host":"s3://npm-registry-packages-npm-production"}},"0.5.11":{"name":"@nitronjs/framework","version":"0.5.11","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.11","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"bb068528202f77a9b3219df80d3d1c96f2780bb1","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.11.tgz","fileCount":194,"integrity":"sha512-xKjLhekEUBrulQg6jUebhfxms4XvRKHg8SIBy6DxypSoCUVayILA9ISl1Dssl9HaRjVyjddXSiindTyB47M8/g==","signatures":[{"sig":"MEUCIEYdo/TEYOqdDX0lUsl7TyZeRRPVmxT7zIgMIYgIVNC9AiEAicksyAosdVxqlJvtde+vxZOlC8WvlfWFDii+LJL2AQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1246520},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.11_1782616585120_0.5474287719483701","host":"s3://npm-registry-packages-npm-production"}},"0.5.12":{"name":"@nitronjs/framework","version":"0.5.12","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.12","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"974716e6d2fb3595e226f483cea7dadd7c10f265","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.12.tgz","fileCount":194,"integrity":"sha512-1ACjR5K9X0qfZe8wtOZsE43xxqVlbtxG2IhubKgQdvfwxP07bfqBm5FOkZn1oCtyCt39yoqYvhKKF1RKnQePmQ==","signatures":[{"sig":"MEYCIQDdaQUPg9AiOMw65nxjMXwcNfg4JXykJZTUEJvhb74qgwIhAMwW9iKAs+sf+XZZW3rOcsob13z4ufKcmHDSYuolUUhm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1247789},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.12_1782617363367_0.48172361637111427","host":"s3://npm-registry-packages-npm-production"}},"0.5.13":{"name":"@nitronjs/framework","version":"0.5.13","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.13","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"119a7e06432d9432f1c87ff957aee3e75b4e065a","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.13.tgz","fileCount":194,"integrity":"sha512-XmWVCnkfHwKBfg+dALqUgDgSPB0wBZbFYA5wnQnVjHDV8J3wvAO4Lk8Kl55nuoNwQQR9g90y39RkgPqnVqu5fg==","signatures":[{"sig":"MEYCIQC0afvS0fP1YDRFAU/c5byQ5otuTiAyRUqFeqZYuGEirwIhAMr+5PiQuvkv7WpKOBIY4RXeJN7VlRsl7HC9zJFzJCs0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1248851},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.13_1782619113634_0.5735370275943203","host":"s3://npm-registry-packages-npm-production"}},"0.5.14":{"name":"@nitronjs/framework","version":"0.5.14","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.5.14","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"1ade33a071527a44a2b3fe1db7d7e99fa5b7753f","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.5.14.tgz","fileCount":197,"integrity":"sha512-mtNIgs/EPsyKl1mohSHbuRoOmjsnu25qWyom19EKkMklMztdZpH/nfc0rdOPuCBhmN42LQiejW0tkbSXplbXoQ==","signatures":[{"sig":"MEUCIQD7VRf0/z9q+iUWUAF0ZlRWUXvY/guA8UhVn5xdcSEvswIgf9LQw+5t4Q/8KUuJCgZ7Ijjj1Kl7J2TbsZ3lq1wgbCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1294492},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.5.14_1785745900620_0.8686569755581446","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@nitronjs/framework","version":"0.6.0","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.6.0","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"54baac40cb03105ce249bcccc68c8330e9e052e6","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.6.0.tgz","fileCount":197,"integrity":"sha512-i4axuU5WQovX2FsdrsKLts+bI+n2oePJMlqIjQupdst0QAa0zFqXquHtNnSvD132HBOIr44G7cJXDNeuxPNlTA==","signatures":[{"sig":"MEQCICWZJzFR8VH0pNTA3ok79AKOWGoGNwMIpQgVnVZzerH3AiAha9JEYgfVfKNyg9PVUgiFJ6q3behC+m4Ktsh9Y6BazQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1309618},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.6.0_1786554774005_0.7586486407028674","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@nitronjs/framework","version":"0.6.1","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.6.1","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"1c955035415ce0e87a4281ce641c5bd5bdb83202","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.6.1.tgz","fileCount":197,"integrity":"sha512-F7inpwoHXhYFRMu0+BENK5Bgj7LIkAgXrOlx35ll6yRv0Ss2pRNxy8nZHPwtcAaACpVlRUnMR30o6q7ECYhiug==","signatures":[{"sig":"MEUCIQDkB2WsdtDF5rPfCpr0O9fBFa0X5q0FiRD9VoZ+snUzWAIgSNVENNkaewJRVWzJuDcFbITfJaMkNdxaTymOq4GuyTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1346034},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.18.3","react":"^19.2.6","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.0","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.6","socket.io":"^4.7.0","nodemailer":"^8.0.7","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"^11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^9.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.0.0","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.6.1_1787831624271_0.6125688368322892","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@nitronjs/framework","version":"0.7.0","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.7.0","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"a4b6a0fb85a42a3f97757ec57975f4b0772b127c","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.7.0.tgz","fileCount":202,"integrity":"sha512-usxZiTcl0MhHgcFTcecrx8CJng6IlSbOsCvGWnltF0H5IL7TWiw03qluak8xkAV3811r2x/p4PdhWwTCIssOAA==","signatures":[{"sig":"MEQCIAzTmuI3erWbPLxYOzYhm4dJ9UwDV28SBS6x6yd2AJsIAiAMsWwnqvRBJNn454s8WiwPDk7wX6Y9AQ7V+Pyf1FYeAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1416671},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:engine":"vitest run tests/engine","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","engine:record":"node tests/engine/record.mjs","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.21.3","react":"^19.2.8","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.8","socket.io":"^4.7.0","nodemailer":"^9.0.6","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"~11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.1.1","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.8"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.7.0_1788528416306_0.07302658781136429","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@nitronjs/framework","version":"0.7.1","keywords":["nitronjs","framework","mvc","react","rsc"],"author":{"name":"Burak AKBULUT"},"license":"ISC","_id":"@nitronjs/framework@0.7.1","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"bin":{"njs":"cli/njs.js"},"dist":{"shasum":"b5d6d7337fa984d50e26cba00971ddabd0bcb51e","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.7.1.tgz","fileCount":204,"integrity":"sha512-lDWu98Mjo6juRVFgQhtnnir5GMOhyP+S1EFRHFzL9eXjU7TH0AhKW1+pyrCpssvD+ZgD2vqHHjk7qu42PzS5Wg==","signatures":[{"sig":"MEYCIQDN4rDAcAbr1UB6aBpJ2MEj+iQcUDq7nn4aY1p2vGUfiAIhAP8amcUsecnRRYqyztYOnIIjCrsncElrxXMIKBrdq5NZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1430271},"type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:engine":"vitest run tests/engine","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","engine:record":"node tests/engine/record.mjs","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.21.3","react":"^19.2.8","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.8","socket.io":"^4.7.0","nodemailer":"^9.0.6","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"~11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.1.1","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.8"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.7.1_1789139116335_0.08947127197655691","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"_id":"@nitronjs/framework@0.7.2","bin":{"njs":"cli/njs.js"},"dist":{"shasum":"1dd85c37570e41bfef237a1d0d12ecee014bead6","tarball":"https://registry.npmjs.org/@nitronjs/framework/-/framework-0.7.2.tgz","fileCount":204,"integrity":"sha512-oGo0DqzocF9uNso0qXYlMOqgCE8986m1du5w9afB99n7bTeoqBaQPq8bShh3H/QbQ36JvwZ1tqZ7YotMMTVVjg==","signatures":[{"sig":"MEUCIQCfD70BCVYLIZTU0uP1Lu+KnQSXwrTg5txRYfQdLBotxAIgAXguLu/ukIIk3W8Xzl+3HzHM5f2j5E2X0kp26w+2Ges=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICprG8UuhJGm0YQbXwQ0QiKTQhm74XrllzyICEC2WOyoAiEApl4RBaqKj0t1K2RBmX05Ud+y8+N86eOWO0KXvxl9R/U="}],"unpackedSize":1445828},"name":"@nitronjs/framework","type":"module","types":"./lib/index.d.ts","author":{"name":"Burak AKBULUT"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"license":"ISC","scripts":{"test":"vitest run","test:db":"node scripts/test-db.mjs","test:bench":"node scripts/test-bench.mjs","test:watch":"vitest","test:engine":"vitest run tests/engine","test:safety":"npm run test:safety:unit && npm run test:safety:e2e","engine:record":"node tests/engine/record.mjs","test:coverage":"vitest run --coverage","test:safety:e2e":"playwright test --config tests/safety/lenses/e2e/playwright.config.js","test:safety:unit":"vitest run tests/View tests/Build tests/safety","test:safety:e2e:serve":"node tests/safety/lenses/e2e/serve.mjs"},"version":"0.7.2","_npmUser":{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"},"keywords":["nitronjs","framework","mvc","react","rsc"],"_npmVersion":"11.6.2","description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","directories":{},"maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.21.3","react":"^19.2.8","redis":"^5.6.0","bcrypt":"^6.0.0","dotenv":"^17.2.3","mysql2":"^3.16.0","qrcode":"^1.5.4","esbuild":"^0.28.2","fastify":"^5.8.5","otpauth":"^9.5.0","react-dom":"^19.2.8","socket.io":"^4.7.0","nodemailer":"^9.0.6","oxc-parser":"^0.132.0","typescript":"^6.0.3","tailwindcss":"^4.1.18","@types/react":"^19.2.7","@babel/parser":"^7.28.5","@fastify/cors":"^11.2.0","oxc-transform":"^0.132.0","react-refresh":"^0.18.0","@babel/traverse":"^7.28.5","@fastify/cookie":"~11.0.2","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.3","@parcel/watcher":"^2.5.6","es-module-lexer":"^2.0.0","@types/react-dom":"^19.2.3","@fastify/compress":"^8.3.1","@fastify/formbody":"^8.0.2","@tailwindcss/node":"^4.2.2","@fastify/multipart":"^10.1.1","@tailwindcss/oxide":"^4.2.2","react-server-dom-webpack":"^19.2.8"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","happy-dom":"^20.9.0","testcontainers":"^12.0.0","@playwright/test":"^1.60.0","socket.io-client":"^4.7.0","@vitest/coverage-v8":"^2.1.9","@testcontainers/mysql":"^12.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/framework_0.7.2_1789741243772_0.21002792451095464"}}},"time":{"created":"2026-01-17T10:47:14.278Z","modified":"2026-09-18T14:20:44.093Z","0.1.0":"2026-01-17T10:47:14.535Z","0.1.1":"2026-01-17T11:10:52.397Z","0.1.2":"2026-01-17T11:43:55.740Z","0.1.21":"2026-01-17T11:54:42.192Z","0.1.22":"2026-01-17T12:02:01.300Z","0.1.23":"2026-01-27T14:03:33.501Z","0.1.24":"2026-01-27T15:31:55.768Z","0.2.0":"2026-01-29T14:12:05.092Z","0.2.1":"2026-01-29T14:49:35.546Z","0.2.2":"2026-01-29T15:01:12.968Z","0.2.3":"2026-01-30T00:15:48.142Z","0.2.4":"2026-01-30T17:21:58.845Z","0.2.5":"2026-01-30T17:41:54.877Z","0.2.6":"2026-01-30T18:02:36.833Z","0.2.7":"2026-01-30T18:27:08.253Z","0.2.8":"2026-01-30T18:47:34.171Z","0.2.9":"2026-02-12T02:24:38.699Z","0.2.10":"2026-02-12T02:34:46.416Z","0.2.11":"2026-02-12T02:45:19.647Z","0.2.12":"2026-02-12T04:06:02.889Z","0.2.13":"2026-02-15T12:58:53.189Z","0.2.14":"2026-02-18T04:43:11.733Z","0.2.15":"2026-02-18T05:41:28.033Z","0.2.16":"2026-02-18T06:25:40.528Z","0.2.17":"2026-02-18T07:12:02.885Z","0.2.18":"2026-02-18T07:48:28.061Z","0.2.19":"2026-02-18T10:46:16.483Z","0.2.20":"2026-02-18T12:40:25.614Z","0.2.21":"2026-02-18T19:52:57.455Z","0.2.22":"2026-02-18T20:39:48.094Z","0.2.23":"2026-02-18T20:51:43.880Z","0.2.24":"2026-02-18T21:03:55.112Z","0.2.26":"2026-02-21T03:50:08.361Z","0.2.27":"2026-02-21T05:13:45.172Z","0.3.0":"2026-02-23T20:11:43.193Z","0.3.1":"2026-02-23T20:40:54.166Z","0.3.2":"2026-03-12T13:26:48.757Z","0.3.3":"2026-03-19T14:36:28.537Z","0.3.4":"2026-03-19T23:00:45.095Z","0.3.5":"2026-03-20T13:20:39.753Z","0.3.6":"2026-03-20T13:30:03.417Z","0.3.7":"2026-03-20T13:44:29.139Z","0.3.8":"2026-03-25T12:16:25.945Z","0.3.9":"2026-03-25T17:53:26.099Z","0.3.10":"2026-03-29T22:19:56.261Z","0.3.11":"2026-04-03T17:52:30.687Z","0.3.12":"2026-04-10T08:44:48.953Z","0.3.13":"2026-04-10T09:05:11.866Z","0.3.14":"2026-04-10T09:20:18.511Z","0.3.15":"2026-04-14T18:26:02.987Z","0.3.16":"2026-04-28T22:32:08.733Z","0.3.17":"2026-05-04T13:05:59.034Z","0.4.0":"2026-05-18T00:39:21.463Z","0.4.1":"2026-05-18T03:25:49.957Z","0.4.2":"2026-05-19T00:10:34.623Z","0.4.3":"2026-05-19T00:20:49.616Z","0.4.4":"2026-05-19T00:29:20.935Z","0.4.5":"2026-05-19T00:37:46.758Z","0.4.6":"2026-05-19T00:52:35.309Z","0.4.7":"2026-05-19T01:07:41.643Z","0.4.8":"2026-05-19T01:43:46.953Z","0.4.9":"2026-05-19T02:13:42.760Z","0.4.10":"2026-05-19T02:50:56.278Z","0.4.11":"2026-05-19T03:19:13.727Z","0.4.12":"2026-05-19T03:42:47.861Z","0.4.13":"2026-05-19T04:05:42.357Z","0.4.14":"2026-05-19T04:30:15.640Z","0.4.15":"2026-05-19T13:27:24.363Z","0.4.16":"2026-05-19T14:03:10.305Z","0.4.17":"2026-05-19T14:20:10.192Z","0.4.18":"2026-05-19T15:45:19.195Z","0.4.19":"2026-05-19T16:27:21.821Z","0.5.0":"2026-05-20T21:22:58.667Z","0.5.1":"2026-05-22T16:07:52.637Z","0.5.2":"2026-05-22T16:50:57.341Z","0.5.3":"2026-05-22T18:17:48.674Z","0.5.4":"2026-05-23T03:08:53.676Z","0.5.5":"2026-05-23T04:04:55.537Z","0.5.6":"2026-05-25T12:39:39.819Z","0.5.7":"2026-06-09T03:02:03.943Z","0.5.8":"2026-06-10T19:26:05.746Z","0.5.9":"2026-06-19T13:15:16.676Z","0.5.10":"2026-06-26T18:13:48.734Z","0.5.11":"2026-06-28T03:16:25.271Z","0.5.12":"2026-06-28T03:29:23.509Z","0.5.13":"2026-06-28T03:58:33.799Z","0.5.14":"2026-08-03T08:31:40.780Z","0.6.0":"2026-08-12T17:12:54.165Z","0.6.1":"2026-08-27T11:53:44.421Z","0.7.0":"2026-09-04T13:26:56.465Z","0.7.1":"2026-09-11T15:05:16.546Z","0.7.2":"2026-09-18T14:20:43.876Z"},"author":{"name":"Burak AKBULUT"},"license":"ISC","keywords":["nitronjs","framework","mvc","react","rsc"],"description":"NitronJS is a modern and extensible Node.js MVC framework built on Fastify. It focuses on clean architecture, modular structure, and developer productivity, offering built-in routing, middleware, configuration management, CLI tooling, and native React int","maintainers":[{"name":"burakakbulut","email":"theburakakbulut99@gmail.com"}],"readme":"<p align=\"center\">\r\n  <h1 align=\"center\">NitronJS</h1>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  A full-stack MVC framework built on Fastify and React Server Components.<br/>\r\n  Build production-ready Node.js applications with a built-in ORM, authentication, mail, validation, i18n, instant HMR, and a complete CI/CD pipeline.\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <a href=\"https://www.npmjs.com/package/@nitronjs/framework\"><img src=\"https://img.shields.io/npm/v/@nitronjs/framework.svg\" alt=\"npm version\"></a>\r\n  <a href=\"https://www.npmjs.com/package/@nitronjs/framework\"><img src=\"https://img.shields.io/npm/l/@nitronjs/framework.svg\" alt=\"license\"></a>\r\n  <a href=\"https://nodejs.org\"><img src=\"https://img.shields.io/node/v/@nitronjs/framework.svg\" alt=\"node version\"></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <b>NitronJS is currently under active development. APIs may change before the stable release.</b>\r\n</p>\r\n\r\n---\r\n\r\n## Table of Contents\r\n\r\n- [Quick Start](#quick-start)\r\n- [Core Concepts](#core-concepts) — Server/Client Components, Layouts, Routing, Host-Based Routing (Domains), Signed URLs, Controllers, Path Aliases\r\n- [Request & Response](#request--response)\r\n- [Database](#database) — Models, Query Builder, DB Facade, Transactions, Migrations, Seeders\r\n- [Authentication](#authentication) — Login, Signing Out Other Devices, Guards, Multi-Factor Auth\r\n- [Sessions](#sessions)\r\n- [Validation](#validation)\r\n- [Middleware](#middleware)\r\n- [Real-Time (Socket.IO)](#real-time-socketio) — `Route.io`, namespace + event middleware, broadcast helpers\r\n- [Localization (i18n)](#localization-i18n)\r\n- [Mail](#mail)\r\n- [Queue](#queue)\r\n- [Storage](#storage)\r\n- [Utilities](#utilities) — Encryption, Hashing, Logging, DateTime, Faker, Strings\r\n- [Global Functions](#global-functions)\r\n- [CLI Commands](#cli-commands)\r\n- [Project Structure](#project-structure)\r\n- [CSS & Tailwind](#css--tailwind)\r\n- [Configuration](#configuration)\r\n- [Deployment](#deployment)\r\n- [Requirements](#requirements)\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n```bash\r\nnpx -y @nitronjs/framework my-app\r\ncd my-app\r\nnpm run storage:link\r\nnpm run dev\r\n```\r\n\r\nYour app will be running at `http://localhost:3000`\r\n\r\n---\r\n\r\n## Core Concepts\r\n\r\n### Server Components (Default)\r\n\r\nEvery `.tsx` file in `resources/views/` is a Server Component by default. They run on the server and have full access to your database and file system.\r\n\r\n```tsx\r\n// resources/views/Site/Home.tsx\r\nimport User from '@models/User';\r\n\r\nexport default async function Home() {\r\n    const users = await User.get();\r\n\r\n    return (\r\n        <div>\r\n            <h1>Users</h1>\r\n            <ul>\r\n                {users.map(user => (\r\n                    <li key={user.id}>{user.name}</li>\r\n                ))}\r\n            </ul>\r\n        </div>\r\n    );\r\n}\r\n```\r\n\r\n### Client Components\r\n\r\nAdd `\"use client\"` at the top of a file to make it interactive. These components hydrate on the browser and can use React hooks.\r\n\r\n```tsx\r\n\"use client\";\r\nimport { useState } from 'react';\r\n\r\nexport default function Counter() {\r\n    const [count, setCount] = useState(0);\r\n\r\n    return (\r\n        <button onClick={() => setCount(count + 1)}>\r\n            Count: {count}\r\n        </button>\r\n    );\r\n}\r\n```\r\n\r\n> Client components cannot import server-only modules (the database, `DateTime`, etc.). Pass server data down as props from a Server Component instead.\r\n\r\n### Layouts\r\n\r\nCreate `Layout.tsx` files to wrap pages. Layouts are discovered automatically by walking up the directory tree. During SPA navigation, layouts persist and only page content is updated — no full page reloads.\r\n\r\n```\r\nresources/views/\r\n├── Layout.tsx             # Root layout (wraps everything)\r\n├── Site/\r\n│   └── Home.tsx           # Uses root Layout\r\n└── Admin/\r\n    ├── Layout.tsx         # Admin layout (nested inside root)\r\n    └── Dashboard.tsx      # Uses both layouts\r\n```\r\n\r\n### Routing\r\n\r\nDefine routes in `routes/web.js`:\r\n\r\n```javascript\r\nimport { Route } from '@nitronjs/framework';\r\nimport HomeController from '../app/Controllers/HomeController.js';\r\nimport UserController from '../app/Controllers/UserController.js';\r\n\r\n// Basic routes\r\nRoute.get('/', HomeController.index).name('home');\r\nRoute.get('/about', HomeController.about).name('about');\r\n\r\n// Route parameters\r\nRoute.get('/users/:id', UserController.show).name('user.show');\r\n\r\n// RESTful routes\r\nRoute.post('/users', UserController.store).name('user.store');\r\nRoute.put('/users/:id', UserController.update).name('user.update');\r\nRoute.delete('/users/:id', UserController.destroy).name('user.destroy');\r\n\r\n// Route groups with prefix, name prefix, and middleware\r\nRoute.prefix('/admin').name('admin.').middleware('auth').group(() => {\r\n    Route.get('/', DashboardController.index).name('dashboard');\r\n    Route.get('/users', AdminUserController.index).name('users');\r\n\r\n    // Nested groups\r\n    Route.prefix('/pages').name('pages.').group(() => {\r\n        Route.get('/:id/edit', PagesController.edit).name('edit');\r\n    });\r\n});\r\n\r\n// Middleware-only groups\r\nRoute.middleware('guest').group(() => {\r\n    Route.get('/login', AuthController.getLogin).name('login');\r\n    Route.post('/login', AuthController.postLogin);\r\n});\r\n```\r\n\r\nCSRF protection is applied automatically to the HTTP methods configured in `config/session.js` — you do not add it to routes manually.\r\n\r\n#### URL Generation\r\n\r\nThe global `route()` function is available everywhere — controllers, views, and client-side code:\r\n\r\n```javascript\r\n// Basic\r\nroute('home')                                        // => \"/\"\r\n\r\n// With parameters\r\nroute('user.show', { id: 1 })                        // => \"/users/1\"\r\n\r\n// With query string\r\nroute('admin.users', {}, { page: 2, q: 'search' })   // => \"/admin/users?page=2&q=search\"\r\n\r\n// Parameters + query string\r\nroute('admin.pages.edit', { id: 5 }, { tab: 'seo' }) // => \"/admin/pages/5/edit?tab=seo\"\r\n\r\n// Absolute URL — for e-mail / webhook links rendered outside the browser (server-side)\r\nroute('admin.updates.show', { id: 6 }, {}, { absolute: true }) // => \"http://localhost:3000/admin/updates/6\"\r\n```\r\n\r\n`{ absolute: true }` prefixes the application origin (`APP_URL` + `APP_PORT`, the port appended only when it isn't 80/443). For an **absolute non-route URL** — e.g. an e-mail logo asset — use the `appUrl(path)` global, which returns `origin + path`:\r\n\r\n```javascript\r\nappUrl('/storage/upload_files/logo.png') // => \"http://localhost:3000/storage/upload_files/logo.png\"\r\n```\r\n\r\n> Never hand-compose `` `${process.env.APP_URL}${path}` `` for these — `APP_URL` carries no port, so the link would point at the wrong one.\r\n\r\n#### Host-Based Routing (Domains)\r\n\r\n`Route.domain(pattern)` constrains a route group to a host — the building block for multi-tenant apps where the same path serves different pages per domain. The Host header is matched with its **port stripped**, so dev URLs like `app.localhost:3000` match cleanly.\r\n\r\nThree pattern forms:\r\n\r\n```javascript\r\nRoute.domain('app.com')          // exact host\r\nRoute.domain('*.app.com')        // single-segment subdomain (ali.app.com, not a.b.app.com)\r\nRoute.domain(/^(?:.+)\\.app\\.io$/) // raw RegExp for anything else\r\n```\r\n\r\nMulti-tenant layout — apex domain constrained, tenant sites as the unconstrained fallback:\r\n\r\n```javascript\r\n// SaaS (apex)\r\nRoute.domain('app.com').group(() => {\r\n    Route.get('/', Home.getHome).name('home');\r\n    Route.get('/register', Register.getRegister).name('register');\r\n});\r\n\r\n// Tenant sites (subdomains + custom domains fall through here)\r\nRoute.middleware('tenant').group(() => {\r\n    Route.get('/', Site.getHome).name('site.home');\r\n});\r\n```\r\n\r\nRules of the road:\r\n\r\n- A path may be registered once per domain group **plus** one unconstrained fallback; two unconstrained registrations of the same path throw `FST_ERR_DUPLICATED_ROUTE` at startup.\r\n- Route names must be unique across domain groups — `route()` / `Router.url()` return the first match.\r\n- Behind a reverse proxy, enable `web_server.trustProxy` and forward the real `Host` header so constraint matching and your tenant middleware see the same value.\r\n\r\n### Signed URLs\r\n\r\nSome links have to prove they came from your app and were not edited on the way: a one-time login handoff, an e-mail verification link, an unsubscribe URL. `URL` appends an HMAC-SHA256 signature (keyed with `APP_KEY`) to a named route, and the built-in `signed` middleware answers `403` when a request arrives tampered with or expired.\r\n\r\n```javascript\r\nimport { URL } from '@nitronjs/framework';\r\n\r\nURL.signedRoute('unsubscribe', { user: 3 });\r\n// → http://localhost:3000/unsubscribe/3?signature=4ad1…\r\n\r\nURL.temporarySignedRoute('password.reset', 900, { user: 3 });\r\n// → http://localhost:3000/password/reset/3?expires=1769000900&signature=7bc4…\r\n```\r\n\r\n```javascript\r\n// routes/web.js\r\nRoute.get('/unsubscribe/:user', Newsletter.unsubscribe).middleware('signed').name('unsubscribe');\r\n```\r\n\r\n`signed` ships with the framework, so it needs no `Kernel.js` entry; declaring your own `signed` alias overrides it.\r\n\r\nNothing is persisted. The signature covers the host, the path, the query string and the `expires` stamp, so editing any of them — including pushing the expiry further out — invalidates the link. Scheme and port are deliberately excluded so a link keeps validating behind a TLS-terminating reverse proxy.\r\n\r\n**Cross-host handoff.** Session cookies are host-scoped: an authenticated session on `app.com` does not reach `ali.app.com`. `options.origin` signs a link for a different host, which lets one host hand a verified identity to another — with `loginUsingId()` establishing the session on arrival.\r\n\r\n```javascript\r\n// app.com — credentials verified here, link minted for the tenant host\r\nconst url = URL.temporarySignedRoute(\r\n    'tenant.handoff',\r\n    60,\r\n    { user: user.id },\r\n    {},\r\n    { origin: 'https://ali.app.com' }\r\n);\r\n```\r\n\r\n```javascript\r\n// ali.app.com — the signed middleware already proved the link\r\nstatic async getHandoff(req, res) {\r\n    await req.auth.guard('tenant').loginUsingId(req.params.user);\r\n\r\n    return res.redirect('/panel');\r\n}\r\n```\r\n\r\nBecause the host is part of the signed payload, a link minted for `ali.app.com` is rejected on `veli.app.com`.\r\n\r\n### Controllers\r\n\r\nControllers are plain classes with `static async` route handlers. Each handler receives `req` and `res`.\r\n\r\n```javascript\r\n// app/Controllers/UserController.js\r\nimport User from '../Models/User.js';\r\n\r\nclass UserController {\r\n    static async index(req, res) {\r\n        const users = await User.get();\r\n\r\n        return res.view('User/Index', {\r\n            users\r\n        });\r\n    }\r\n\r\n    static async show(req, res) {\r\n        const user = await User.find(req.params.id);\r\n\r\n        if (!user) {\r\n            return res.code(404).view('Errors/NotFound');\r\n        }\r\n\r\n        return res.view('User/Show', {\r\n            user\r\n        });\r\n    }\r\n\r\n    static async store(req, res) {\r\n        const user = new User();\r\n        user.name = req.body.name;\r\n        user.email = req.body.email;\r\n        await user.save();\r\n\r\n        return res.redirect(route('user.show', { id: user.id }));\r\n    }\r\n}\r\n\r\nexport default UserController;\r\n```\r\n\r\n### Path Aliases\r\n\r\nNitronJS provides built-in path aliases for clean imports in `.tsx` view files:\r\n\r\n| Alias | Path |\r\n|---|---|\r\n| `@models/*` | `app/Models/*` |\r\n| `@controllers/*` | `app/Controllers/*` |\r\n| `@middlewares/*` | `app/Middlewares/*` |\r\n| `@views/*` | `resources/views/*` |\r\n| `@css/*` | `resources/css/*` |\r\n| `@/*` | Project root |\r\n\r\n---\r\n\r\n## Request & Response\r\n\r\n### The `req` object\r\n\r\n`req` is the Fastify request, with `req.session` and `req.auth` added by the framework.\r\n\r\n| Property / Method | Description |\r\n|---|---|\r\n| `req.params` | Route parameters (`/users/:id` → `req.params.id`) |\r\n| `req.body` | Parsed request body. Bracket names are expanded: `title[tr]` → `req.body.title.tr` |\r\n| `req.query` | Query string parameters, expanded the same way: `?title[tr]=x` → `req.query.title.tr` |\r\n| `req.headers` | Request headers |\r\n| `req.cookies` | Parsed cookies |\r\n| `req.ip` | Client IP address |\r\n| `req.url` / `req.method` | Request URL and HTTP method |\r\n| `req.isMultipart()` | `true` for `multipart/form-data` requests (file uploads) |\r\n| `req.locale` | Current locale (set by the i18n layer) |\r\n| `req.session` | Session instance — see [Sessions](#sessions) |\r\n| `req.auth` | Authentication helper — see [Authentication](#authentication) |\r\n\r\n#### Bracket notation\r\n\r\nA field named `title[tr]` arrives as a nested value, and it does so whichever way the\r\nform was submitted:\r\n\r\n```html\r\n<input name=\"title[tr]\">\r\n<input name=\"title[en]\">\r\n```\r\n\r\n```javascript\r\n// POST  →  req.body.title.tr\r\n// GET   →  req.query.title.tr\r\n```\r\n\r\nThe two used to disagree — a body nested, a query string did not — so a filter form\r\nswitched from POST to GET returned nothing and reported no error. Keys that would reach\r\nthe prototype (`__proto__`, `constructor`, `prototype`) are dropped rather than\r\nexpanded, in both.\r\n\r\nThe empty-bracket form (`tags[]=a&tags[]=b`) lands under an empty key\r\n(`req.query.tags['']`), not as a plain array. A repeated plain key still becomes an\r\narray: `?a=1&a=2` → `req.query.a === ['1', '2']`.\r\n\r\n### The `res` object\r\n\r\n`res` is the Fastify reply, with `res.view()` added by the framework.\r\n\r\n| Method | Description |\r\n|---|---|\r\n| `res.view(name, params = {})` | Render a React Server Component view as HTML. Throws 404 if the view does not exist. |\r\n| `res.send(payload)` | Send a response. Objects/arrays are auto-serialized as JSON. |\r\n| `res.code(statusCode)` | Set the HTTP status code (chainable). |\r\n| `res.redirect(url)` | Redirect the client. |\r\n| `res.type(contentType)` | Set the `Content-Type` header. |\r\n| `res.header(key, value)` | Set a response header. |\r\n| `res.setCookie(name, value, options)` | Set a cookie. |\r\n| `res.sendFile(path)` | Stream a file as the response. |\r\n\r\n```javascript\r\n// HTML view\r\nreturn res.view('User/Show', { user });\r\n\r\n// JSON (object is auto-serialized)\r\nreturn res.send({ status: 'success', data: user });\r\n\r\n// JSON with a status code\r\nreturn res.code(422).send({ errors: validation.errors() });\r\n\r\n// Redirect\r\nreturn res.redirect(route('home'));\r\n```\r\n\r\n> Use `res.code(...)` to set the status — there is no `res.status()`. To return JSON, just pass an object to `res.send(...)` — there is no `res.json()`.\r\n\r\n---\r\n\r\n## Database\r\n\r\n### Models\r\n\r\nA model is a class extending `Model` with a `static table` property. That is the only required configuration — the primary key is always `id`.\r\n\r\n```javascript\r\nimport { Model } from '@nitronjs/framework';\r\n\r\nclass User extends Model {\r\n    static table = 'users';\r\n}\r\n\r\nexport default User;\r\n```\r\n\r\n### Query Builder\r\n\r\nStatic query methods are available directly on the model.\r\n\r\n```javascript\r\n// Fetch\r\nconst users = await User.get();\r\nconst user = await User.find(1);\r\nconst first = await User.where('email', 'john@example.com').first();\r\n\r\n// Where clauses\r\nawait User.where('role', 'admin').get();\r\nawait User.where('age', '>=', 18).get();\r\nawait User.where({ role: 'admin', active: 1 }).get();\r\nawait User.orWhere('role', 'editor').get();\r\nawait User.whereIn('id', [1, 2, 3]).get();\r\nawait User.whereNotIn('status', ['banned']).get();\r\nawait User.whereBetween('age', [18, 65]).get();\r\nawait User.whereNot('role', 'guest').get();\r\n\r\n// Parenthesised group - keeps an OR scoped to the columns you meant\r\nawait User\r\n    .where('active', 1)\r\n    .where(query => {\r\n        query.where('name', 'LIKE', `%${term}%`);\r\n        query.orWhere('email', 'LIKE', `%${term}%`);\r\n    })\r\n    .get();\r\n// → WHERE active = ? AND (name LIKE ? OR email LIKE ?)\r\n//\r\n// Without the group, `.where('active', 1).orWhere('name', 'LIKE', ...)` compiles to\r\n// `WHERE active = ? OR name LIKE ?` - AND binds tighter than OR, so rows that fail the\r\n// first condition still come back.\r\n\r\n// Selecting, ordering, paginating\r\nawait User\r\n    .select('id', 'name', 'email')\r\n    .where('active', 1)\r\n    .orderBy('created_at', 'desc')\r\n    .limit(10)\r\n    .offset(20)\r\n    .get();\r\n\r\n// Joins & grouping\r\nawait User\r\n    .join('posts', 'users.id', '=', 'posts.user_id')\r\n    .groupBy('users.id')\r\n    .get();\r\n\r\n// Aggregates\r\nconst total = await User.count();\r\nconst distinct = await User.countDistinct('email');\r\nconst maxAge = await User.max('age');\r\nconst minAge = await User.min('age');\r\nconst sumScore = await User.sum('score');\r\nconst avgScore = await User.avg('score');\r\n\r\n// Raw expressions\r\nawait User.selectRaw('COUNT(*) as total, role').groupBy('role').get();\r\n\r\n// Create\r\nconst user = new User();\r\nuser.name = 'John';\r\nuser.email = 'john@example.com';\r\nawait user.save();\r\n\r\n// Update — throws without a WHERE condition; use a raw query for a table-wide update\r\nawait User.where('id', 1).update({ name: 'Jane' });\r\n\r\n// Delete — throws without a WHERE condition; use truncate() to clear the table\r\nawait User.where('id', 1).delete();\r\n\r\n// Serialize an instance to a plain object\r\nconst data = user.toJSON();\r\n```\r\n\r\n### DB Facade\r\n\r\nFor queries that don't map cleanly to a single model, use the `DB` facade directly.\r\n\r\n```javascript\r\nimport { DB } from '@nitronjs/framework';\r\n\r\n// Query builder against any table\r\nconst rows = await DB.table('users').where('active', 1).get();\r\n\r\n// Raw SQL with bound parameters\r\nconst result = await DB.rawQuery('SELECT * FROM users WHERE id = ?', [1]);\r\n\r\n// Raw expression inside a query builder chain\r\nawait DB.table('users').select(DB.rawExpr('COUNT(*) as total')).first();\r\n\r\n// Branch on database availability — false when DATABASE_DRIVER=none\r\nif (DB.isEnabled()) {\r\n    await DB.table('users').get();\r\n}\r\n```\r\n\r\n`DB.isEnabled()` returns `false` for a database-less app (`DATABASE_DRIVER=none`) and `true` once a driver is active. Use it to skip DB-dependent work instead of re-reading `process.env.DATABASE_DRIVER` — this is how the deploy pipeline skips migrations on a DB-less target.\r\n\r\n### Transactions\r\n\r\n`DB.transaction()` runs a callback inside a database transaction. It commits on success and rolls back if the callback throws.\r\n\r\n```javascript\r\nimport { DB } from '@nitronjs/framework';\r\n\r\nawait DB.transaction(async (trx) => {\r\n    await trx.table('accounts').where('id', 1).update({ balance: 900 });\r\n    await trx.table('accounts').where('id', 2).update({ balance: 1100 });\r\n    await trx.rawQuery('INSERT INTO transfers (amount) VALUES (?)', [100]);\r\n});\r\n```\r\n\r\nThe `trx` object exposes `table()`, `rawQuery()`, `query()`, and `execute()` — all scoped to the transaction's connection. A transaction has a 30-second default timeout.\r\n\r\n#### Row locking\r\n\r\nA plain read inside a transaction is a snapshot read, so a read-then-write counter is not safe on its own: two concurrent transactions both see the old value and write the same next value. `lockForUpdate()` appends `FOR UPDATE`, which write-locks the selected rows until the transaction ends and makes the second transaction wait.\r\n\r\n```javascript\r\nawait DB.transaction(async (trx) => {\r\n    const row = await trx.table('settings')\r\n        .where('setting_key', 'next_invoice_no')\r\n        .lockForUpdate()\r\n        .first();\r\n\r\n    await trx.table('settings')\r\n        .where('setting_key', 'next_invoice_no')\r\n        .update({ setting_value: String(Number(row.setting_value) + 1) });\r\n\r\n    return Number(row.setting_value);\r\n});\r\n```\r\n\r\n`lockForUpdate()` outside a transaction locks only for the duration of that single statement, which is rarely what you want.\r\n\r\n**Reading a failed write.** In production a query error is replaced with a generic message and its `sql`, `bindings`, `errno` and `sqlState` are dropped, so nothing about the statement reaches the caller. The driver's `code` is kept, because it names the *kind* of failure rather than the data: a caller can branch on `ER_DUP_ENTRY` to treat a lost race as \"someone else got there first\" and rethrow everything else. Outside production the driver's error is handed back untouched.\r\n\r\n```js\r\ntry {\r\n    await response.save();\r\n}\r\ncatch (err) {\r\n    if (err?.code !== 'ER_DUP_ENTRY') {\r\n        throw err;\r\n    }\r\n\r\n    Log.warn('Row already created by a concurrent request, skipping', { complaint_id });\r\n}\r\n```\r\n\r\n### Migrations\r\n\r\n```bash\r\nnpm run make:migration create_posts_table\r\n```\r\n\r\nMigrations live in `database/migrations/` and use the `Schema` builder:\r\n\r\n```javascript\r\nimport { Schema } from '@nitronjs/framework';\r\n\r\nclass CreatePostsTable {\r\n    static async up() {\r\n        await Schema.create('posts', (table) => {\r\n            table.id();\r\n            table.string('title');\r\n            table.text('body');\r\n            table.string('slug').unique();\r\n            table.boolean('published').default(false);\r\n            table.json('metadata').nullable();\r\n            table.foreign('user_id').references('id').on('users').onDelete('CASCADE');\r\n            table.timestamp('created_at');\r\n            table.timestamp('updated_at').nullable();\r\n        });\r\n    }\r\n\r\n    static async down() {\r\n        await Schema.dropIfExists('posts');\r\n    }\r\n}\r\n\r\nexport default CreatePostsTable;\r\n```\r\n\r\n#### Schema Builder Reference\r\n\r\n**Column types:** `id()`, `string(name, length = 255)`, `text()`, `integer()`, `bigInteger()`, `boolean()`, `timestamp()`, `json()`\r\n\r\n**Modifiers:** `.nullable()`, `.default(value)`, `.unique()`, `.index()` — table level: `t.index(columns)`, `t.unique(columns)`, `t.dropIndex(name)`, `t.dropColumn(name)`\r\n\r\nThere is no `timestamps()` shorthand — declare `t.timestamp('created_at')` and `t.timestamp('updated_at').nullable()` explicitly. A non-nullable timestamp without a default gets `DEFAULT CURRENT_TIMESTAMP`.\r\n\r\n**Column types:** `id()`, `string(name, length?)`, `text()`, `integer()`, `bigInteger()`, `boolean()`, `timestamp()`, `json()` — that is the whole set.\r\n\r\n**Column modifiers** (chainable): `.nullable()`, `.default(value)`, `.unique()`, `.index()`\r\n\r\n**Indexes:** `table.index(columns)`, `table.unique(columns)`, `table.dropIndex(name)`\r\n\r\n**Dropping a column:** `table.dropColumn(name)` - what an additive migration needs in its `down()`. Drop the index before the column it covers.\r\n\r\nA unique index can be declared on the column (`t.string('email').unique()`) or on the table (`t.unique(['response_id', 'question_id'])`); both emit the same statement. Only the table-level form reaches a column that already exists, which is how a later migration adds a constraint:\r\n\r\n```js\r\nawait Schema.table('survey_responses', table => {\r\n    table.dropIndex('idx_survey_responses_complaint_id');\r\n    table.unique('complaint_id');\r\n});\r\n```\r\n\r\nNames are generated: `idx_<table>_<columns>` for a plain index, `uniq_<table>_<columns>` for a unique one - that is what `dropIndex()` takes.\r\n\r\n**Altering tables:** `Schema.table()` adds the columns the callback declares, then their indexes, then the indexes it drops. There is no way to drop, rename or change an existing column — write a new migration that adds what you need, or recreate the table.\r\n\r\n```js\r\nawait Schema.table('trainers', table => {\r\n    table.string('custom_domain_token').nullable();\r\n    table.timestamp('custom_domain_verified_at').nullable();\r\n});\r\n```\r\n\r\n**Schema methods:** `Schema.create()`, `Schema.createIfNotExists()`, `Schema.table()` (alter), `Schema.dropIfExists()`\r\n\r\n```bash\r\nnpm run migrate              # Run pending migrations\r\nnpm run migrate:safe         # Run migrations after an automatic DB backup\r\nnpm run migrate:fresh        # Drop all tables and re-run\r\nnpm run migrate:fresh:seed   # Drop, migrate, and seed\r\nnpm run migrate:rollback     # Rollback last batch\r\nnpm run migrate:status       # Show migration status\r\n```\r\n\r\n### Seeders\r\n\r\n```bash\r\nnpm run make:seeder UserSeeder\r\n```\r\n\r\nSeeders live in `database/seeders/`. Each seeder is a class with a `static async run()` method:\r\n\r\n```javascript\r\nimport { Hash } from '@nitronjs/framework';\r\nimport User from '../../app/Models/User.js';\r\n\r\nclass UserSeeder {\r\n    static async run() {\r\n        const user = new User();\r\n        user.name = 'Admin';\r\n        user.email = 'admin@example.com';\r\n        user.password = await Hash.make('password');\r\n        await user.save();\r\n    }\r\n}\r\n\r\nexport default UserSeeder;\r\n```\r\n\r\nRun seeders with `npm run seed` (runs every seeder, alphabetically) or `npx njs seed UserSeeder` (one seeder). Seeders can call other seeders by importing them and calling `.run()` directly.\r\n\r\n---\r\n\r\n## Authentication\r\n\r\n### Login & Logout\r\n\r\n`req.auth` provides authentication scoped to the default guard.\r\n\r\n```javascript\r\nclass AuthController {\r\n    static async postLogin(req, res) {\r\n        const success = await req.auth.attempt({\r\n            email: req.body.email,\r\n            password: req.body.password\r\n        });\r\n\r\n        if (!success) {\r\n            return res.view('Auth/Login', {\r\n                error: 'Invalid credentials'\r\n            });\r\n        }\r\n\r\n        return req.auth.home();\r\n    }\r\n\r\n    static async logout(req, res) {\r\n        await req.auth.logout();\r\n\r\n        return res.redirect(route('home'));\r\n    }\r\n}\r\n```\r\n\r\n| Method | Description |\r\n|---|---|\r\n| `await req.auth.attempt(credentials)` | Validate credentials and log the user in. Returns `boolean`. |\r\n| `await req.auth.loginUsingId(id)` | Log a user in by primary key, without checking a password. Returns `boolean`. |\r\n| `await req.auth.user()` | The authenticated user, or `null`. |\r\n| `req.auth.check()` | `true` if the session holds an identity (synchronous, session-only). Gate access with `user()` - see note below. |\r\n| `await req.auth.logout()` | End the session. |\r\n| `await req.auth.logoutOtherDevices()` | Destroy every **other** session of the current user, keeping this one. Returns the number destroyed. |\r\n| `req.auth.home()` | Redirect to the guard's configured `home` route. |\r\n| `req.auth.redirect()` | Redirect to the guard's configured `redirect` route. |\r\n| `req.auth.guard(name)` | Same API, scoped to a named guard. |\r\n\r\n### Signing Out Other Devices\r\n\r\nChanging a password is meaningless against a stolen session if that session keeps working.\r\n`logoutOtherDevices()` deletes every stored session that belongs to the current user except\r\nthe one making the request, so the device that changed the password stays signed in and every\r\nother device is signed out.\r\n\r\n```javascript\r\nstatic async postPassword(req, res) {\r\n    const user = await req.auth.user();\r\n\r\n    user.password = await Hash.make(req.body.password);\r\n    await user.save();\r\n\r\n    await req.auth.logoutOtherDevices();\r\n\r\n    return res.send({\r\n        status: 'success'\r\n    });\r\n}\r\n```\r\n\r\nSessions are keyed by a random id, so the store finds the user's other sessions by matching the\r\nauth key held inside each session payload. Every driver implements this: `memory` and `file` walk\r\ntheir entries, `redis` walks the keyspace with `SCAN` (never `KEYS`, which blocks the server).\r\nThe sweep is meant for rare calls such as a password change, not for per-request use.\r\n\r\nCall it **after** the new password is saved. Calling it before leaves a window where another\r\ndevice could still act with the old credentials.\r\n\r\n### Guards\r\n\r\nGuards let one app authenticate multiple user types (e.g. `user` and `admin`). They are defined in `config/auth.js`:\r\n\r\n```javascript\r\nimport User from '../app/Models/User.js';\r\nimport Admin from '../app/Models/Admin.js';\r\n\r\nexport default {\r\n    defaults: {\r\n        guard: 'user'\r\n    },\r\n    guards: {\r\n        user: {\r\n            provider: User,\r\n            identifier: 'email',\r\n            home: 'dashboard',\r\n            redirect: 'login'\r\n        },\r\n        admin: {\r\n            provider: Admin,\r\n            identifier: 'username',\r\n            home: 'admin.dashboard',\r\n            redirect: 'admin.login'\r\n        }\r\n    }\r\n};\r\n```\r\n\r\n```javascript\r\n// Use a specific guard\r\nawait req.auth.guard('admin').attempt({ username, password });\r\nconst admin = await req.auth.guard('admin').user();\r\n```\r\n\r\n#### Gate access with `user()`, not `check()`\r\n\r\n`check()` only asks whether the session carries an identity; it never reads the database. A session\r\noutlives the record it points to, so after an account is deleted `check()` still returns `true`\r\nwhile `user()` returns `null`. A guard built on `check()` lets the stale session through and the\r\nnext line that touches the user crashes - and a `Guest` middleware built on `check()` bounces that\r\nsame session back to the dashboard, producing a redirect loop between login and home.\r\n\r\n```javascript\r\n// ✅ asks whether a valid user exists\r\nclass Authentication {\r\n    static async handler(req, res, guardName = 'user') {\r\n        if (!await req.auth.guard(guardName).user()) {\r\n            return req.auth.guard(guardName).redirect();\r\n        }\r\n    }\r\n}\r\n\r\n// ❌ asks only whether the session is non-empty\r\nif (!req.auth.guard(guardName).check()) {\r\n    return req.auth.guard(guardName).redirect();\r\n}\r\n```\r\n\r\n`check()` remains useful where a stale session is harmless and the extra query is not worth it -\r\nfor example toggling a \"log in / log out\" link in a layout.\r\n\r\n### Multi-Factor Authentication (MFA)\r\n\r\nEach guard exposes a TOTP-based MFA helper at `req.auth.mfa`. The user's model must have an `mfa` column (the encrypted secret is stored there).\r\n\r\n```javascript\r\n// 1. Start setup — returns a QR code to show the user\r\nconst { qrCode, secret, otpauthUri } = await req.auth.mfa.generate({\r\n    issuer: 'My App',\r\n    label: user.email\r\n});\r\n\r\n// 2. Confirm setup with a code from the user's authenticator app\r\nconst result = await req.auth.mfa.confirmSetup(req.body.code);\r\nif (result.success) {\r\n    // result.recoveryCodes — 8 single-use codes, show them once\r\n}\r\n\r\n// 3. At login time, after password check\r\nconst valid = await req.auth.mfa.verify(req.body.code);\r\nconst viaRecovery = await req.auth.mfa.verifyRecoveryCode(req.body.code);\r\n\r\n// State helpers\r\nawait req.auth.mfa.enabled();   // boolean — MFA confirmed for this user\r\nawait req.auth.mfa.disable();   // clear MFA data (verify the password yourself first)\r\nreq.auth.mfa.isPending();       // session flag: password OK, awaiting MFA code\r\nreq.auth.mfa.setPending();\r\nreq.auth.mfa.clearPending();\r\n```\r\n\r\n---\r\n\r\n## Sessions\r\n\r\n`req.session` is a per-request session instance.\r\n\r\n```javascript\r\n// Read & write\r\nreq.session.set('cart_id', 42);\r\nconst cartId = req.session.get('cart_id');\r\nconst all = req.session.all();\r\n\r\n// Flash messages — available only on the next request\r\nreq.session.flash('success', 'Profile updated!');\r\nconst message = req.session.getFlash('success');\r\n\r\n// CSRF tokens\r\nconst token = req.session.getCsrfToken();          // current token (generates one if absent)\r\nreq.session.generateCsrfToken();                   // force a new token\r\nreq.session.verifyCsrfToken(submittedToken);       // timing-safe comparison\r\n\r\n// Regenerate the session ID (anti-fixation, e.g. after login)\r\nreq.session.regenerate();\r\n\r\n// Getters\r\nreq.session.id;\r\nreq.session.createdAt;\r\n```\r\n\r\nThe session driver (`none`, `file`, `memory`, or `redis`) is configured in `config/session.js`.\r\n\r\n---\r\n\r\n## Validation\r\n\r\n```javascript\r\nimport { Validator } from '@nitronjs/framework';\r\n\r\nconst validation = Validator.make(req.body, {\r\n    name: 'required|string|min:2|max:100',\r\n    email: 'required|email',\r\n    password: 'required|string|min:8|confirmed',\r\n    age: 'numeric|min:18',\r\n    avatar: 'file|mimes:png,jpg|max:2097152'\r\n});\r\n\r\nif (validation.fails()) {\r\n    return res.code(422).send({\r\n        errors: validation.errors()\r\n    });\r\n}\r\n\r\nconst clean = validation.validated();\r\n```\r\n\r\n| Method | Description |\r\n|---|---|\r\n| `Validator.make(data, rules)` | Build a validator. |\r\n| `validation.fails()` / `validation.passes()` | Whether validation failed/passed. |\r\n| `validation.errors()` | Error messages keyed by field. |\r\n| `validation.validated()` | The validated subset of the input data. |\r\n\r\n**`email` accepts printable ASCII only.** MySQL's `utf8mb4_unicode_ci` treats `ádmin@ornek.com`,\r\n`ａdmin@ornek.com` and a zero-width-joined spelling as the same row as `admin@ornek.com`, while\r\nJavaScript sees four different strings. Anything the application keys on that value — a rate-limit\r\ncounter, a cache key — then opens a separate bucket per spelling while every one of them resolves to\r\nthe same account. Internationalised addresses (RFC 6531) need SMTPUTF8 support end to end and are out\r\nof scope.\r\n\r\nThe same restriction is available on its own as the **`ascii`** rule (printable ASCII U+0021 - U+007E;\r\nspace and control characters fail). Use it for other values that double as keys — usernames, invite\r\ncodes, slugs.\r\n\r\n**`regex`** takes the pattern as its parameter, for format rules the named rules do not cover:\r\n\r\n```javascript\r\nValidator.make(req.body, {\r\n    host: 'string|max:190|regex:^[A-Za-z0-9][A-Za-z0-9.-]*$',\r\n    from_name: 'string|max:120|regex:^[^\\\\r\\\\n\"<>]*$'\r\n});\r\n```\r\n\r\nThe pattern reaches the rule intact even when it contains `:` or `,` (`regex:^\\\\d{2}:\\\\d{2}$`,\r\n`regex:^[a-z]{1,3}$`). It anchors nothing on its own — write `^`/`$` if you mean the whole value —\r\nand a non-string fails rather than being coerced. An absent field passes, so it composes with\r\n`required`. Keeping format rules here rather than in an `if` below `Validator.make` keeps a form's\r\nwhole contract readable in one table.\r\n\r\n### Nested fields\r\n\r\nA rule key may be a dotted path into a nested object. This is how multilingual payloads are validated\r\nwithout flattening them first:\r\n\r\n```javascript\r\nconst validation = Validator.make(req.body, {\r\n    'title.tr': 'required|string|max:190',\r\n    'title.en': 'required|string|max:190',\r\n    'slug.tr': 'required|string|max:120',\r\n    'slug.en': 'required|string|max:120'\r\n});\r\n```\r\n\r\nEach rule sees the value at that path, so `min`/`max`/`string` apply to the leaf rather than to the\r\nparent object. A missing parent fails `required` instead of throwing. Error keys keep the dotted form\r\n(`errors()['title.en']`). Arrays use the `*` wildcard instead: `'items.*.name': 'required|string'`.\r\n\r\nDotted rules bound what a payload must contain, never what it may *also* contain. `'title.tr'` and\r\n`'title.en'` say nothing about a third key, so a request carrying `title[de]` passes and — since the\r\nobject is normally assigned to a JSON column whole — writes a language the application does not\r\nserve. Giving the parent's **`array`** rule a key list closes that side:\r\n\r\n```javascript\r\nconst validation = Validator.make(req.body, {\r\n    title: 'required|array:tr,en',\r\n    'title.tr': 'required|string|max:190',\r\n    'title.en': 'required|string|max:190'\r\n});\r\n```\r\n\r\nThe list is an allow-list, not an exact match: a listed key may be missing (that is what `required` on\r\nthe leaf is for), but an unlisted one fails and the message names it. An absent field passes, so the\r\nrule still composes with `required` instead of duplicating it, and `array` without parameters behaves\r\nexactly as before.\r\n\r\nThe key list belongs to `array` rather than to a rule of its own, so the type check and the allow-list\r\ncannot come apart: there is no way to bound the keys while forgetting to assert that the value is an\r\nobject in the first place. Putting the list on `in` would be worse still — `in` compares the *value*,\r\nso teaching it to inspect keys when handed an object would make its meaning depend on the type of the\r\nincoming data, which the sender chooses. `required|in:tr,en` would then read like a key check while\r\naccepting the literal string `\"tr\"`.\r\n\r\n---\r\n\r\n## Middleware\r\n\r\nMiddleware is a class with a `static async handler(req, res)` method. Returning a response (`res.send`, `res.redirect`, `res.view`, or an `auth` redirect) halts the chain; returning nothing lets it continue.\r\n\r\n```javascript\r\n// app/Middlewares/CheckAge.js\r\nclass CheckAge {\r\n    static async handler(req, res) {\r\n        if (req.query.age < 18) {\r\n            return res.code(403).send('Access denied');\r\n        }\r\n    }\r\n}\r\n\r\nexport default CheckAge;\r\n```\r\n\r\nRegister middleware aliases in `app/Kernel.js`:\r\n\r\n```javascript\r\nimport Authentication from './Middlewares/Authentication.js';\r\nimport CheckAge from './Middlewares/CheckAge.js';\r\n\r\nexport default {\r\n    routeMiddlewares: {\r\n        'auth': Authentication,\r\n        'check-age': CheckAge\r\n    }\r\n};\r\n```\r\n\r\nReference middleware by its string alias in routes:\r\n\r\n```javascript\r\nRoute.get('/admin', AdminController.index).middleware('auth');\r\n```\r\n\r\nMiddleware can receive a parameter — the framework's `auth` middleware, for example, accepts a guard name: `static async handler(req, res, guardName = 'user')`.\r\n\r\n---\r\n\r\n## Real-Time (Socket.IO)\r\n\r\nNitronJS ships with first-class Socket.IO support. The API mirrors HTTP routing exactly — same `prefix`/`middleware`/`name`/`group` chain, same middleware aliases — so you write WebSocket endpoints in the same language as REST endpoints.\r\n\r\n### Declaring routes\r\n\r\n```javascript\r\n// routes/web.js\r\nimport { Route } from '@nitronjs/framework';\r\nimport Game from '../app/Sockets/Game.js';\r\n\r\nRoute.io.prefix('/game').middleware('auth').name('game.').group(() => {\r\n    Route.io.on('connect', Game.onConnect);\r\n\r\n    Route.io.on('room.join', Game.onRoomJoin)\r\n        .middleware('game.room.join.form')\r\n        .name('room.join');\r\n\r\n    Route.io.on('round.guess', Game.onRoundGuess)\r\n        .middleware('game.round.guess.form')\r\n        .name('round.guess');\r\n\r\n    Route.io.on('disconnect', Game.onDisconnect);\r\n});\r\n```\r\n\r\n| HTTP | Socket.IO equivalent |\r\n|---|---|\r\n| `Route.get(path, h)` | `Route.io.on(event, h)` |\r\n| `Route.prefix('/admin')` | `Route.io.prefix('/game')` → Socket.IO namespace |\r\n| `.middleware('auth')` | Same — runs at handshake for namespace, per-event for `Route.io.on().middleware()` |\r\n| `.name('admin.')` | Same — produces names like `game.room.join` |\r\n| `.group(callback)` | Same |\r\n\r\n### Handler classes\r\n\r\nPlace handler classes in `app/Sockets/`. Methods follow an `on<EventName>` convention parallel to controllers' `getX`/`postX`:\r\n\r\n```javascript\r\n// app/Sockets/Game.js\r\nclass Game {\r\n\r\n    static async onConnect (socket) {\r\n        // socket.data.user and socket.data.user_id are populated when the\r\n        // namespace uses the \"auth\" middleware — identity is ready for every\r\n        // subsequent event handler.\r\n    }\r\n\r\n    static async onRoomJoin (socket, payload, ack) {\r\n        // payload was validated by the per-event Form middleware before reaching here\r\n        socket.join(payload.code);\r\n        socket.data.room_code = payload.code;\r\n\r\n        ack({ status: 'success', data: { code: payload.code } });\r\n        socket.to(payload.code).emit('room.member_joined', {\r\n            user_id: socket.data.user_id\r\n        });\r\n    }\r\n\r\n    static async onRoundGuess (socket, payload, ack) {\r\n        // ... game logic\r\n        ack({ status: 'success', data: { colors, attempts_left, won } });\r\n        socket.to(socket.data.room_code).emit('round.opponent_progress', {\r\n            user_id: socket.data.user_id,\r\n            attempts_left\r\n        });\r\n    }\r\n\r\n    static async onDisconnect (socket) {\r\n        // cleanup\r\n    }\r\n\r\n}\r\n\r\nexport default Game;\r\n```\r\n\r\nSignatures:\r\n- `connect` / `disconnect` → `(socket)`. No middleware runs (lifecycle events).\r\n- All other events → `(socket, payload, ack)`. `payload` is whatever the client emitted, `ack` is the optional acknowledgement callback the client passed.\r\n\r\n### Form middleware for events\r\n\r\nPer-event validation works the same as HTTP — write a Form middleware class, register it as an alias in `Kernel.js`, attach it via `.middleware()`. Only the signature differs (no `req`/`res`; `socket`/`payload`/`ack`):\r\n\r\n```javascript\r\n// app/Middlewares/Game_Round_Guess_Form.js\r\nimport { Validator } from '@nitronjs/framework';\r\n\r\nclass Game_Round_Guess_Form {\r\n    static async handler (socket, payload, ack) {\r\n        const validate = Validator.make(payload, {\r\n            word: 'required|string|min:5|max:5'\r\n        });\r\n        if (validate.fails()) {\r\n            ack({ status: 'failed', message: 'A valid 5-letter word is required.' });\r\n            return false;  // halt the chain, handler not called\r\n        }\r\n    }\r\n}\r\n\r\nexport default Game_Round_Guess_Form;\r\n```\r\n\r\nReturning `false` halts the chain. Anything else (including `undefined`) lets the handler run.\r\n\r\nNamespace middleware (the one attached at `Route.io.prefix(...).middleware(...)`) runs once during handshake. The same HTTP middleware classes (`Authentication`, `Guest`, your own) work without modification — the framework adapter converts the `(req, res)` signature into Socket.IO's handshake context. If your middleware sends a response or redirects, the framework rejects the handshake.\r\n\r\n### Identity (`socket.data.user`)\r\n\r\nWhen a namespace's middleware chain includes the `auth` alias and the user is authenticated, the framework attaches the loaded User model:\r\n\r\n```javascript\r\nsocket.data.user      // User model instance\r\nsocket.data.user_id   // Convenience: user.id\r\n```\r\n\r\nThis happens once at handshake, so event handlers don't need to re-resolve the user on every emit.\r\n\r\n### Native Socket.IO API\r\n\r\nInside handlers, all of Socket.IO's native API is available unchanged:\r\n\r\n```javascript\r\nsocket.join(roomCode);                              // join a room\r\nsocket.leave(roomCode);                             // leave\r\nsocket.to(roomCode).emit('event', { ... });         // broadcast to room (excludes sender)\r\nsocket.broadcast.emit('event', { ... });            // broadcast to namespace (excludes sender)\r\nsocket.emit('event', { ... });                      // send to this socket only\r\nsocket.data.x = 'value';                            // per-connection state\r\nsocket.rooms;                                       // Set of rooms this socket is in\r\nsocket.disconnect(true);                            // force close\r\n```\r\n\r\n### Push from outside a handler — `Sockets` helper\r\n\r\nUse `Sockets` for handler-free pushes (timers, background jobs, controllers):\r\n\r\n```javascript\r\nimport { Sockets } from '@nitronjs/framework';\r\n\r\nSockets.broadcast('/game', 'ABC234', 'round.started', { round_number: 3 });\r\n\r\n// Or get the namespace and use Socket.IO's API directly\r\nconst ns = Sockets.namespace('/game');\r\nns.to('ABC234').emit('round.ended', { winner_id: 42 });\r\n\r\n// Inspect — list connected sockets in a room\r\nconst sockets = await Sockets.in('/game', 'ABC234').fetchSockets();\r\nconsole.log(`${sockets.length} player(s) online`);\r\n```\r\n\r\n### Client-side\r\n\r\nUse the official `socket.io-client`. The server is **websocket-only** (HTTP long-polling is not supported with the Fastify attachment), so clients must pass `transports: [\"websocket\"]` — otherwise the default polling handshake 404s and the connection never establishes:\r\n\r\n```javascript\r\nimport { io } from 'socket.io-client';\r\n\r\nconst socket = io('/game', { withCredentials: true, transports: ['websocket'] });\r\n\r\nsocket.on('connect', () => {\r\n    socket.emit('room.join', { code: 'ABC234' }, (resp) => {\r\n        console.log(resp);  // { status: 'success', data: { code: 'ABC234' } }\r\n    });\r\n});\r\n\r\nsocket.on('round.opponent_progress', ({ user_id, attempts_left }) => {\r\n    // ... update UI\r\n});\r\n\r\n// Acknowledgement = synchronous request/response over WebSocket\r\nconst resp = await new Promise(resolve =>\r\n    socket.emit('round.guess', { word: 'kalem' }, resolve)\r\n);\r\n```\r\n\r\n### HMR\r\n\r\nIn development, changes to files under `app/Sockets/` and to any middleware they use are picked up on the next event reception — no server restart. Existing connections stay open; only the dispatched handler is re-imported from disk. This works for event handlers and event middleware; namespace middleware changes (the ones declared at `Route.io.prefix().middleware()` time) still require routes/web.js to reload, which the dev server handles automatically.\r\n\r\n### Backwards compatibility\r\n\r\nIf your app never calls `Route.io.on()`, the Socket.IO server is not booted. No port is opened, no memory is held, no behavior changes. WebSocket support is fully opt-in.\r\n\r\n---\r\n\r\n## Localization (i18n)\r\n\r\nTranslation files live in `resources/langs/`. Each locale is either a single JSON file (`tr.json`) or a folder of namespaced files (`tr/messages.json`).\r\n\r\n```json\r\n// resources/langs/en.json\r\n{\r\n    \"welcome\": \"Welcome\",\r\n    \"greeting\": \"Hello :name\",\r\n    \"cart\": {\r\n        \"items\": \"{count} item|{count} items\"\r\n    }\r\n}\r\n```\r\n\r\nTranslate with the global `__()` function (or its alias `lang()`) — available in views, controllers, and client code:\r\n\r\n```javascript\r\n__('welcome')                          // \"Welcome\"\r\n__('greeting', { name: 'Burak' })       // \"Hello Burak\"\r\n__('cart.items', { count: 1 })          // \"1 item\"\r\n__('cart.items', { count: 5 })          // \"5 items\"\r\n```\r\n\r\nRead the current request locale with the global `locale()` function — available everywhere (controllers, middleware, server views, and client-side code). It is hydration-safe: the value is identical on the server and after client hydration.\r\n\r\n```javascript\r\nlocale()                                      // \"tr\"\r\n\r\n// Pass the current locale to a localized route (e.g. routes under /:locale)\r\nroute('cms.dashboard', { locale: locale() })  // => \"/tr/cms\"\r\n<html lang={locale()}>\r\n```\r\n\r\nThe `Lang` class is available for server-side use:\r\n\r\n```javascript\r\nimport { Lang } from '@nitronjs/framework';\r\n\r\nLang.get('greeting', { name: 'Burak' });\r\nLang.has('welcome');                    // boolean\r\nLang.locale();                          // current locale\r\nLang.setLocale('tr');                   // change locale for the current request\r\n```\r\n\r\n`Lang.setLocale()` changes the locale of the request that is running — the right tool for a middleware that reads a cookie or a URL segment. When the text is for someone else — a mail to a passenger who reads another language, a job that runs outside any request — scope it with `Lang.withLocale()` instead. The callback runs with that locale active (every `__()`, `Lang.get()` and rendered view inside it follows), and the surrounding locale is back untouched when it returns. `Mail.queue()` renders the body at queue time, so this is how a queued mail gets the recipient's language rather than the operator's:\r\n\r\n```javascript\r\nawait Lang.withLocale(complaint.language, () =>\r\n    Mail.to(complaint.passenger_email)\r\n        .subject(Lang.get('mail.reply.subject', { number: complaint.number }))\r\n        .view('Mail/Reply', data)\r\n        .queue()\r\n);\r\n```\r\n\r\nA malformed locale throws instead of rendering in the wrong language.\r\n\r\n- Dot notation drills into nested keys: `cart.items`.\r\n- A `{count}` parameter triggers pluralization on `|`-separated values.\r\n- `:param` and `{param}` placeholders are both replaced from the params object.\r\n- An unresolved key returns the key itself, so missing translations are obvious.\r\n- In dev mode, language files hot-reload on change.\r\n\r\n---\r\n\r\n## Mail\r\n\r\n```javascript\r\nimport { Mail } from '@nitronjs/framework';\r\n\r\nawait Mail.from('noreply@app.com')\r\n    .to('user@email.com')\r\n    .subject('Welcome!')\r\n    .html('<h1>Hello</h1>')\r\n    .attachment({ filename: 'file.pdf', path: '/path/to/file.pdf' })\r\n    .send();\r\n\r\n// Using a view as the email body\r\nawait Mail.to('user@email.com')\r\n    .subject('Welcome!')\r\n    .view('emails/welcome', { name: 'Alice' })\r\n    .send();\r\n\r\n// BCC several recipients (hidden from each other) — e.g. notify every admin\r\nawait Mail.to(process.env.MAIL_USERNAME)\r\n    .bcc(['admin1@app.com', 'admin2@app.com'])\r\n    .subject('New reservation')\r\n    .view('emails/notice', { code: 'WL-1234' })\r\n    .send();\r\n\r\n// Send on behalf of a tenant: `from` stays the authenticated account,\r\n// `replyTo` is where the recipient's answer should actually go\r\nawait Mail.to(member.email)\r\n    .from('Zeynep PT <noreply@app.com>')\r\n    .replyTo('zeynep@studio.com')\r\n    .subject('Kaydın onaylandı')\r\n    .view('emails/notice', { name: member.name })\r\n    .send();\r\n\r\n// Render the body to static HTML without sending — e.g. for a live preview\r\nconst html = await Mail.to(member.email)\r\n    .view('emails/notice', { name: member.name })\r\n    .render();\r\n```\r\n\r\n`bcc(addresses)` accepts a single address or an array. `replyTo(address)` sets the `Reply-To` header — SMTP providers reject or spam-file a `From` that is not the authenticated account, so a multi-tenant application sends every message from one platform address and uses `replyTo` to make the reply reach the right person. SMTP credentials are read from the `MAIL_*` environment variables, or from the object handed to `send(callback)` when they live elsewhere (a settings table, say). `render()` runs the same view-rendering step as `send()` but returns the HTML string instead of dispatching an email — useful for previewing a template before it goes out.\r\n\r\n### Queueing a message\r\n\r\n`send()` waits for the SMTP round trip, so a request that mails one person is slow and a request that mails a hundred is a timeout. `queue()` is the same builder with a different ending: it writes one `mail` job to the [Queue](#queue) and returns its id immediately, and the worker inside the server sends it in the background.\r\n\r\n```javascript\r\nawait Mail.from('noreply@app.com')\r\n    .to(user.email)\r\n    .subject('Welcome!')\r\n    .view('Mail/Welcome', { name: user.name })\r\n    .queue();\r\n\r\n// An attachment travels as a file path, so the worker reads it at send time\r\nawait Mail.from('noreply@app.com')\r\n    .to(user.email)\r\n    .subject('Your report')\r\n    .view('Mail/Report', { month: '2026-09' })\r\n    .attachment({ filename: 'report.pdf', path: '/storage/app/public/upload_files/report.pdf' })\r\n    .queue();\r\n```\r\n\r\nThe body is rendered at `queue()` time, not at send time. That is what makes the row self-contained: the message goes out with the data as it was when the event happened, a retry sends exactly the same bytes, and the worker never touches application models.\r\n\r\nAn attachment obeys the same rule, which is why it has to be a **path**. The job stores the file's `filename` and `path` and nothing else, and the worker opens that path on every attempt — write the file once, never edit it in place, and every retry sends identical bytes. Attachment content held in memory (`content:` carrying a Buffer or a string) has no column it could survive in, and a calendar invite needs the `alternatives` structure only `send()` builds, so `queue()` throws on either rather than dropping it silently:\r\n\r\n```\r\nMail.queue() carries an attachment only as a file path. Attachment content held in memory and calendar invites must go through send().\r\n```\r\n\r\nOnly `filename` and `path` are stored, whatever else the attachment object carried. The payload is read back out of the database and handed to the transport, so a stray `content`, `href` or `raw` on the caller's object would be a nodemailer option smuggled through a column — it is dropped at `queue()` time instead.\r\n\r\nThe mail handler holds **one** pooled SMTP connection for the whole batch instead of opening one per message, and hands it back when the batch ends. Everything else — the timer, the retry ladder, the give-up point — belongs to the [Queue](#queue) and is described there.\r\n\r\n---\r\n\r\n## Queue\r\n\r\nWork that is slow, flaky, or simply not the caller's business belongs in the background. `Queue.push()` writes one row and returns; a timer inside the running server picks it up and hands it to the handler registered for its type.\r\n\r\n```javascript\r\nimport { Queue } from '@nitronjs/framework';\r\n\r\nawait Queue.push({\r\n    type: 'mail',\r\n    target: user.email,\r\n    label: 'Welcome',\r\n    payload: message\r\n});\r\n```\r\n\r\nFour fields carry a job. **`type`** decides which handler runs it. **`target`** is who or what the work is for — an address, a phone number, a URL — and **`label`** is one human-readable line; both are ordinary indexed columns, so an admin screen can list and search jobs without digging into JSON. **`payload`** is everything the handler needs, and it must be **resolved at push time**: put the rendered message in it, not a row id to look up later. That is what makes a retry repeat the same work rather than whatever the database happens to say an hour on.\r\n\r\n### Handlers\r\n\r\nA handler is any object with an async `handle(payload)`. It signals failure by throwing — the worker catches, records and reschedules. An optional `finish()` runs once after the batch, for a handler that holds something open across it (the built-in mail handler keeps one pooled SMTP connection that way).\r\n\r\n```javascript\r\n// app/Jobs/Send_SMS.js\r\nclass Send_SMS {\r\n    static async handle(payload) {\r\n        const response = await fetch(GATEWAY, { method: 'POST', body: JSON.stringify(payload) });\r\n\r\n        if (!response.ok) {\r\n            throw new Error(`SMS gateway answered ${response.status}`);\r\n        }\r\n    }\r\n}\r\n\r\nexport default Send_SMS;\r\n```\r\n\r\nTypes are declared in `Kernel.js` beside the route middlewares, so a new kind of background work is one file plus one line:\r\n\r\n```javascript\r\n// app/Kernel.js\r\nexport default {\r\n    routeMiddlewares: { ... },\r\n    jobHandlers: {\r\n        'sms': Send_SMS\r\n    }\r\n};\r\n```\r\n\r\n`Queue.handle(type, handler)` registers one imperatively, which is mostly useful in tests. The framework registers `mail` itself.\r\n\r\n### The worker\r\n\r\nThe HTTP server starts the worker right after the database and stops it on shutdown, so there is no second process to deploy and no long-lived worker holding yesterday's code in memory. Each tick claims the oldest due rows and runs them in order.\r\n\r\nWork that throws is put back with a growing wait — 1, 5, 15, 60, then 360 minutes — and becomes `failed` once `max_attempts` is spent, after which only an explicit requeue moves it. A row whose `type` has no handler fails immediately instead: retrying could never help, and leaving it pending would let it chew through every batch forever.\r\n\r\nFinished rows are kept, so `jobs` doubles as the record of what the application has done in the background: type, target, label, attempts, last error, finish time.\r\n\r\n```javascript\r\n// config/queue.js\r\nexport default {\r\n    enabled: true,\r\n    interval_seconds: 10,\r\n    batch: 20,\r\n    max_attempts: 5\r\n};\r\n```\r\n\r\n`enabled: false` never starts the timer, which is what a test suite wants — call `Queue.drain()` there instead and assert on what came out.\r\n\r\nThe `jobs` table is the framework's own. It ships as a framework migration, so `njs migrate` creates it ahead of the project's own migrations: there is nothing to copy into `database/migrations/`, and nothing to keep in step when its columns change. A project that created the table itself before this shipped keeps working untouched — the framework migration only creates what is missing.\r\n\r\n### Reading the queue\r\n\r\n`Job` is that table as a model, so the admin screen listing outgoing mail is an ordinary query, and an application never declares the framework's table in its own `app/Models/`.\r\n\r\n```javascript\r\nimport { Job } from '@nitronjs/framework';\r\n\r\nconst failed = await Job\r\n    .where({ type: 'mail', status: 'failed' })\r\n    .orderBy('created_at', 'desc')\r\n    .limit(50)\r\n    .get();\r\n```\r\n\r\nRequeueing is the one write an application makes here. Put `status` back to `pending`, clear `attempts` and pull `available_at` up to now, and the next tick picks the row up again.\r\n\r\n```javascript\r\nconst row = await Job.find(id);\r\n\r\nrow.status = 'pending';\r\nrow.attempts = 0;\r\nrow.last_error = null;\r\nrow.available_at = DateTime.toSQL();\r\nawait row.save();\r\n```\r\n\r\n---\r\n\r\n## Storage\r\n\r\n```javascript\r\nimport { Storage } from '@nitronjs/framework';\r\n\r\nawait Storage.put(file, 'upload_files', 'image.jpg');\r\nconst buffer = await Storage.get('upload_files/image.jpg');\r\nawait Storage.delete('upload_files/old.jpg');\r\nawait Storage.move('upload_files/a.jpg', 'upload_files/b.jpg');\r\nStorage.exists('upload_files/image.jpg');\r\nStorage.url('upload_files/image.jpg');  // => \"/storage/upload_files/image.jpg\"\r\n```\r\n\r\nPass `true` as the last argument to `get`/`put`/`delete`/`move`/`exists` to operate on private storage (`storage/app/private/`), which is not web-accessible.\r\n\r\n---\r\n\r\n## Utilities\r\n\r\n### Encryption\r\n\r\n```javascript\r\nimport { AES } from '@nitronjs/framework';\r\n\r\nconst token = AES.encrypt({ userId: 1, expires: '2025-12-31' });\r\nconst data = AES.decrypt(token);  // Returns false on tamper\r\n```\r\n\r\n### Hashing\r\n\r\n```javascript\r\nimport { Hash } from '@nitronjs/framework';\r\n\r\nconst hashed = await Hash.make('password123');\r\nconst valid = await Hash.check('password123', hashed);\r\n```\r\n\r\nThe bcrypt cost factor is configured in `config/hash.js`.\r\n\r\n### Logging\r\n\r\n```javascript\r\nimport { Log } from '@nitronjs/framework';\r\n\r\nLog.info('User registered', { userId: 1 });\r\nLog.error('Payment failed', { orderId: 123 });\r\nLog.warning('Slow query', { ms: 1200 });\r\nLog.debug('Query executed', { sql: '...' });\r\n```\r\n\r\n### DateTime\r\n\r\nUse `DateTime` for all server-side date and time work — never `new Date()`.\r\n\r\n```javascript\r\nimport { DateTime } from '@nitronjs/framework';\r\n\r\nDateTime.toSQL();                          // \"2026-05-14 10:30:00\" (now, SQL format)\r\nDateTime.toSQL(timestamp);                 // a specific timestamp in SQL format\r\nDateTime.getDate(timestamp, 'Y-m-d H:i');  // formatted date string\r\nDateTime.getTime(sqlDateTime);             // SQL datetime → millisecond timestamp\r\nDateTime.addDays(7);                       // 7 days from now, SQL format\r\nDateTime.addHours(3);\r\nDateTime.addMinutes(30);\r\nDateTime.subDays(7);\r\nDateTime.subHours(2);\r\nDateTime.subMinutes(15);\r\n```\r\n\r\n### Faker\r\n\r\nBuilt-in fake data generator for seeders and testing:\r\n\r\n```javascript\r\nimport { Faker } from '@nitronjs/framework';\r\n\r\nFaker.fullName();              // \"John Smith\"\r\nFaker.email();                 // \"john@example.com\"\r\nFaker.phoneNumber();           // \"+1 555 0142\"\r\nFaker.sentence();              // \"Lorem ipsum dolor sit amet.\"\r\nFaker.paragraph();             // multi-sentence text\r\nFaker.int(1, 100);             // 42\r\nFaker.float(0, 1, 2);          // 0.37\r\nFaker.boolean();               // true\r\nFaker.uuid();                  // \"550e8400-e29b-41d4-a716-446655440000\"\r\nFaker.creditCard();            // Luhn-valid card number\r\nFaker.hexColor();              // \"#a3f29c\"\r\nFaker.city();                  // \"Istanbul\"\r\nFaker.companyName();           // \"Acme Inc.\"\r\nFaker.imageUrl(640, 480);      // placeholder image URL\r\nFaker.arrayElement(['a', 'b', 'c']);\r\nFaker.oneOf('x', 'y', 'z');\r\n```\r\n\r\n### String Utilities\r\n\r\n```javascript\r\nimport { Str } from '@nitronjs/framework';\r\n\r\nStr.slug('Hello World');       // \"hello-world\"\r\nStr.camel('user_name');        // \"userName\"\r\nStr.pascal('user_name');       // \"UserName\"\r\nStr.snake('userName');         // \"user_name\"\r\nStr.kebab('userName');         // \"user-name\"\r\nStr.title('hello world');      // \"Hello World\"\r\nStr.ucfirst('hello');          // \"Hello\"\r\nStr.random(32);                // random string\r\nStr.uuid();                    // a UUID\r\nStr.limit('Long text here', 9);// \"Long text...\"\r\nStr.plural('post');            // \"posts\"\r\nStr.singular('posts');         // \"post\"\r\nStr.contains('hello', 'ell');  // true\r\nStr.startsWith('hello', 'he'); // true\r\n```\r\n\r\n---\r\n\r\n## Global Functions\r\n\r\nThese functions are available everywhere — controllers, views, and client-side code — without an import:\r\n\r\n| Function | Description |\r\n|---|---|\r\n| `route(name, params?, query?)` | Generate a URL for a named route. |\r\n| `csrf()` | The current request's CSRF token. Use it in forms and fetch headers. |\r\n| `__(key, params?)` | Translate a key with the current locale. |\r\n| `lang(key, params?)` | Alias of `__()`. |\r\n| `request()` | The current request object (Server Components only). Exposes `path`, `method`, `query`, `params`, `headers`, `cookies`, `ip`, `isAjax`, `locale`, `session`, `auth`. |\r\n\r\n```tsx\r\n// In a form\r\n<input type=\"hidden\" name=\"_csrf\" value={csrf()} />\r\n\r\n// In a fetch call\r\nfetch('/api/posts', {\r\n    method: 'POST',\r\n    headers: { 'x-csrf-token': csrf() }\r\n});\r\n\r\n// In a Server Component\r\nconst tab = request().query.tab || 'general';\r\n```\r\n\r\n---\r\n\r\n## CLI Commands\r\n\r\n```bash\r\n# Development\r\nnpm run dev              # Start dev server with HMR\r\nnpm run build            # Build for production\r\nnpm run start            # Start production server\r\n\r\n# Database\r\nnpm run migrate          # Run migrations\r\nnpm run migrate:safe     # Run migrations after an automatic DB backup\r\nnpm run migrate:fresh    # Fresh migration\r\nnpm run migrate:fresh:seed # Fresh migration + seed\r\nnpm run migrate:rollback # Rollback last batch\r\nnpm run migrate:status   # Show migration status\r\nnpm run seed             # Run seeders\r\nnpx njs db:backup        # Manual DB backup for the current deploy target\r\nnpx njs db:backups       # List all DB recovery points\r\nnpx njs db:restore <id>  # Restore the DB from a backup (takes a pre-restore backup)\r\n\r\n# Code Generation\r\nnpm run make:controller <name>\r\nnpm run make:model <name>\r\nnpm run make:middleware <name>\r\nnpm run make:migration <name>\r\nnpm run make:seeder <name>\r\nnpm run make:socket <name>\r\n\r\n# Diagnostics\r\nnpx njs doctor           # Framework health check (auto-fixes safe drift)\r\nnpx njs deploy:doctor    # Deploy health check (cascades into doctor)\r\n\r\n# Deployment\r\nnpx njs deploy:init             # Scaffold CI/CD files (workflow YAML, deploy.config.js)\r\nnpx njs deploy:runner           # Install a self-hosted GitHub Actions runner (--allow-root to run as root)\r\nnpx njs deploy:runner:remove    # Uninstall the self-hosted runner from a server\r\nnpx njs deploy:rollback         # Restore a previous snapshot interactively (on a server)\r\n\r\n# Utilities\r\nnpm run storage:link     # Create storage symlink\r\nnpx njs key:generate     # Write a fresh APP_KEY into .env\r\nnpx njs key:generate --force  # Overwrite an existing APP_KEY (invalidates hashes/sessions/encrypted data)\r\n```\r\n\r\n---\r\n\r\n## Project Structure\r\n\r\n```\r\nmy-app/\r\n├── app/\r\n│   ├── Controllers/      # Request handlers\r\n│   ├── Middlewares/      # Custom middleware\r\n│   ├── Models/           # Database models\r\n│   ├── Sockets/          # Socket.IO handler classes (optional)\r\n│   └── Kernel.js         # Middleware alias registry\r\n├── config/               # Configuration files\r\n│   ├── app.js\r\n│   ├── auth.js\r\n│   ├── database.js\r\n│   ├── hash.js\r\n│   ├── server.js\r\n│   └── session.js\r\n├── database/\r\n│   ├── migrations/       # Database migrations\r\n│   └── seeders/          # Database seeders\r\n├── public/               # Static assets\r\n├── resources/\r\n│   ├── css/              # Stylesheets\r\n│   ├── langs/            # Translation files\r\n│   └── views/            # React components (TSX)\r\n├── routes/\r\n│   └── web.js            # Route definitions\r\n├── storage/              # File storage (logs, sessions, uploads, snapshots)\r\n├── deploy.config.js      # Deployment targets (created by deploy:init)\r\n└── .env                  # Environment variables\r\n```\r\n\r\n---\r\n\r\n## CSS & Tailwind\r\n\r\nPut your CSS files in `resources/css/`. Tailwind CSS v4 is automatically detected and processed.\r\n\r\n```css\r\n/* resources/css/global.css */\r\n@import \"tailwindcss\";\r\n```\r\n\r\nImport in your `.tsx` files using the `@css` alias:\r\n\r\n```tsx\r\nimport \"@css/global.css\";\r\n```\r\n\r\n---\r\n\r\n## Configuration\r\n\r\n### Accessing config values\r\n\r\n```javascript\r\nimport { Config } from '@nitronjs/framework';\r\n\r\nconst appLocale = Config.get('app.locale');\r\nconst sessionDriver = Config.get('session.driver', 'file');  // with a default\r\n```\r\n\r\n`Config.get(key, default?)` reads from the files in `config/`. The first key segment is the file name (`app` → `config/app.js`), the rest is the path into that file's exported object.\r\n\r\n### Config files\r\n\r\n| File | Configures |\r\n|---|---|\r\n| `config/app.js` | `locale`, `fallback_locale`, `timezone`, and the `csp` (Content Security Policy) whitelist. |\r\n| `config/auth.js` | `defaults.guard` and the `guards` map (provider model, login `identifier`, `home` / `redirect` routes). |\r\n| `config/database.js` | `connections` — per-driver settings (charset, collation, connection pool). |\r\n| `config/session.js` | `driver`, `lifetime`, `cookieName`, the `cookie` options, and `csrf` settings (which methods are protected, the token/header field names, route exceptions). |\r\n| `config/server.js` | `engine` (which HTTP engine runs the server), `web_server` (body limit, multipart upload limits and security), `cors`, and `log` settings. |\r\n| `config/hash.js` | `salt_rounds` — the bcrypt cost factor. |\r\n\r\n### HTTP engine\r\n\r\n`config/server.js` names the HTTP engine the server runs on:\r\n\r\n```javascript\r\nexport default {\r\n    engine: 'fastify',\r\n    // ...\r\n};\r\n```\r\n\r\n`NITRON_ENGINE` overrides it for a single process, which is how a deployment tries one\r\nengine on one machine without editing the file:\r\n\r\n```bash\r\nNITRON_ENGINE=fastify npx njs start\r\n```\r\n\r\nAvailable engines: `fastify` (the default). A name that is not on that list stops the\r\nboot and prints the names that are — a typo must not quietly start a server on an\r\nengine nobody chose.\r\n\r\n### Environment variables\r\n\r\nConfiguration that varies per environment lives in `.env`:\r\n\r\n```env\r\nAPP_NAME=my-app\r\nAPP_KEY=\r\nAPP_URL=http://localhost\r\nAPP_PORT=3000\r\n\r\nFILESYSTEM_DRIVER=disk\r\n\r\n# Driver: mysql | postgresql | mongodb | none\r\nDATABASE_DRIVER=none\r\nDATABASE_HOST=127.0.0.1\r\nDATABASE_PORT=3306\r\nDATABASE_NAME=my-app\r\nDATABASE_USERNAME=root\r\nDATABASE_PASSWORD=\r\n\r\nMAIL_HOST=\r\nMAIL_PORT=\r\nMAIL_USERNAME=\r\nMAIL_PASSWORD=\r\nMAIL_SECURE=\r\n\r\nREDIS_HOST=127.0.0.1\r\nREDIS_PORT=63","readmeFilename":"README.md"}