{"_id":"najm-api","_rev":"90-98e681941156c1fd6e20ab25ec2f9b50","name":"najm-api","dist-tags":{"latest":"3.0.0"},"versions":{"1.1.2":{"name":"najm-api","version":"1.1.2","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.2","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"1aa450fcdd51f011d55d345c8af209277b5a7e7d","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.2.tgz","fileCount":4,"integrity":"sha512-ME0nl7hdsq7Bb8nTBlnUQQZFUrXdUMZIu8LYKPIxz2seaRXlLA0eTpkGNl18zk9TX6zMjFfjYa/5Ywh+mfxDPg==","signatures":[{"sig":"MEUCIAvrbLJ1UpMu1JUOSehLcp0vMw1q1Qr1LBnee2V5naekAiEAhgea5MS2pJ3GP2RTnxWJ9smUqzNjL82qzl/qp1sSAzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27646},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"ac99d8debc8e235e8993aa0c85221a397497c7dc","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.2_1775244011999_0.8556761715721182","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"najm-api","version":"1.1.3","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.3","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"d49365dbe97aa85caa6941fecaff89443297e2f9","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.3.tgz","fileCount":4,"integrity":"sha512-GhyWgV2IL1KMx95mrhDO4yitTfrWj6zc6BJkj4fLqgSFDFUEaHbPyWfT4iCxEfpx99RL0PwJjj+9MyWtGTp1lw==","signatures":[{"sig":"MEYCIQCzuI14YaS32r8MVHSeM32rVmPWiEFbaOWfu+j+Q+8XxwIhAO2blONz+McIHrox5gPJAy97a+yxI7cYV5oOpSfyaZQh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27646},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"ac99d8debc8e235e8993aa0c85221a397497c7dc","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.3_1775245188905_0.9392167689754924","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"najm-api","version":"1.1.4","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.4","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"14fb5a6ddd38f11561e985bd9ee25eada2a123d6","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.4.tgz","fileCount":4,"integrity":"sha512-4+tFm9tFdSNF1UJHxRpLFB8WsniKZCpwqhjYJIleuEk0N8xJpkoHIAdB4JkmdyqJYCJO6hXWSjmCZ+wAmTvfTA==","signatures":[{"sig":"MEYCIQDN4ZprBU84jy8dp3C7E95vhL2jBwzBU8DQe1uD4eFCNQIhAP1JP4yZy3jufsV+4YBc8kLc973rjRJNTCCT/kCsdrZt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27646},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"0bd9ab17b7bf83a50b90235289906d5c1f40cbd3","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.4_1775480410861_0.5542465440112274","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"najm-api","version":"1.1.5","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.5","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"8e7dac7eaa091ddc08d811078522c7a111d44f6e","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.5.tgz","fileCount":4,"integrity":"sha512-a+S8bYGsYjf4bVFqxM855ccKIppq/+7Csa4OvOwYbdcPdloBBIBpEOPPKqOJ1iLZfvt8q8MnEChPB1c9hYchaA==","signatures":[{"sig":"MEUCIQCeDLBftFOMWOQhExhuERqffFfOn0vWssiEZB76pLB3hAIgVksb4I4MX6lSvFliCy4k0Y7tTgXH0Nc8zq/CU70ScMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27646},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"38d187a71d5e2388c515c12223027d0d78ba8453","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.5_1775505743746_0.7485514689642299","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"najm-api","version":"1.1.6","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.6","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"042cd2c200e97787952af20c7ec59d206b20e400","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.6.tgz","fileCount":4,"integrity":"sha512-80v/cmPdCq814/fORJ12QX9o9+OV9DDJURjPXfWwhWWZ6lFKyhb/fxn/eBzvx9VLhJ2gEkVGyFTAIHD0JKQtiQ==","signatures":[{"sig":"MEUCIQDbgmXFl/Yb6jiViIAPDsvLzXOjKmXZvJ2hyAyeUz6iCwIgEC+JukLs91dJIm29704p20/EctWUrWOVBLKGgtySwfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27646},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"38d187a71d5e2388c515c12223027d0d78ba8453","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.2.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.6_1775680835929_0.41104739038935456","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"najm-api","version":"1.1.7","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.7","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"ce33e4b22ce48badf765f73dbd89503df0b39a58","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.7.tgz","fileCount":4,"integrity":"sha512-Hf8HKFqlO8S9TxrB9Rr4KmfYgQGzpUoNyZ3oibQw6ErhiAi7FeoHuOQMh7CXH20JD+LxDqOxNvV+Ee1eD+inLQ==","signatures":[{"sig":"MEYCIQC6riHPH19arHArvRoyLbaJ9Co83FDSF0tKIdqMoln2NwIhAMkQbqy9t05vUIAgJBsv28Yc1dpK2DHYaVmuMJBdeUsV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27646},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"38d187a71d5e2388c515c12223027d0d78ba8453","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.7_1776978942914_0.06280004405834538","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"najm-api","version":"1.1.8","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.8","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"2dc293c02d82f3eb37e612b0f35fe5626ac2ae71","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.8.tgz","fileCount":4,"integrity":"sha512-66z84WvVVfJO8DndwvDoLTEMZb+hyWqsGytEq2t46npYsbpZ34yB3meBxlsbfwn7/63cy8AbH6RCO83Wd+vBng==","signatures":[{"sig":"MEYCIQCbZ5c2rwcpnNjMgUtbO4D3L3wyfEs63Fmpd9SnIU9XdgIhAPbuVAo2Ij4WeIQ2OPFWUZuvXA4XGSZr6p4RBx5yydhH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27646},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"8e2c58b93387647f796ff44a772aeb4b4c639fe5","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.2.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.8_1778194260544_0.8382687274840519","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"najm-api","version":"1.1.9","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.9","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"6ebde99a49cec54fd2f64581bf30b60bf9fb1930","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.9.tgz","fileCount":4,"integrity":"sha512-ZWJQmhmOoiNPLdLuQzyJx/Zru3fMumALE8gukw5T3kMqgdFJjlOJuprN3BDaEQHF7Qv/Rh7WBRzmk0MScvNpSg==","signatures":[{"sig":"MEUCIQDNFQ+GlMCAIP1U+OXi/ggdYTMVzViFTP2v2Xg+06ynZAIgYyVm9E6KrVj3sRuB+MD/Ce7Ci+JD+xzbJ2gvzM5+wLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27646},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"8e2c58b93387647f796ff44a772aeb4b4c639fe5","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.2.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.9_1778194550726_0.8428646261930377","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"najm-api","version":"1.1.10","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.10","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"11f8ae180029b78b544de4ad8db80934375ab9e3","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.10.tgz","fileCount":4,"integrity":"sha512-3qqytFF8h9buDVkjzKwOCuePNkegoaJi69U9vVn1Bk4oz8Qus0/hu22ApS9NsggmYiIiIloD6xxk/XTmDCdfyA==","signatures":[{"sig":"MEQCIHYOH/ln+FhezzW1RD07W1hGCVwITAduz2Hz4gm5L+QYAiB4901zGnKru1AqfT2bbd8iGfD3UpenaTCce12u4ZQdPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27647},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"gitHead":"0a7c265de2d7708e8454e4b54ca99e4fce38e2e0","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-core":"^1.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.10_1778660421354_0.8636688077267465","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"najm-api","version":"1.1.12","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.12","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"406c88776bb539640bf31d1fe9bbb70e30621660","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.12.tgz","fileCount":30,"integrity":"sha512-Aa987U6uZXVxN89A+FpftQjiyqHP7gFjre4CHz8XgGmIUWnJBjm5JTtKYXF0a/lfq95Nd13xF+CN1SGux7fAlg==","signatures":[{"sig":"MEYCIQCSYoj/5JurnOPD1J7e4TOrjztT/ONjYNQ9FHm3EYfoXwIhAPxPYznJV8ikMf3ZnJigdBZsP3KaKOQ+82Y0OQ7LlWEo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13747},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"gitHead":"cab272e3042a756316ed943546f91400275974e9","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-mcp":"^0.0.16","najm-auth":"^1.1.38","najm-core":"^1.2.10","najm-cors":"^1.1.12","najm-i18n":"^1.1.12","najm-rate":"^1.1.12","najm-cache":"^1.2.9","najm-email":"^1.1.12","najm-event":"^1.1.13","najm-guard":"^1.1.12","najm-cookies":"^1.1.12","najm-storage":"^1.1.19","najm-database":"^1.1.14","najm-validation":"^1.1.13"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.12_1780437705796_0.2996276774889941","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"najm-api","version":"1.1.13","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.13","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"2ffa0a3d8c313c80af7e8a5be8fdc6a05c892dcc","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.13.tgz","fileCount":30,"integrity":"sha512-ZjkqH1qHn74ha8Ln4JBM4aDKigdLYEifcT5x5oMfCN+d2ooXzhlVMaSGPC8+F1GQsL7d/AhZqUHPM7GDAiSv6Q==","signatures":[{"sig":"MEUCIBCF652l0yYvnx6BtlmMCYFkf+7nKFSyQg0u9qNQJR9gAiEAg4WbjG9/Ct/QBLkKuhBTTKXRQcFAKNXNXTQba7LQxOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13748},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"gitHead":"8b9c2bacf60c75c5b42747b258290bb65a0896f9","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-mcp":"^0.0.17","najm-auth":"^1.1.39","najm-core":"^1.2.11","najm-cors":"^1.1.13","najm-i18n":"^1.1.13","najm-rate":"^1.1.13","najm-cache":"^1.2.10","najm-email":"^1.1.13","najm-event":"^1.1.14","najm-guard":"^1.1.13","najm-cookies":"^1.1.13","najm-storage":"^1.1.21","najm-database":"^1.1.15","najm-validation":"^1.1.14"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.13_1781366368463_0.7233738236649816","host":"s3://npm-registry-packages-npm-production"}},"1.1.14":{"name":"najm-api","version":"1.1.14","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@1.1.14","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"9bc971200e8f3bd48cfcc278c690429f5082856c","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-1.1.14.tgz","fileCount":30,"integrity":"sha512-W4sFi4R1HkMLJtVpm/+lyBeOfDMPeNxwxGNQC1fpCH7ELd/tW8NAHw2pZlFxWnfVaSJ6YrVY9wNVLpb5h4+DpQ==","signatures":[{"sig":"MEUCIEe1zCtqxK+/Ok/ClFml+s9+BHi4yDzPRsxmGgPDKlqLAiEAxAUtEow2x5B9bVq4SLKaSUjWoLBl5x3uNw3YeKaQqkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13748},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"gitHead":"064f25b375f606c276a5651ea316714354a2a4a4","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"10.9.2","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"23.9.0","dependencies":{"najm-mcp":"^0.0.18","najm-auth":"^1.1.41","najm-core":"^1.2.12","najm-cors":"^1.1.14","najm-i18n":"^1.1.14","najm-rate":"^1.1.14","najm-cache":"^1.2.11","najm-email":"^1.1.14","najm-event":"^1.1.15","najm-guard":"^1.1.14","najm-cookies":"^1.1.14","najm-storage":"^1.1.22","najm-database":"^1.1.16","najm-validation":"^1.1.15"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_1.1.14_1782078146790_0.436712326260041","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"najm-api","version":"2.0.1","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@2.0.1","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"69a73b2f183caee349f5a19ab4a849a92aa831da","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-2.0.1.tgz","fileCount":30,"integrity":"sha512-Tam6FyDKqr1CaCb2m2TObpT//ssdTbHUj5uBuH/CCeJD26qaybFFQK1eu7qDoQK+0qsMPvO8QlWX1dZC8wposg==","signatures":[{"sig":"MEYCIQCCU5S8UBCL3e84jXv2O85zGVAv1lNNRQVyS8QnC5uEwQIhAPG3pe9YD7+yJ7isdjsZ14nu2vaW+UTLo2EJxUx1Ep64","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13885},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"gitHead":"bc3594d46998492318e804ff7f9389b1c7934a43","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"11.16.0","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"24.18.0","dependencies":{"najm-mcp":"^2.0.1","najm-auth":"^2.0.1","najm-core":"^2.0.1","najm-cors":"^2.0.1","najm-i18n":"^2.0.1","najm-rate":"^2.0.1","najm-cache":"^2.0.1","najm-email":"^2.0.1","najm-event":"^2.0.1","najm-guard":"^2.0.1","najm-cookies":"^2.0.1","najm-storage":"^2.0.1","najm-database":"^2.0.1","najm-validation":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_2.0.1_1783690046420_0.8023381265934306","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"najm-api","version":"2.0.2","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@2.0.2","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"389ec055b4cfcb8534ef0a18c7eeb60f7a19c525","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-2.0.2.tgz","fileCount":30,"integrity":"sha512-6W9426oYRvxsbggKDR/23Jg7i+dYYUo+eN7PYPVgWPjysgf+1nMRW35nk6r8skrKhPIAGocUzbBgiMPOVgZn4w==","signatures":[{"sig":"MEUCIHYc14e3vhO43H7VINpkut/GTADKoanZHLlopKEm9BHYAiEAu+p5RFPUvRBSGx4w4/tOB6Phg5ZQ39Li8/WqCAya4aM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13739},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"11.13.0","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"24.16.0","dependencies":{"najm-mcp":"^2.0.2","najm-auth":"^2.0.2","najm-core":"^2.0.3","najm-cors":"^2.0.2","najm-i18n":"^2.0.2","najm-rate":"^2.0.2","najm-cache":"^2.0.2","najm-email":"^2.0.2","najm-event":"^2.0.2","najm-guard":"^2.0.2","najm-cookies":"^2.0.2","najm-storage":"^2.1.1","najm-database":"^2.0.2","najm-validation":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_2.0.2_1784718966135_0.7740282820647226","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"najm-api","version":"2.0.3","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@2.0.3","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"82f23a4534371e524840b3fae951f7fb781cf91a","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-2.0.3.tgz","fileCount":30,"integrity":"sha512-TnBdHK+jNXKob+0Je4UgvbZWrXJ1KwaR5WiJv8bEBERdKVglRHHKyZZ7llROOV+CRs++oCE8BAlj2b12bzv3Lg==","signatures":[{"sig":"MEQCIH/tqUxG43vmHouD/3SdYJdaUn3MuGq4sCWnXMTZ/tJFAiBuyr1Peagduq0FU6xYAADWw8ypKCmO3X6QrpiNf6JzAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13739},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"11.13.0","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"24.16.0","dependencies":{"najm-mcp":"^2.0.2","najm-auth":"^2.0.3","najm-core":"^2.0.4","najm-cors":"^2.0.2","najm-i18n":"^2.0.2","najm-rate":"^2.0.2","najm-cache":"^2.0.2","najm-email":"^2.0.2","najm-event":"^2.0.2","najm-guard":"^2.0.2","najm-cookies":"^2.0.2","najm-storage":"^2.1.1","najm-database":"^2.0.3","najm-validation":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_2.0.3_1784769790197_0.8640529125297711","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"najm-api","version":"2.0.4","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@2.0.4","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"bc4d94ad717e3f3dee8e7867812a46a48bec537d","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-2.0.4.tgz","fileCount":30,"integrity":"sha512-h+m2Mvs57LljdwTsHD3tk7pdAPkZEE5RRqwC7rMvr0qwYgGBwHK9v92ZL1kzOs3amWg6dx0vyYtrPky/MfB4vw==","signatures":[{"sig":"MEYCIQCKL661QUe++ikBrk8ZLzfHEsRybEeQ3dL9yFk3SoTP3wIhAOXSUL1CBQsuWTFx+mUPItDc9Pun3/kGReI1IyzoJl+f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13739},"main":"./dist/index.mjs","type":"module","_from":"file:C:/Users/hdevlop/AppData/Local/Temp/najm-release-2c87be6/najm-api-2.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_resolved":"C:\\Users\\hdevlop\\AppData\\Local\\Temp\\najm-release-2c87be6\\najm-api-2.0.4.tgz","_integrity":"sha512-h+m2Mvs57LljdwTsHD3tk7pdAPkZEE5RRqwC7rMvr0qwYgGBwHK9v92ZL1kzOs3amWg6dx0vyYtrPky/MfB4vw==","_npmVersion":"11.13.0","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"24.16.0","dependencies":{"najm-mcp":"^2.1.1","najm-auth":"^3.2.1","najm-core":"^2.0.5","najm-cors":"^2.0.2","najm-i18n":"^2.0.3","najm-rate":"^2.0.3","najm-cache":"^2.0.2","najm-email":"^2.0.2","najm-event":"^2.0.2","najm-guard":"^2.0.2","najm-cookies":"^2.0.2","najm-storage":"^2.2.0","najm-database":"^2.0.3","najm-validation":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_2.0.4_1788436660885_0.6827700330685416","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"najm-api","version":"2.0.5","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@2.0.5","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"a4566780a6248bd011cebd97f23d3ba28ead4bfd","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-2.0.5.tgz","fileCount":30,"integrity":"sha512-XeenWzWld8dFf7bI9s8SC/iFSybmVOCRyiHi2gDcDZQIW70HIr8bwO7r2z66TUtaXdUDKWAktgqD0J6SOHnrPw==","signatures":[{"sig":"MEUCIErOpuaUmY5iNDJyF4rCqBkaqqy+/ekomVMSRt7OQgf8AiEAkaXAsccapvlE/48sdhXDqZtkysfWicSQwPFKTg5HWQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13780},"main":"./dist/index.mjs","type":"module","_from":"file:C:/Users/hdevlop/Desktop/najm/dist-publish/najm-api-2.0.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_resolved":"C:\\Users\\hdevlop\\Desktop\\najm\\dist-publish\\najm-api-2.0.5.tgz","_integrity":"sha512-XeenWzWld8dFf7bI9s8SC/iFSybmVOCRyiHi2gDcDZQIW70HIr8bwO7r2z66TUtaXdUDKWAktgqD0J6SOHnrPw==","_npmVersion":"11.13.0","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"24.16.0","dependencies":{"najm-mcp":"^2.1.1","najm-auth":"^3.3.0","najm-core":"^2.0.5","najm-cors":"^2.0.2","najm-i18n":"^2.0.3","najm-rate":"^2.1.0","najm-cache":"^2.1.0","najm-email":"^2.0.2","najm-event":"^2.0.2","najm-guard":"^2.0.2","najm-cookies":"^2.0.2","najm-storage":"^2.2.0","najm-database":"^2.0.3","najm-validation":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_2.0.5_1788481013947_0.5540577460935621","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"najm-api","version":"2.0.6","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@2.0.6","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"8dfe66f2b10308f719439efd102a8ea3304cb3a7","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-2.0.6.tgz","fileCount":30,"integrity":"sha512-wsNVtht1iISzg8Cz7OELZqpG3ZyeyDGQdUbnz81PKy6nUcIkwI3OnGT4tTagSyw5uiAaOzvgkF2+lqkJfs0vpw==","signatures":[{"sig":"MEYCIQD5dwpcMLOt7WwXwcG2DVbacKHEVfWp7mCEuq/U0vis/AIhAPKBZJT4wk/U3XzuDv7LCQkLQ2Vxv7rp3W2LHI5g+N2X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG8m6lwVdqKenhnORrNAK67RB01GhFZThV/GeilBdWELAiEA6vB8TcgbgCj35SlVbsqbUI1nkTeqwpCnnS73ibtSMX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13802},"main":"./dist/index.mjs","type":"module","_from":"file:C:/Users/hdevlop/Desktop/najm/dist-publish/najm-api-2.0.6.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_resolved":"C:\\Users\\hdevlop\\Desktop\\najm\\dist-publish\\najm-api-2.0.6.tgz","_integrity":"sha512-wsNVtht1iISzg8Cz7OELZqpG3ZyeyDGQdUbnz81PKy6nUcIkwI3OnGT4tTagSyw5uiAaOzvgkF2+lqkJfs0vpw==","_npmVersion":"11.13.0","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"24.16.0","dependencies":{"najm-mcp":"^2.2.1","najm-auth":"^4.1.0","najm-core":"^2.1.0","najm-cors":"^2.0.2","najm-i18n":"^2.1.2","najm-rate":"^2.1.1","najm-cache":"^2.2.0","najm-email":"^2.0.4","najm-event":"^2.0.2","najm-guard":"^2.0.2","najm-cookies":"^2.0.2","najm-storage":"^2.2.0","najm-database":"^2.0.4","najm-validation":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_2.0.6_1790519590593_0.5412023095738003","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"najm-api","version":"2.1.0","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"author":{"name":"Hicham Jebara"},"license":"MIT","_id":"najm-api@2.1.0","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"dist":{"shasum":"852e2b14ea8ef6310433bfd07f4f05a6d5dbe674","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-2.1.0.tgz","fileCount":30,"integrity":"sha512-RThvGenH/ohYrP/qJPdz3dxQ7YWp2bhAFKxndQEwfvflWJFnUynED1mFxM2tAMAdjJNBXGUJO4TVBTL4T5W1wg==","signatures":[{"sig":"MEUCIFvH+BpOY/KrPdd63FjLtRKbU9p51GDLccCYpkobetP7AiEAktKGm/v3moyjavu4lU/84wE5JQdq/ItOGpT5xaPA2c8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD6LBoQAyNsQNstsbGMrsx0FgSZPOGPdaFQ+A/9YHQI6QIgRQERCUE12IsTT6+W40rMAgbi0iWMie/UodBmFCvrRJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13839},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"gitHead":"ce7a5b90b1fc396725a7722b5165ba4d52bcd768","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"_npmVersion":"11.13.0","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"_nodeVersion":"24.16.0","dependencies":{"najm-mcp":"^2.2.1","najm-auth":"^4.2.0","najm-core":"^2.1.0","najm-cors":"^2.0.2","najm-i18n":"^2.1.2","najm-rate":"^2.1.1","najm-cache":"^2.2.0","najm-email":"^2.0.4","najm-event":"^2.0.2","najm-guard":"^2.0.2","najm-cookies":"^2.0.2","najm-storage":"^2.2.0","najm-database":"^2.0.4","najm-validation":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/najm-api_2.1.0_1790611581264_0.6207860196779473","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"_id":"najm-api@3.0.0","dist":{"shasum":"d603fc115c530ba175af211780eac504fa96bc04","tarball":"https://registry.npmjs.org/najm-api/-/najm-api-3.0.0.tgz","fileCount":30,"integrity":"sha512-01IaGIalpiETVUOnyyuM90m2ZNd8kmeAVAOa6r8eLoq0Ym28DwfPfBNXFmEk3DIaKS47hMNkWhZRzraoaTpbeg==","signatures":[{"sig":"MEYCIQCVaiYvsdZBpjHPQazEZ42mWgF8qpxoQZfureaydWjqqQIhALX5Xy67VZSNcMW2NqJ6/m3kBnkR+0oJTPasCaRRsvRB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDWrLjZT5blF5V+JVS0sMQARznOvy3t3l6KLTAm4leOFQIhAMDm7BCiLC9hjeM2/eVYCQshtQpfdesgqpp8fYETxCvt"}],"unpackedSize":13865},"main":"./dist/index.mjs","name":"najm-api","type":"module","types":"./dist/index.d.ts","author":{"name":"Hicham Jebara"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.ts","import":"./dist/mcp.mjs","default":"./dist/mcp.mjs"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.mjs","default":"./dist/auth.mjs"},"./cors":{"types":"./dist/cors.d.ts","import":"./dist/cors.mjs","default":"./dist/cors.mjs"},"./i18n":{"types":"./dist/i18n.d.ts","import":"./dist/i18n.mjs","default":"./dist/i18n.mjs"},"./rate":{"types":"./dist/rate.d.ts","import":"./dist/rate.mjs","default":"./dist/rate.mjs"},"./cache":{"types":"./dist/cache.d.ts","import":"./dist/cache.mjs","default":"./dist/cache.mjs"},"./email":{"types":"./dist/email.d.ts","import":"./dist/email.mjs","default":"./dist/email.mjs"},"./event":{"types":"./dist/event.d.ts","import":"./dist/event.mjs","default":"./dist/event.mjs"},"./guard":{"types":"./dist/guard.d.ts","import":"./dist/guard.mjs","default":"./dist/guard.mjs"},"./cookies":{"types":"./dist/cookies.d.ts","import":"./dist/cookies.mjs","default":"./dist/cookies.mjs"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","default":"./dist/storage.mjs"},"./database":{"types":"./dist/database.d.ts","import":"./dist/database.mjs","default":"./dist/database.mjs"},"./validation":{"types":"./dist/validation.d.ts","import":"./dist/validation.mjs","default":"./dist/validation.mjs"}},"gitHead":"8d9c2c83cc6467bbef4f93a897966da9e501e763","license":"MIT","scripts":{"test":"bun test","build":"tsup","clean":"rimraf dist"},"version":"3.0.0","_npmUser":{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"},"keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"_npmVersion":"11.13.0","description":"Modern TypeScript decorator-based web framework built on Hono.js","directories":{},"maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"_nodeVersion":"24.16.0","dependencies":{"najm-mcp":"^2.2.2","najm-auth":"^4.2.1","najm-core":"^3.0.0","najm-cors":"^2.0.2","najm-i18n":"^2.1.2","najm-rate":"^2.1.1","najm-cache":"^2.2.0","najm-email":"^2.0.4","najm-event":"^2.0.2","najm-guard":"^2.1.0","najm-cookies":"^2.0.2","najm-storage":"^3.0.0","najm-database":"^2.0.4","najm-validation":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.0.1","typescript":"^5.7.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/najm-api_3.0.0_1790641118081_0.7280880198585524"}}},"time":{"created":"2026-04-03T19:20:11.998Z","modified":"2026-09-29T00:18:38.302Z","1.2.1":"2025-03-01T22:48:40.325Z","0.1.1":"2025-03-02T16:00:53.883Z","0.1.2":"2025-03-03T22:39:30.834Z","0.1.3":"2025-03-03T22:42:33.159Z","0.1.4":"2025-03-03T22:43:51.544Z","0.1.0":"2025-03-07T22:01:32.704Z","0.0.1":"2025-03-11T23:22:38.174Z","0.0.2":"2025-03-11T23:30:23.495Z","0.0.3":"2025-03-11T23:40:39.171Z","0.0.4":"2025-03-11T23:50:14.597Z","0.0.5":"2025-03-11T23:58:09.199Z","0.0.6":"2025-03-12T00:02:12.192Z","0.0.7":"2025-03-12T00:04:30.428Z","0.0.8":"2025-03-12T00:12:36.960Z","0.0.9":"2025-03-12T23:15:47.792Z","0.2.0":"2025-03-18T23:21:40.394Z","0.2.1":"2025-04-24T20:48:43.137Z","0.2.2":"2025-04-24T20:49:59.257Z","0.2.3":"2025-04-24T21:30:11.828Z","0.2.4":"2025-04-26T22:12:10.374Z","0.2.5":"2025-05-05T16:12:07.562Z","0.2.6":"2025-05-08T19:47:11.456Z","0.2.7":"2025-05-08T19:49:30.907Z","0.2.8":"2025-05-08T19:54:31.183Z","0.2.9":"2025-05-08T22:27:23.171Z","0.3.0":"2025-05-10T18:57:44.448Z","0.3.1":"2025-05-10T22:19:22.887Z","0.3.2":"2025-05-11T12:40:48.294Z","0.3.3":"2025-06-08T23:14:39.592Z","0.3.4":"2025-07-11T16:39:00.217Z","0.3.5":"2025-07-11T17:04:14.406Z","0.3.6":"2025-07-11T17:36:37.261Z","0.3.7":"2025-07-11T18:40:55.333Z","0.3.8":"2025-07-12T12:49:18.385Z","0.3.9":"2025-08-05T16:42:03.150Z","0.4.0":"2025-08-06T13:42:55.815Z","0.4.1":"2025-08-07T20:47:46.886Z","0.4.3":"2025-08-24T08:02:12.125Z","0.4.4":"2025-09-10T16:48:31.433Z","0.4.5":"2025-09-26T20:24:12.165Z","0.4.6":"2025-09-28T20:15:21.894Z","0.4.7":"2025-09-30T17:14:54.550Z","0.4.8":"2025-10-01T18:38:44.816Z","0.4.9":"2025-10-01T21:02:19.859Z","0.5.0":"2025-10-01T22:22:58.802Z","0.5.1":"2025-10-02T21:04:53.757Z","0.5.2":"2025-10-02T21:14:01.817Z","0.5.3":"2025-10-03T17:19:55.323Z","0.5.4":"2025-11-07T18:40:44.837Z","0.5.5":"2025-11-07T18:41:09.592Z","0.5.6":"2025-11-07T21:26:42.204Z","0.5.7":"2025-11-07T21:35:40.422Z","0.5.8":"2025-11-07T21:48:12.888Z","0.5.9":"2025-11-22T10:14:55.085Z","0.6.0":"2025-11-22T10:27:23.222Z","0.6.1":"2025-11-22T10:32:32.208Z","0.6.2":"2025-11-22T10:40:13.787Z","0.6.3":"2025-11-22T12:42:53.205Z","0.6.4":"2025-11-22T17:38:12.934Z","0.6.5":"2025-11-22T21:40:03.183Z","0.6.6":"2025-12-08T23:56:59.278Z","0.6.7":"2025-12-09T23:07:52.876Z","0.6.8":"2025-12-09T23:29:15.156Z","0.6.9":"2025-12-16T15:44:43.439Z","0.7.0":"2025-12-16T17:12:06.681Z","0.7.1":"2025-12-16T19:14:01.204Z","0.7.2":"2025-12-16T22:36:39.966Z","0.7.3":"2025-12-16T22:41:53.537Z","1.1.2":"2026-04-03T19:20:12.180Z","1.1.3":"2026-04-03T19:39:49.071Z","1.1.4":"2026-04-06T13:00:11.004Z","1.1.5":"2026-04-06T20:02:23.893Z","1.1.6":"2026-04-08T20:40:36.075Z","1.1.7":"2026-04-23T21:15:43.091Z","1.1.8":"2026-05-07T22:51:00.690Z","1.1.9":"2026-05-07T22:55:50.884Z","1.1.10":"2026-05-13T08:20:21.516Z","1.1.12":"2026-06-02T22:01:45.980Z","1.1.13":"2026-06-13T15:59:28.607Z","1.1.14":"2026-06-21T21:42:26.924Z","2.0.1":"2026-07-10T13:27:26.540Z","2.0.2":"2026-07-22T11:16:06.274Z","2.0.3":"2026-07-23T01:23:10.328Z","2.0.4":"2026-09-03T11:57:41.035Z","2.0.5":"2026-09-04T00:16:54.072Z","2.0.6":"2026-09-27T14:33:10.679Z","2.1.0":"2026-09-28T16:06:21.351Z","3.0.0":"2026-09-29T00:18:38.160Z"},"author":{"name":"Hicham Jebara"},"license":"MIT","keywords":["najm","framework","typescript","decorators","dependency-injection","hono","api","bun"],"description":"Modern TypeScript decorator-based web framework built on Hono.js","maintainers":[{"name":"hdevlop","email":"hdevlop.jebara@gmail.com"}],"readme":"# najm-api\n\n`najm-api` is the convenience/meta package for the Najm framework. It re-exports `najm-core` plus the commonly used Najm backend plugins from one stable package.\n\n## Najm Framework 🚀\n\nA modern, modular TypeScript framework for building scalable APIs with decorators, dependency injection, and plugin architecture.\n\n**Najm** is built on [Hono.js](https://hono.dev/) and uses [diject](https://www.npmjs.com/package/diject) for dependency injection. It provides a powerful decorator-driven development experience with first-class support for transactions, events, guards, i18n, and more.\n\n## ✨ Key Features\n\n- 🎯 **Decorator-Driven** — Clean, declarative API with TypeScript decorators\n- 🔌 **Modular Plugin System** — Install only what you need\n- 💉 **Powerful DI Container** — Advanced dependency injection with scopes (via [diject](https://www.npmjs.com/package/diject))\n- 🛡️ **Guards & Security** — Class-based route protection\n- 💾 **Transaction Management** — Automatic transactions with retry logic\n- 📡 **Event System** — Built-in event emitter with decorator support\n- 🌐 **i18n Support** — Multi-language with automatic detection\n- 🍪 **Cookie Management** — Secure cookie handling\n- 🔄 **CORS Configuration** — Flexible CORS setup\n- 📝 **Built-in Logging** — Structured logging with request ID tracking\n- 🌱 **Database Seeding** — Idempotent seeding with conflict resolution\n\n## 📦 Installation\n\n```bash\nbun add najm-api\n```\n\n`najm-api` depends on the common backend packages for you, so application code can use one import source for the framework, core plugins, auth, validation, database, events, MCP, storage, email, cookies, CORS, cache, i18n, and rate limiting.\n\n## 🔧 Setup\n\n### TypeScript Configuration\n\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"emitDecoratorMetadata\": true,\n    \"target\": \"ES2020\",\n    \"module\": \"ESNext\"\n  }\n}\n```\n\n### Import reflect-metadata\n\n```typescript\nimport 'reflect-metadata';\n```\n\n## 🚀 Quick Start\n\n### Basic Server\n\n```typescript\nimport 'reflect-metadata';\nimport { Server, Service, Controller, Get, Post, Body, Params } from 'najm-api';\n\n@Service()\nclass UserService {\n  getUsers() {\n    return [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }];\n  }\n}\n\n@Controller('/users')\nclass UserController {\n  constructor(private users: UserService) {}\n\n  @Get('/')\n  list() {\n    return this.users.getUsers();\n  }\n\n  @Get('/:id')\n  get(@Params('id') id: string) {\n    return { id, name: 'User ' + id };\n  }\n\n  @Post('/')\n  create(@Body() data: any) {\n    return { created: true, ...data };\n  }\n}\n\nawait new Server()\n  .load(UserController, UserService)\n  .listen(3000);\n```\n\n## Plugin System\n\n```typescript\nimport { Server, guards, database, events, cors, cookies, i18n } from 'najm-api';\n\nawait new Server()\n  .use(cors({ origin: '*' }))\n  .use(database({ default: myDb }))\n  .use(i18n({ translations: { en, fr } }))\n  .use(guards())\n  .use(events())\n  .base('/api')\n  .scan('./src/features')\n  .listen(3000);\n```\n\n## Feature Subpaths\n\nUse the root entry for common APIs, or feature subpaths when you want a smaller, explicit import surface:\n\n```typescript\nimport { Server, Controller, Get, Validate, auth, database } from 'najm-api';\nimport { authSchema } from 'najm-api/auth';\nimport { Transaction } from 'najm-api/database';\nimport { McpTool } from 'najm-api/mcp';\n```\n\nAvailable subpaths:\n\n```text\nnajm-api/auth\nnajm-api/cache\nnajm-api/cookies\nnajm-api/cors\nnajm-api/database\nnajm-api/email\nnajm-api/event\nnajm-api/guard\nnajm-api/i18n\nnajm-api/mcp\nnajm-api/rate\nnajm-api/storage\nnajm-api/validation\n```\n\n## Next.js Integration\n\nNajm works as an API backend inside Next.js App Router using a catch-all route.\n\n**1. Configure `next.config.ts`:**\n\n```typescript\nconst nextConfig = {\n  serverExternalPackages: ['reflect-metadata', 'better-sqlite3'],\n};\n\nexport default nextConfig;\n```\n\n**2. Create a shared server instance:**\n\nUse `.load()` with barrel imports instead of `.scan()` — bundlers can't resolve dynamic filesystem imports.\n\n```typescript\n// src/server.ts\nimport 'reflect-metadata';\nimport { Server, database } from 'najm-api';\nimport * as features from './features';\n\nexport const server = new Server()\n  .use(database({ default: db }))\n  .base('/api')\n  .load(features);\n```\n\n**3. Create the catch-all API route:**\n\n```typescript\n// app/api/[...route]/route.ts\nimport { handle } from 'najm-api';\nimport { server } from '@/server';\n\nexport const GET = handle(server);\nexport const POST = handle(server);\nexport const PUT = handle(server);\nexport const PATCH = handle(server);\nexport const DELETE = handle(server);\n```\n\n`handle()` wraps `server.fetch` for Next.js route handlers.\n\n## 📖 Documentation\n\n- [Full Documentation](https://najm.dev) — Complete guides, tutorials, and API reference\n- [Quick Start](https://najm.dev/docs/quick-start) — Build your first API in 5 minutes\n- [Installation Guide](https://najm.dev/docs/installation) — Setup and configuration\n\n## License\n\nMIT\n","readmeFilename":"README.md"}