{"_id":"@atlex/config","_rev":"16-8c97ddcae544e8552820e993a1360779","name":"@atlex/config","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.1":{"name":"@atlex/config","version":"0.1.1","keywords":["atlex","config","typescript","env"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.1","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/atlex-monorepo/issues"},"dist":{"shasum":"9b4ac2652223e6f92b0c61b8ac7685bf8d3510dd","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.1.tgz","fileCount":52,"integrity":"sha512-LbL40ILRPdOxjBPbkK9rLen6RsdiueXjXD+W72ZnbmTToD6V+Cp68nMPVg2w3l4QDcK//xtG0+sLGZ5u4fXO/A==","signatures":[{"sig":"MEQCIDCACDno0ACZwNu90M7oIlUBHd1/m6nWGzoKZBf33T8OAiBcKzxlbV4+ZFzKOkUxHa0knN7wYhhp4UDikk2loMB6mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72475},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/8b15d0680c4c64c2640e0bb95df24410/atlex-config-0.1.1.tgz","_integrity":"sha512-LbL40ILRPdOxjBPbkK9rLen6RsdiueXjXD+W72ZnbmTToD6V+Cp68nMPVg2w3l4QDcK//xtG0+sLGZ5u4fXO/A==","repository":{"url":"git+https://github.com/atlex-framework/atlex-monorepo.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.1_1776194467809_0.49065060045088504","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@atlex/config","version":"0.1.2","keywords":["atlex","config","typescript","env"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.2","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"7bf74a51e640ab75b5a9deb54e8868de6d709477","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.2.tgz","fileCount":52,"integrity":"sha512-7olqL097YJX4wGWUERlG9GPWi3msmynDdWlgI4jHeawlhrPswSrcoZoUMsVN7/KY6q/sh3dMbfObWgUofaLY7g==","signatures":[{"sig":"MEYCIQDSFKCW5Ya0PC2+mEzF8BuGt8C5HPmT4lHYPqxUmHU/cgIhAOwv6sYuPRhpPzKfGK7U5dg3COA52Fu9e8RM+eanUJvg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72563},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/39b9cba24fb11cba5c5818bb2c28b9b4/atlex-config-0.1.2.tgz","_integrity":"sha512-7olqL097YJX4wGWUERlG9GPWi3msmynDdWlgI4jHeawlhrPswSrcoZoUMsVN7/KY6q/sh3dMbfObWgUofaLY7g==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.2_1776235379553_0.6359716856530659","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@atlex/config","version":"0.1.3","keywords":["atlex","config","typescript","env"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.3","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"71506c2b7cf9a3be605e57ba4faffad7091df61d","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.3.tgz","fileCount":52,"integrity":"sha512-lKFPP1zM0BrF8wvIxRCU7olc654WkGbaiAE3Aut46lJIFScP+qmNRe6iFUvonlX/qGkFB9G4SmHKDC4WEEXsSA==","signatures":[{"sig":"MEQCIHBrPAeHCAk1YtSMDI+tjWX+Luub/Gy6fs44iwhMRy6XAiAH3BsmJR2e1gpH5XocSdvoGYE2txaNfQVv99Jz9EfXhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72680},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/75140aacaf3416dc85d4b4476989a2b0/atlex-config-0.1.3.tgz","_integrity":"sha512-lKFPP1zM0BrF8wvIxRCU7olc654WkGbaiAE3Aut46lJIFScP+qmNRe6iFUvonlX/qGkFB9G4SmHKDC4WEEXsSA==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.3"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.3_1776256068249_0.37781651283294804","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@atlex/config","version":"0.1.4","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.4","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"5f7d6cb64b967af9f8774b7b9200623e29fe3ee3","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.4.tgz","fileCount":52,"integrity":"sha512-BxdwVZav6MKyjEKN4MK84QG7Ddq3MMoAnm0bofMKyllhxSEg3tFOEKFzXAjrfRJVyyfKjdHJWn7DLS3Vvmfbcg==","signatures":[{"sig":"MEYCIQCOH9hmQt56GfTSpsMtQdRV8klmlXG2ITsVNhpWjhx0jAIhAO3NHDucntMyU+lSZ8UHq8o2BvrZM4FP1JqGKctsRVFi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73136},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/6af30b2330fbd55254cc96bc50882335/atlex-config-0.1.4.tgz","_integrity":"sha512-BxdwVZav6MKyjEKN4MK84QG7Ddq3MMoAnm0bofMKyllhxSEg3tFOEKFzXAjrfRJVyyfKjdHJWn7DLS3Vvmfbcg==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.4_1776259435002_0.3801893315975633","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@atlex/config","version":"0.1.5","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.5","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"fc35227ec16a350de8d7254670d77bd845917a06","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.5.tgz","fileCount":52,"integrity":"sha512-B4EihBAQa0xgygLhFOsgnIuUjeJEl0rfg8Rq678KUUkuo8yIY35ZvLx+Pk9URuEsooR2e5xWJd4UBC5+/LeBFA==","signatures":[{"sig":"MEUCIQC8AJ9vX7FNjcq5/Ctzjcics4h1fCZH1PFopMwlRlnCkQIgFjwvB/dgpLZL26Y9KGgEGw0FlT6aKu2RvpDZnAMhSi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73240},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/f0f80b8003c506347a7356f5aeba60a4/atlex-config-0.1.5.tgz","_integrity":"sha512-B4EihBAQa0xgygLhFOsgnIuUjeJEl0rfg8Rq678KUUkuo8yIY35ZvLx+Pk9URuEsooR2e5xWJd4UBC5+/LeBFA==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.5"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.5_1776260708900_0.11336873213816401","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@atlex/config","version":"0.1.6","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.6","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"ca1bd70926e8ecc3e15c9a10be29b86794c593cc","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.6.tgz","fileCount":52,"integrity":"sha512-T+57CnD4zQDajs0k1VmNHXdClbkcUUkKelIgk2jqwIuc1Mtw9bbche9K4hodGtO3ipTYgdkTdZl8GZM66/j3RA==","signatures":[{"sig":"MEYCIQCYn5MJb9Q1tRl6l0/1E3xxUuiNCRO30qdiwCDgg/qaTwIhAJi0AIoQ5jpAIwyKhl/fOCCf/F2EGYgslP++u0xsB1Ol","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73373},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/7d026f7bef9e67f7c28bb83916f64bcc/atlex-config-0.1.6.tgz","_integrity":"sha512-T+57CnD4zQDajs0k1VmNHXdClbkcUUkKelIgk2jqwIuc1Mtw9bbche9K4hodGtO3ipTYgdkTdZl8GZM66/j3RA==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.6"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.6_1778694345445_0.6358307241077374","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@atlex/config","version":"0.1.7","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.7","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"9c0cd40322a0d357705c3a69fde67253a52d6e55","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.7.tgz","fileCount":52,"integrity":"sha512-+fFeTH+14h23I+z1qlGGq+KmZkj8s/UjvZoxjsye9FMRmDygst+LlCB24g6K9+Ua82iQrwJZu35m21+yxgl1GA==","signatures":[{"sig":"MEQCIC0py4bLlopTkJe0Fvj/ys28RtU/wUT330lx6JRO8mlvAiAxSLi4yNJVhaQ3iYh/UlRgAI8+PFJt2AlMhYuSbafWeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73779},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/192c961520ca92488017a270ad541aeb/atlex-config-0.1.7.tgz","_integrity":"sha512-+fFeTH+14h23I+z1qlGGq+KmZkj8s/UjvZoxjsye9FMRmDygst+LlCB24g6K9+Ua82iQrwJZu35m21+yxgl1GA==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.7"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.7_1778755071426_0.2531408283577006","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@atlex/config","version":"0.1.8","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.8","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"abae8ed495c687d4c340eaa474f377a6d920b9c4","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.8.tgz","fileCount":52,"integrity":"sha512-+xmNZVTwcP4E3WeJ7NZcbtXmIc3kw6ay+y9t6qRklLDRnVSfIt1+z1r+GyrOdeS0TDLtby10bPSUaM3YkWT03A==","signatures":[{"sig":"MEUCIQD/vXk0F0mhUoTlhgSKDSaIwHGwL8iE8R1Azr8OLhoX3wIgf0jFDZvyED1SD3X0uvExfwrS1lAXTbD0G7bxCAzGW5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73886},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/87fdb687953b4bca85e6adfe989347a4/atlex-config-0.1.8.tgz","_integrity":"sha512-+xmNZVTwcP4E3WeJ7NZcbtXmIc3kw6ay+y9t6qRklLDRnVSfIt1+z1r+GyrOdeS0TDLtby10bPSUaM3YkWT03A==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.8_1778775509235_0.3412176290787523","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@atlex/config","version":"0.1.9","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.9","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"ce74a23c9d312d6fe93efccc24dcf3cf6184462b","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.9.tgz","fileCount":52,"integrity":"sha512-0W/UGTxdgLdHXGGgR3avHDH6qIhNqgnGafkE8vLILqkvaUZv/7Syc42TRmj4WpeBFu+aeDmd+NHs/eNHM9kI2g==","signatures":[{"sig":"MEUCIQCWFFkvOd2vOlBIPYJ74RXZV9pmmtA0rNHPdG/VHO+HEgIgHlIBQRC7WtODg/L00oDS7LQrW7e1g2lwBY+N6WkoHyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74005},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/050cfd8994e7ce6e72ddb87278287252/atlex-config-0.1.9.tgz","_integrity":"sha512-0W/UGTxdgLdHXGGgR3avHDH6qIhNqgnGafkE8vLILqkvaUZv/7Syc42TRmj4WpeBFu+aeDmd+NHs/eNHM9kI2g==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.9"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.9_1778830237943_0.516427688659371","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@atlex/config","version":"0.1.10","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.10","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"2c69635adc82f5af8bb3eaca6a02a76b73f71e81","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.10.tgz","fileCount":52,"integrity":"sha512-UJmFKpLeC8xy+HTNnR1i94QRuPNIpuO1GszIFmUdC8WxcgSy8/jwtDk8jeSppZJz+GCekjt3VUxd6JCVMKXvOQ==","signatures":[{"sig":"MEQCIFpUBMX6oC2cG+0f+rt4JM6qiDyItBf1y5ImAK9ChWm1AiA+A2318evJNLFEcWJHyX4uo1sj5pj67APmUSo7qHhzQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74116},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/607fa22412fde7ff4d72d543129d0dcc/atlex-config-0.1.10.tgz","_integrity":"sha512-UJmFKpLeC8xy+HTNnR1i94QRuPNIpuO1GszIFmUdC8WxcgSy8/jwtDk8jeSppZJz+GCekjt3VUxd6JCVMKXvOQ==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.7","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.10_1778834094688_0.46495508371556693","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@atlex/config","version":"0.1.11","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.1.11","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"662d2c35259833ead42827900c0040210e381cf9","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.1.11.tgz","fileCount":52,"integrity":"sha512-FIYTa2GM3Zx2GQtkWOnJ2xJhiTdeVNUcFDjSh+z3MWjx4qr0+x0+AWtt4ZmgvUX5tE68DXj9zSonX5kQ0DYS3A==","signatures":[{"sig":"MEYCIQD+ablbl4DRUCIqfRY+QxLDz+c4Pysttd8WFbarlfMHhQIhAPT9HFFO9s4N0jL0o+cue0Iiyx4wWjelWV4fXThIL5Sf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74222},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.1.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/04bba8be86c57eaa5f354fffe72ed374/atlex-config-0.1.11.tgz","_integrity":"sha512-FIYTa2GM3Zx2GQtkWOnJ2xJhiTdeVNUcFDjSh+z3MWjx4qr0+x0+AWtt4ZmgvUX5tE68DXj9zSonX5kQ0DYS3A==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.8","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.3","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.1.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":"0.1.11"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.11_1780144947002_0.7364168824933055","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@atlex/config","version":"0.2.0","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.2.0","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"7a64da3681021faea405ff79b2b6c7960e3291ad","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.2.0.tgz","fileCount":52,"integrity":"sha512-yoKtwyG9ot9rO3zErHLKBZ17RwMjINl71HDiHWOBDqhS+cVooLfnqGKuUDyykeTkA7K8mEAlLSIwB9WwHJ+KPA==","signatures":[{"sig":"MEUCIGqp9lG4VJfI3+5fvX/Wvd2853FmfZcyKHNOz9dqyBM+AiEAyTP2tAfJvq8ebQ1YkwJzgaLlZxrA6BNQSxV/sKfHp/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75415},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/e554589f32af31687a124ee7ab503c2a/atlex-config-0.2.0.tgz","_integrity":"sha512-yoKtwyG9ot9rO3zErHLKBZ17RwMjINl71HDiHWOBDqhS+cVooLfnqGKuUDyykeTkA7K8mEAlLSIwB9WwHJ+KPA==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.8","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.3","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":">=0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/config_0.2.0_1780306533562_0.3301059055457223","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@atlex/config","version":"0.2.1","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/config@0.2.1","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"dist":{"shasum":"d56146cfa0a360ade0cf7a6d28910b6deb276e9b","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.2.1.tgz","fileCount":52,"integrity":"sha512-Tyili31N0kXS4y8NWuZvjBF+Hzwoiqkvxgr1RkHO0VYNthea5JMQY6clnM/qqgSlzCdn3Nw4AK4TGpOiIQnU+A==","signatures":[{"sig":"MEYCIQDFLOkyX2YupL5vRdfZNYK8rafPnyQgXA1ROAwH2H6C+QIhAIMXq0n9PsiA0MC2T2pPfOxsGIeOjflMDyiORg3kk+FE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75789},"main":"./dist/index.js","type":"module","_from":"file:atlex-config-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/1a9f9600c1053c95a34d7162bee4c3cc/atlex-config-0.2.1.tgz","_integrity":"sha512-Tyili31N0kXS4y8NWuZvjBF+Hzwoiqkvxgr1RkHO0VYNthea5JMQY6clnM/qqgSlzCdn3Nw4AK4TGpOiIQnU+A==","repository":{"url":"git+https://github.com/atlex-framework/config.git","type":"git","directory":"packages/config"},"_npmVersion":"10.9.8","description":"Typed configuration and environment loading for Atlex","directories":{},"_nodeVersion":"22.22.3","dependencies":{"jiti":"^2.4.2","dotenv":"^16.4.7","@atlex/core":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@atlex/core":">=0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/config_0.2.1_1780423650355_0.5644873947856008","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@atlex/config","version":"0.2.2","description":"Typed configuration and environment loading for Atlex","type":"module","license":"MIT","author":{"name":"Karen Hamazaspyan","url":"https://github.com/khamazaspyan"},"keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"engines":{"node":">=20"},"repository":{"type":"git","url":"git+https://github.com/atlex-framework/config.git","directory":"packages/config"},"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/config/issues"},"publishConfig":{"access":"public"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"peerDependencies":{"@atlex/core":">=0.2.2"},"dependencies":{"dotenv":"^16.4.7","jiti":"^2.4.2","@atlex/core":"0.2.2"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.0.0","vitest":"^3.2.4"},"scripts":{"build":"tsc -p tsconfig.json","lint":"tsc --noEmit -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts"},"_id":"@atlex/config@0.2.2","_integrity":"sha512-KeX++IytVPphSIj2pyuk1ReMHu3MoN7D0AEGNhSq21FyfDBeuh4o39ZviV9kn0QIli1tAvrrlW9mDPYupn503Q==","_resolved":"/tmp/794db4670fa296146d22d8d0e2ad18b0/atlex-config-0.2.2.tgz","_from":"file:atlex-config-0.2.2.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-KeX++IytVPphSIj2pyuk1ReMHu3MoN7D0AEGNhSq21FyfDBeuh4o39ZviV9kn0QIli1tAvrrlW9mDPYupn503Q==","shasum":"ae97eac886d388aee1d5a4ca8f4980d57fee7008","tarball":"https://registry.npmjs.org/@atlex/config/-/config-0.2.2.tgz","fileCount":52,"unpackedSize":75904,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFOVnB4Lbm+GhMV5IsNTYI2tLKO7cRjRIBjOPQP516wXAiEAgrf39sP4ZN8pfBvRw2HFbcxs0F2fRcqcLYMsP9JoD+Q="}]},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"directories":{},"maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/config_0.2.2_1784391579871_0.1850600928399464"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-14T19:21:07.654Z","modified":"2026-07-18T16:19:40.165Z","0.1.0-beta":"2026-04-11T21:23:16.540Z","0.1.1":"2026-04-14T19:21:07.965Z","0.1.2":"2026-04-15T06:42:59.682Z","0.1.3":"2026-04-15T12:27:48.384Z","0.1.4":"2026-04-15T13:23:55.166Z","0.1.5":"2026-04-15T13:45:09.042Z","0.1.6":"2026-05-13T17:45:45.637Z","0.1.7":"2026-05-14T10:37:51.577Z","0.1.8":"2026-05-14T16:18:29.411Z","0.1.9":"2026-05-15T07:30:38.097Z","0.1.10":"2026-05-15T08:34:54.835Z","0.1.11":"2026-05-30T12:42:27.143Z","0.2.0":"2026-06-01T09:35:33.736Z","0.2.1":"2026-06-02T18:07:30.522Z","0.2.2":"2026-07-18T16:19:40.013Z"},"bugs":{"url":"https://github.com/atlex-framework/config/issues"},"author":{"name":"Karen Hamazaspyan","url":"https://github.com/khamazaspyan"},"license":"MIT","homepage":"https://atlex.dev","keywords":["atlex","config","configuration","env","dotenv","environment-variables","type-safe-config","dot-notation","app-config","config-management","laravel-config","laravel-alternative","nodejs","javascript","typescript"],"repository":{"type":"git","url":"git+https://github.com/atlex-framework/config.git","directory":"packages/config"},"description":"Typed configuration and environment loading for Atlex","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"readme":"# @atlex/config\n\n> Centralized configuration management with .env support and type-safe dot-notation access.\n\n[![npm](https://img.shields.io/npm/v/@atlex/config.svg?style=flat-square&color=7c3aed)](https://www.npmjs.com/package/@atlex/config)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-7c3aed.svg?style=flat-square)](https://www.typescriptlang.org/)\n\n[![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-Support-yellow?style=flat-square&logo=buy-me-a-coffee)](https://buymeacoffee.com/khamazaspyan)\n\n## Installation\n\n```bash\nnpm install @atlex/config\n# or\nyarn add @atlex/config\n```\n\n## Quick Start\n\n```typescript\nimport { config, env, loadEnv } from '@atlex/config'\n\n// Load environment variables from .env file\nloadEnv()\n\n// Access configuration with dot notation\nconst appName = config('app.name')\nconst dbHost = config('database.host')\n\n// Get environment variables\nconst nodeEnv = env('NODE_ENV', 'development')\n\n// Check if configuration exists\nif (config.has('api.secret')) {\n  const secret = config('api.secret')\n}\n\n// Get all configuration\nconst allConfig = config.all()\n```\n\n## Features\n\n- **Dot-Notation Access**: Access nested configuration using familiar dot notation syntax\n- **.env File Support**: Automatically load environment variables from `.env` files\n- **Type-Safe Getters**: Retrieve configuration with type coercion and default values\n- **Wildcard Queries**: Query configuration hierarchies with wildcard patterns\n- **Configuration Caching**: Cache configuration in memory for improved performance\n- **Environment Casting**: Automatic type casting for environment variables\n- **File-Based Loaders**: Load configuration from various file formats\n\n## Configuration Loading\n\n### Loading Environment Variables\n\n```typescript\nimport { loadEnv } from '@atlex/config'\n\n// Load from .env file in the root directory\nloadEnv()\n\n// Load from a specific .env file\nloadEnv('.env.local')\n\n// Load from multiple files with precedence\nloadEnv('.env')\nloadEnv('.env.local') // Overrides .env values\n```\n\n### Checking Environment Variables\n\n```typescript\nimport { hasEnv, envs } from '@atlex/config'\n\n// Check if an environment variable exists\nif (hasEnv('DATABASE_URL')) {\n  console.log('Database is configured')\n}\n\n// Get all environment variables as an object\nconst allEnvs = envs()\nconsole.log(allEnvs)\n```\n\n## ConfigRepository API\n\n### Dot-Notation Access\n\n```typescript\nimport { config } from '@atlex/config'\n\n// Get single value with dot notation\nconst appName: string = config('app.name')\nconst dbHost: string = config('database.host')\nconst dbPort: number = config('database.port')\n\n// Get with default value\nconst apiTimeout = config('api.timeout', 30000)\n\n// Get with type coercion\nconst debugMode = config.string('app.debug') // Converts to string\nconst maxConnections = config.integer('database.maxConnections')\nconst enableCache = config.boolean('cache.enabled')\n```\n\n### Checking Configuration\n\n```typescript\nimport { config } from '@atlex/config'\n\n// Check if a configuration key exists\nif (config.has('api.key')) {\n  console.log('API key is configured')\n}\n\n// Check multiple keys\nconst hasAllRequired = config.has('database.host', 'database.name')\n```\n\n### Wildcard Queries\n\n```typescript\nimport { config } from '@atlex/config'\n\n// Get all database configuration\nconst dbConfig = config('database.*')\n// Returns: { host: 'localhost', port: 5432, name: 'myapp' }\n\n// Get all values at any depth\nconst allMailSettings = config('mail.**')\n```\n\n### Setting Configuration\n\n```typescript\nimport { config } from '@atlex/config'\n\n// Set a configuration value at runtime\nconfig.set('api.timeout', 60000)\n\n// Set nested values\nconfig.set('database', {\n  host: 'localhost',\n  port: 5432,\n  name: 'production_db',\n})\n\n// Set multiple values\nconfig.set({\n  'app.name': 'My App',\n  'app.version': '1.0.0',\n  debug: false,\n})\n```\n\n### Getting All Configuration\n\n```typescript\nimport { config } from '@atlex/config'\n\n// Get entire configuration object\nconst allConfig = config.all()\n\n// Merge with additional values\nconst merged = {\n  ...config.all(),\n  runtime: {\n    startTime: Date.now(),\n  },\n}\n```\n\n## Environment Casting\n\n```typescript\nimport { EnvCaster } from '@atlex/config'\n\nconst caster = new EnvCaster()\n\n// Cast to string\nconst appName = caster.asString('APP_NAME')\n\n// Cast to integer\nconst port = caster.asInteger('PORT', 3000)\n\n// Cast to boolean\nconst debug = caster.asBoolean('DEBUG')\n\n// Cast to array (comma-separated or custom)\nconst allowedHosts = caster.asArray('ALLOWED_HOSTS', 'localhost,127.0.0.1')\n\n// Cast to JSON\nconst dbPool = caster.asJson('DB_POOL', { min: 2, max: 10 })\n```\n\n## File-Based Configuration\n\n### Using FileConfigLoader\n\n```typescript\nimport { FileConfigLoader } from '@atlex/config'\nimport path from 'path'\n\nconst loader = new FileConfigLoader(path.join(__dirname, '../config'))\n\n// Load all .js or .ts files from config directory\nconst appConfig = loader.load('app') // Loads app.js/app.ts\nconst databaseConfig = loader.load('database') // Loads database.js/database.ts\nconst mailConfig = loader.load('mail') // Loads mail.js/mail.ts\n\n// Example config file structure:\n// config/app.ts\nexport default {\n  name: process.env.APP_NAME || 'Atlex App',\n  environment: process.env.NODE_ENV || 'development',\n  debug: process.env.APP_DEBUG === 'true',\n  url: process.env.APP_URL || 'http://localhost:3000',\n}\n```\n\n## Configuration Caching\n\n```typescript\nimport { readCachedConfigSync, writeConfigCacheSync, clearConfigCacheSync } from '@atlex/config'\n\n// Read from cache (returns null if not cached)\nconst cached = readCachedConfigSync()\nif (cached) {\n  console.log('Using cached configuration')\n}\n\n// Write configuration to cache\nimport { config } from '@atlex/config'\nwriteConfigCacheSync(config.all())\n\n// Clear cache\nclearConfigCacheSync()\n```\n\n## Complete Example\n\n```typescript\nimport { config, env, loadEnv } from '@atlex/config'\nimport { FileConfigLoader } from '@atlex/config'\nimport path from 'path'\n\n// 1. Load environment variables\nloadEnv()\n\n// 2. Load configuration files\nconst loader = new FileConfigLoader(path.join(__dirname, '../config'))\n\n// 3. Set up configuration structure\nconfig.set({\n  app: {\n    name: loader.load('app').name,\n    environment: env('NODE_ENV', 'development'),\n    debug: env('APP_DEBUG') === 'true',\n  },\n  database: {\n    host: env('DB_HOST', 'localhost'),\n    port: env('DB_PORT', 5432),\n    name: env('DB_NAME', 'atlex'),\n    user: env('DB_USER'),\n    password: env('DB_PASSWORD'),\n  },\n  api: {\n    timeout: env.integer('API_TIMEOUT', 30000),\n    retries: env.integer('API_RETRIES', 3),\n  },\n})\n\n// 4. Use configuration throughout your app\nconsole.log(`Running ${config('app.name')} in ${config('app.environment')} mode`)\n\nif (config('app.debug')) {\n  console.log('Debug mode is enabled')\n}\n\nconst dbPool = {\n  host: config('database.host'),\n  port: config('database.port'),\n  database: config('database.name'),\n  user: config('database.user'),\n  password: config('database.password'),\n}\n\nconsole.log('Database configured:', dbPool)\n```\n\n## API Overview\n\n### ConfigRepository\n\n| Method                        | Description                               |\n| ----------------------------- | ----------------------------------------- |\n| `get(key, defaultValue?)`     | Get configuration value with dot notation |\n| `set(key, value)`             | Set configuration value(s)                |\n| `has(...keys)`                | Check if configuration key(s) exist       |\n| `all()`                       | Get entire configuration object           |\n| `string(key, defaultValue?)`  | Get value as string                       |\n| `integer(key, defaultValue?)` | Get value as integer                      |\n| `boolean(key, defaultValue?)` | Get value as boolean                      |\n| `array(key, defaultValue?)`   | Get value as array                        |\n\n### EnvCaster\n\n| Method                          | Description                              |\n| ------------------------------- | ---------------------------------------- |\n| `asString(key, defaultValue?)`  | Cast environment variable to string      |\n| `asInteger(key, defaultValue?)` | Cast environment variable to integer     |\n| `asBoolean(key, defaultValue?)` | Cast environment variable to boolean     |\n| `asArray(key, defaultValue?)`   | Cast environment variable to array       |\n| `asJson(key, defaultValue?)`    | Cast environment variable to JSON object |\n\n### Helper Functions\n\n| Function                       | Description                                            |\n| ------------------------------ | ------------------------------------------------------ |\n| `config(key, defaultValue?)`   | Get configuration value (same as ConfigRepository.get) |\n| `env(key, defaultValue?)`      | Get environment variable                               |\n| `envs()`                       | Get all environment variables                          |\n| `hasEnv(key)`                  | Check if environment variable exists                   |\n| `loadEnv(file?)`               | Load environment variables from .env file              |\n| `readCachedConfigSync()`       | Read cached configuration                              |\n| `writeConfigCacheSync(config)` | Write configuration to cache                           |\n| `clearConfigCacheSync()`       | Clear configuration cache                              |\n\n## Configuration\n\n### Environment Variables\n\n| Variable       | Description                  | Default       |\n| -------------- | ---------------------------- | ------------- |\n| `NODE_ENV`     | Application environment      | `development` |\n| `APP_DEBUG`    | Enable debug mode            | `false`       |\n| `CONFIG_CACHE` | Enable configuration caching | `false`       |\n\n### .env File Format\n\n```env\n# Application\nAPP_NAME=\"My Application\"\nAPP_DEBUG=true\nAPP_URL=http://localhost:3000\n\n# Database\nDB_HOST=localhost\nDB_PORT=5432\nDB_NAME=myapp_db\nDB_USER=postgres\nDB_PASSWORD=secret\n\n# API\nAPI_TIMEOUT=30000\nAPI_RETRIES=3\n\n# Feature Flags\nFEATURE_NEW_DASHBOARD=true\nFEATURE_BETA_API=false\n```\n\n## Documentation\n\nFor complete documentation, visit [https://atlex.dev/guide/config](https://atlex.dev/guide/config)\n\n## License\n\n## MIT\n\nPart of [Atlex](https://atlex.dev) — A modern framework for Node.js.\n","readmeFilename":"README.md"}