{"_id":"@asimdelal/envlint","_rev":"11-7fd959ca9222350ce31efb9dba67ea66","name":"@asimdelal/envlint","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@asimdelal/envlint","version":"1.0.0","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.0.0","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"21f9c81580563ae8a20629a1da649814003b0b10","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.0.0.tgz","fileCount":19,"integrity":"sha512-tvbIX1h1QnAWNQgJbye4QybbmMcviWDjCkMVyyzh1v+EXjNSWg0SFpdw6kXU7mldOOYn4uRw8X1l5CHpy0SjNw==","signatures":[{"sig":"MEUCIBhAfR65Szo+Pkh2Mg0GVN+rmiFFLf5JBJYlus4+QBxrAiEA9U4NTgBttrLXQp9UFs4tVlBqxD0Xt76cmEcaT6qSaxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43478},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"d6d95ce1bea85f8abbbae56ac8becaab2a7827c8","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Lightweight CLI to validate, clean, and manage .env files - zero dependencies","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.0.0_1768223153474_0.19590366342144017","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@asimdelal/envlint","version":"1.0.1","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.0.1","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"4c8fdc100432b09a7cf3ce2798cda7e0013312fc","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.0.1.tgz","fileCount":19,"integrity":"sha512-GqP0X96gSqoDlhpQ53iVFy4vhwNoZLChosY6wiGlB02bpDnpn766blwnGxsIaCR7dVurMb1NxNb4Hh6HKa+oRg==","signatures":[{"sig":"MEYCIQCd9iFYOIUbZj+KHwFX87RePTTg10ZY6TcHFYw0I9XpxAIhAI2NX6d8227goYLQB90vF9EPlT7a+IpeFFN7wyDbnqoj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43500},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"d6d95ce1bea85f8abbbae56ac8becaab2a7827c8","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Lightweight CLI to validate, clean, and manage .env files - zero dependencies","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.0.1_1768223219186_0.2736268039581904","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@asimdelal/envlint","version":"1.1.0","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.1.0","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"476b4f1b490355ebb03c4d64001272f8308fa59c","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.1.0.tgz","fileCount":19,"integrity":"sha512-mQLs0vEq7qnDbfO6OF7ow1lehwUCb5/0jc4TPexiVqq5CY26JZZ1J6b2BNuZgC/RK5GtWffFph56PDXFcZb4Sg==","signatures":[{"sig":"MEUCIE7iXC0NPFAd1LoIhuDRQQYk46F5IyK8dwfBQalEt5p4AiEA4pNmV+WUVFprli3x7e1m9SiW8ahqEd/HQJUYHkLHNRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46767},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"7b85bee561c3f9e744acc39d3b23865569f0291b","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Lightweight CLI to validate, clean, and manage .env files - zero dependencies","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.1.0_1768223838693_0.6605762495574452","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@asimdelal/envlint","version":"1.1.1","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.1.1","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"8211922fe7c80859070cd1a5dd76e93fdd322f3e","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.1.1.tgz","fileCount":19,"integrity":"sha512-RyHl16YoQ5YuNoGposVhtSZlmuExq5+Po694zEfmtsw3V+Fcs186c5akQjzuPT8eMYqsR/C4UoNMyttklhGlTg==","signatures":[{"sig":"MEYCIQCgObHTAjBS2l2hmYrrr+06uxDzNqyOySbsvnSEsyob9QIhAMEUDXnfMBtYV//BGx4vNqxwf3kGyjbVj9kN5EMY8ck4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48033},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"7b85bee561c3f9e744acc39d3b23865569f0291b","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Lightweight CLI to validate, clean, and manage .env files - zero dependencies","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.1.1_1768224039476_0.6123238925594048","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@asimdelal/envlint","version":"1.1.2","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.1.2","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"54573b658b5e7cd981629e81d00e994cde3f7de0","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.1.2.tgz","fileCount":19,"integrity":"sha512-DHj7Qtv2r1jaNURO/piQ/7aZZVgl5oliSKb0lricPSLs7PN/S3CZ5hWSI0ivejUpBdry1gOkSztpf4V3getaxQ==","signatures":[{"sig":"MEYCIQCMguws+6a4Rpalguk1tG+ebYW+YpH91Zd2hevpFAHM5AIhAP72qXzAoDR6pSWe3ejb24pY5sUFLXM79MLiEQFw7tvB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55829},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"7b85bee561c3f9e744acc39d3b23865569f0291b","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Lightweight CLI to validate, clean, and manage .env files - zero dependencies","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.1.2_1768224176049_0.9905920572672648","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@asimdelal/envlint","version":"1.2.1","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.2.1","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"15f0979396f763e594325be71d60f904eff8a4f3","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.2.1.tgz","fileCount":19,"integrity":"sha512-0pw+D0a1whFJrtQmnYQo4tiaxzI4N4KerFWq5Iyy0xB/dnsyotMG6UuIR0RIGBz1ZoJB0t9k6C/xsiFFiD4ttw==","signatures":[{"sig":"MEUCIDSVISyZrPNsgmODzX0IRwm5PrwoxfBJYWVGPYBRN0lMAiEAp9GuJjuKCZKFKwlPfj+qo2LmKFlULkJi7ZdnYOv+ETg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127914},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"3db88ef6d04192b96ffe860f0fab8e7ede1ab611","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Super simple CLI to validate .env files - zero dependencies, just run it!","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.2.1_1768228520966_0.44259753563069126","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@asimdelal/envlint","version":"1.2.2","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.2.2","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"308406124aaf373313e2779c2b382ff0bb58b1ca","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.2.2.tgz","fileCount":19,"integrity":"sha512-PFPsDAazxyT6BixuutmsT2NCAxvKPBKpeHs2mnBe+OO8gYqs92pw7cYoTpXiGd+8u7ryLuR06h84ProHJ6cF6g==","signatures":[{"sig":"MEYCIQCMot4AP9MU18+KeOFgkAhQpq92T4VpZ/qYr9FoMPuX2AIhAOVkwTOyZ5kzcCDVv4lXcLSb7/sDUDLuxXskrqqTyqWN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129901},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"3db88ef6d04192b96ffe860f0fab8e7ede1ab611","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Super simple CLI to validate .env files - zero dependencies, just run it!","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.2.2_1768228694361_0.7961950156020925","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@asimdelal/envlint","version":"1.2.3","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.2.3","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"f33e4bedac1be0b010c0b141cb24ea480d3b3e8d","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.2.3.tgz","fileCount":19,"integrity":"sha512-B6bht1RlAWnIhQHDK/OBzeRKpVtjTnhJmxBh//fMV6I9bQgOfLka39WiOgsdG070ox5Vg3VnaD0R7kjcwrKG5A==","signatures":[{"sig":"MEUCICuT4wegKo0dMVyvbma3t2jZA4DQ8RFX9LUrd3nOXBfbAiEAgwi1VaZv3W6cOtVSL8hufyPUEqQRhc1x8GxDGVTPVac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132870},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"3db88ef6d04192b96ffe860f0fab8e7ede1ab611","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Super simple CLI to validate .env files - zero dependencies, just run it!","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.2.3_1768228939694_0.27592254070192634","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@asimdelal/envlint","version":"1.2.4","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.2.4","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"b147a63db6d47fa79ef8d951a61bff87dd4e821d","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.2.4.tgz","fileCount":19,"integrity":"sha512-I/RWtem2aTd4grtdn500GAdvUqTqLibBanLEDC/XbNL1xamZY42YGWDjQoIK9MfhNYE9tMoA0GX4OO/3omNfmA==","signatures":[{"sig":"MEQCIGfDIMk+MmMjgKLGcGBJyRP3DWB+auQyKibt+ftKDMHOAiB84cx/Ih089q6SY1dI/sawbbl5NI4HTmrEqzg4nOHngA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133405},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"3db88ef6d04192b96ffe860f0fab8e7ede1ab611","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Super simple CLI to validate .env files - zero dependencies, just run it!","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.2.4_1768229232262_0.15093315696885057","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@asimdelal/envlint","version":"1.2.5","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","_id":"@asimdelal/envlint@1.2.5","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"bin":{"envlint":"dist/index.js"},"dist":{"shasum":"131cc3df52c0b1dba3cefd4a1a2df4d876f84d80","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.2.5.tgz","fileCount":19,"integrity":"sha512-89DF3v5/+RMGSC/Fij8Cx+GEPW+Vhy73MRGf5js1E7QEUSakrmxmkE+QZCgi3wo/g2utruP+Rx84E7PKapwO8g==","signatures":[{"sig":"MEUCIELLr8yY9tTZFZTJDotRpaywXxaSM1eSFRBn2HovlJOYAiEA4s/i7qDOLyeNYtAeiIYYZYCF0YFB82b96hIv9Lu+6/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133374},"main":"dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"8fc58a3968cd9f8f07fbe62d7ee9e556b14b8727","scripts":{"dev":"tsc --watch","test":"node dist/index.js examples/","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"repository":{"url":"git+https://github.com/asimd/envlint.git","type":"git"},"_npmVersion":"11.3.0","description":"Super simple CLI to validate .env files - zero dependencies, just run it!","directories":{"example":"examples"},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/envlint_1.2.5_1768229655625_0.8312300411840254","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@asimdelal/envlint","version":"1.3.0","description":"Super simple CLI to validate .env files - zero dependencies, just run it!","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"homepage":"https://github.com/asimd/envlint#readme","bugs":{"url":"https://github.com/asimd/envlint/issues"},"repository":{"type":"git","url":"git+https://github.com/asimd/envlint.git"},"license":"MIT","author":{"name":"asimd","email":"https://github.com/asimd"},"type":"commonjs","main":"dist/index.js","types":"./dist/index.d.ts","bin":{"envlint":"dist/index.js"},"directories":{"example":"examples"},"scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/index.js","prepublishOnly":"npm run build && npm run test","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"eslint src/ tests/ --ext .ts","lint:fix":"eslint src/ tests/ --ext .ts --fix","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","typecheck":"tsc --noEmit","validate":"npm run lint && npm run typecheck && npm run test"},"devDependencies":{"@types/node":"^20.10.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","@vitest/coverage-v8":"^1.0.0","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.0","prettier":"^3.2.0","typescript":"^5.3.0","vitest":"^1.0.0"},"engines":{"node":">=14.0.0"},"_id":"@asimdelal/envlint@1.3.0","gitHead":"87fbb30497920daa31b82f669fd4d54afc79cf7e","_nodeVersion":"24.1.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-TyLYsP826LV04+Bpjs3iQ23/a2l761S+nlBfgRIobVI/sEo67jU1T6dEtWYiZvJex/zTXJqWWtwe4TJWZB/U5g==","shasum":"505d5a00908814438d181557ec650ade1e707b63","tarball":"https://registry.npmjs.org/@asimdelal/envlint/-/envlint-1.3.0.tgz","fileCount":20,"unpackedSize":170646,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEJ3S9cmEtltgnx0V7f2hpSLF6g4cC/kGf+bogZduJStAiEAxYE7oZDlJJF8BLtk7sE33uIVZf6A/Aw/CfgteakGaHM="}]},"_npmUser":{"name":"asimdelal","email":"delalic.asim@gmail.com"},"maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/envlint_1.3.0_1769679572804_0.6957094985923662"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-12T13:05:53.335Z","modified":"2026-01-29T09:39:33.086Z","1.0.0":"2026-01-12T13:05:53.643Z","1.0.1":"2026-01-12T13:06:59.336Z","1.1.0":"2026-01-12T13:17:18.961Z","1.1.1":"2026-01-12T13:20:39.638Z","1.1.2":"2026-01-12T13:22:56.195Z","1.2.1":"2026-01-12T14:35:21.118Z","1.2.2":"2026-01-12T14:38:14.503Z","1.2.3":"2026-01-12T14:42:19.846Z","1.2.4":"2026-01-12T14:47:12.439Z","1.2.5":"2026-01-12T14:54:15.777Z","1.3.0":"2026-01-29T09:39:32.944Z"},"bugs":{"url":"https://github.com/asimd/envlint/issues"},"author":{"name":"asimd","email":"https://github.com/asimd"},"license":"MIT","homepage":"https://github.com/asimd/envlint#readme","keywords":["env","environment","dotenv","validation","linter","cli","secrets","env-example","environment-variables","developer-tools","devops","security"],"repository":{"type":"git","url":"git+https://github.com/asimd/envlint.git"},"description":"Super simple CLI to validate .env files - zero dependencies, just run it!","maintainers":[{"name":"asimdelal","email":"delalic.asim@gmail.com"}],"readme":"# envlint\n\n> Zero-dependency CLI to validate, secure, and manage your `.env` files\n\n[![npm version](https://badge.fury.io/js/%40asimdelal%2Fenvlint.svg)](https://www.npmjs.com/package/@asimdelal/envlint)\n[![CI](https://github.com/asimd/envlint/actions/workflows/ci.yml/badge.svg)](https://github.com/asimd/envlint/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n```\n✓ Zero dependencies    ✓ Zero false positives    ✓ 40+ secret patterns    ✓ Instant\n```\n\n---\n\n## Why envlint?\n\nEvery project has `.env` files. They're also one of the most common sources of:\n\n- **Missing variables** — \"It works on my machine\" 🤷\n- **Leaked secrets** — API keys accidentally committed to git\n- **Inconsistent environments** — staging missing production variables\n- **Duplicated variables** — same key defined multiple times\n\n**envlint** catches all of these issues in milliseconds, with smart secret detection that actually works (no false alarms on URLs, UUIDs, or public keys).\n\n---\n\n## Quick Start\n\n```bash\n# Just run it in your project directory\nnpx @asimdelal/envlint\n```\n\nThat's it! It validates your `.env` against `.env.example` and checks for secrets.\n\n---\n\n## Installation\n\n```bash\n# Run without installing (recommended for CI/CD)\nnpx @asimdelal/envlint\n\n# Install globally\nnpm install -g @asimdelal/envlint\n\n# Install as dev dependency\nnpm install --save-dev @asimdelal/envlint\n```\n\n---\n\n## Commands\n\n### Basic Validation\n\n```bash\n# Validate .env vs .env.example\nenvlint\n\n# Validate a specific directory\nenvlint ./apps/backend\n\n# Strict mode (fail on undocumented variables)\nenvlint --strict\n```\n\n### Generate .env.example\n\n```bash\n# Generate from .env\nenvlint -g\n\n# Generate from a specific file\nenvlint -g .env.production\n```\n\n### Compare Environments\n\n```bash\n# Compare two files (space or comma separated)\nenvlint -c .env.staging .env.production\nenvlint -c .env.local,.env.docker\n\n# Exclude environment-specific variables\nenvlint -c .env.staging .env.prod --exclude NODE_ENV,PORT\n\n# Only check critical variables\nenvlint -c .env.staging .env.prod --only DATABASE_URL,API_KEY\n```\n\n### Multi-Environment Support\n\n**envlint** automatically handles different env file naming conventions:\n\n```bash\n# Validate ALL .env files at once\nenvlint --all\n\n# Smart example file detection\n# .env.staging → automatically uses .env.staging.example\nenvlint -e .env.staging\n```\n\n**Auto-pairing logic:**\n| Env File | Tries First | Falls Back To |\n|----------|-------------|---------------|\n| `.env.staging` | `.env.staging.example` | `.env.example` |\n| `.env.docker` | `.env.docker.example` | `.env.example` |\n| `.env.production` | `.env.production.example` | `.env.example` |\n\n### Sync & Create Env Files\n\n```bash\n# Create .env from .env.example template (for new team members)\nenvlint --create-env\n\n# Add missing variables to existing .env (when .env.example is updated)\nenvlint --sync\n```\n\n**Example workflow:**\n```bash\n# 1. Clone a new project\ngit clone repo && cd repo\n\n# 2. Create your local .env from the template\nenvlint --create-env\n# ✓ Created .env with 15 variables\n# ℹ Fill in the values...\n\n# 3. Later, when .env.example is updated by a teammate\ngit pull\nenvlint --sync\n# ✓ Added 2 missing variables: NEW_API_KEY, FEATURE_FLAG\n```\n\n### Fix Issues\n\n```bash\n# Auto-remove duplicate variables (keeps first occurrence)\nenvlint --fix\n```\n\n### Protect .env Files\n\n```bash\n# Add .env patterns to .gitignore\nenvlint --protect\n\n# Interactive mode (choose which patterns to add)\nenvlint --protect-interactive\n\n# Check if env files are protected\nenvlint --check-gitignore\n```\n\n### Create Config File\n\n```bash\n# Generate .envlintrc.json\nenvlint --init\n```\n\n---\n\n## CLI Reference\n\n| Command | Description |\n|---------|-------------|\n| `envlint` | Validate `.env` vs `.env.example` |\n| `envlint --all` | Validate ALL `.env` files (auto-pairs with examples) |\n| `envlint --create-env` | Create `.env` from `.env.example` template |\n| `envlint --sync` | Add missing variables to `.env` |\n| `envlint -e .env.staging` | Validate specific file (auto-finds example) |\n| `envlint -g [file]` | Generate `.env.example` from env file |\n| `envlint -c <f1> <f2>` | Compare two env files |\n| `envlint --fix` | Auto-fix duplicate variables |\n| `envlint --protect` | Add `.env` to `.gitignore` |\n| `envlint --init` | Create config file |\n| `envlint -h` | Show help |\n\n### Options\n\n| Option | Description |\n|--------|-------------|\n| `-e, --env <file>` | Env file to validate (auto-finds matching example) |\n| `-x, --example <file>` | Override example file (default: auto-detect) |\n| `-a, --all` | Validate all `.env` files in directory |\n| `-s, --strict` | Fail on undocumented variables |\n| `--exclude <vars>` | Skip variables (comma-separated) |\n| `--exclude-pattern <regex>` | Skip variables matching regex |\n| `--only <vars>` | Only check these variables |\n| `--no-secrets` | Disable secret detection |\n| `--min-confidence <0-1>` | Secret detection threshold (default: `0.7`) |\n| `--secret-whitelist <vars>` | Variables to exclude from secret detection |\n\n---\n\n## What It Checks\n\n### 1. Missing Variables\n\nVariables in `.env.example` that are missing from `.env`:\n\n```\n✗ DATABASE_URL (defined in .env.example but missing in .env)\n✗ API_KEY (defined in .env.example but missing in .env)\n```\n\n### 2. Duplicate Variables\n\nSame variable defined multiple times:\n\n```\n✗ PORT (defined on lines: 3, 15)\n```\n\nUse `--fix` to automatically remove duplicates (keeps first occurrence).\n\n### 3. Potential Secrets\n\nSmart detection with **zero false positives**:\n\n```\n⚠ OPENAI_API_KEY = sk-p***a890\n   Line 7: OpenAI API Key\n   Confidence: 99%\n\n⚠ STRIPE_SECRET_KEY = sk_l***GHIJ\n   Line 12: Stripe Secret Key\n   Confidence: 99%\n```\n\n**Detected services (40+ patterns):**\n- OpenAI, Anthropic, HuggingFace, Groq\n- GitHub, GitLab, Bitbucket\n- AWS, Google Cloud, Azure, DigitalOcean\n- Stripe, Square, Plaid\n- Slack, Discord, Twilio, SendGrid\n- Shopify, Notion, Figma, Postman\n- Database connection strings (Postgres, MySQL)\n- Private keys (RSA, EC, OpenSSH)\n- JWT tokens\n\n**Smart filtering (won't flag):**\n- URLs (`https://api.example.com`)\n- UUIDs (`550e8400-e29b-41d4-a716-446655440000`)\n- Booleans (`true`, `false`, `enabled`)\n- Numbers (`3000`, `0.5`)\n- Email addresses (`admin@example.com`)\n- File paths (`/etc/ssl/cert.pem`)\n- Public keys (only private keys are flagged)\n- Color codes (`#FF5733`)\n\n### 4. Undocumented Variables\n\nVariables in `.env` but not in `.env.example`:\n\n```\nℹ DEBUG (exists in .env but not in .env.example)\n```\n\nIn `--strict` mode, these become errors.\n\n---\n\n## Configuration File\n\nCreate a `.envlintrc.json` for consistent settings across your team:\n\n```bash\nenvlint --init\n```\n\nExample configuration:\n\n```json\n{\n  \"$schema\": \"https://raw.githubusercontent.com/asimd/envlint/main/schema.json\",\n  \"strict\": false,\n  \"checkSecrets\": true,\n  \"minSecretConfidence\": 0.7,\n  \"exclude\": [\"NODE_ENV\", \"PORT\", \"DEBUG\"],\n  \"excludePattern\": \"^(TEST_|MOCK_)\",\n  \"secretWhitelist\": [\"PUBLIC_KEY\", \"JWKS_URI\"],\n  \"gitignore\": {\n    \"enabled\": true,\n    \"patterns\": [\".env\", \".env.local\", \".env.*.local\"],\n    \"autoProtect\": false\n  }\n}\n```\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `strict` | boolean | `false` | Fail on undocumented variables |\n| `checkSecrets` | boolean | `true` | Enable secret detection |\n| `minSecretConfidence` | number | `0.7` | Minimum confidence (0-1) for secrets |\n| `exclude` | string[] | `[]` | Variables to skip |\n| `excludePattern` | string | - | Regex pattern to exclude variables |\n| `only` | string[] | - | Only check these variables |\n| `secretWhitelist` | string[] | `[]` | Variables excluded from secret detection |\n| `envFile` | string | `.env` | Default env file |\n| `exampleFile` | string | `.env.example` | Default example file |\n\nCLI flags override config file settings.\n\n---\n\n## CI/CD Integration\n\n### GitHub Actions\n\n```yaml\nname: Validate Env Files\non: [push, pull_request]\n\njobs:\n  envlint:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - run: npx @asimdelal/envlint --strict\n```\n\n**Compare environments in CI:**\n\n```yaml\n- run: npx @asimdelal/envlint -c .env.staging .env.production --exclude NODE_ENV\n```\n\n### GitLab CI\n\n```yaml\nenvlint:\n  script: npx @asimdelal/envlint --strict\n\nenv-compare:\n  script: npx @asimdelal/envlint -c .env.staging .env.prod\n```\n\n### Pre-commit Hook\n\n```bash\n#!/bin/bash\n# .git/hooks/pre-commit\nnpx @asimdelal/envlint --strict || exit 1\n```\n\nOr use with [husky](https://typicode.github.io/husky/):\n\n```json\n{\n  \"husky\": {\n    \"hooks\": {\n      \"pre-commit\": \"npx @asimdelal/envlint --strict\"\n    }\n  }\n}\n```\n\n---\n\n## Programmatic API\n\nUse envlint as a library in your Node.js code:\n\n```typescript\nimport {\n  validateEnv,\n  parseEnvFile,\n  detectSecrets,\n  hasErrors,\n} from '@asimdelal/envlint';\n\n// Parse an env file\nconst vars = parseEnvFile('.env');\n\n// Detect secrets\nconst secrets = detectSecrets(vars, {\n  whitelist: ['PUBLIC_KEY'],\n  minConfidence: 0.8,\n});\n\n// Full validation\nconst result = validateEnv({\n  envPath: '.env',\n  examplePath: '.env.example',\n  checkSecrets: true,\n  strict: false,\n});\n\nif (hasErrors(result, false)) {\n  console.log('Issues found:', result.missingInEnv);\n}\n```\n\n### Exported Functions\n\n| Function | Description |\n|----------|-------------|\n| `validateEnv(options)` | Full validation of env files |\n| `parseEnvFile(path)` | Parse env file to array of `{key, value, lineNumber}` |\n| `detectSecrets(vars, options)` | Detect potential secrets in variables |\n| `findDuplicates(vars)` | Find duplicate variable definitions |\n| `filterVariables(vars, options)` | Filter variables by exclude/only rules |\n| `generateExample(vars, path)` | Generate `.env.example` file |\n| `hasErrors(result, strict)` | Check if validation has errors |\n\n---\n\n## Examples\n\n### Validate a Clean Project\n\n```bash\n$ envlint\n\nenvlint v1.2.5\n\nDirectory: /Users/me/project\n\n══════════════════════════════════════════════════\n✓ All checks passed! Your .env files are clean.\n```\n\n### Issues Found\n\n```bash\n$ envlint\n\nenvlint v1.2.5\n\nMissing in .env\n──────────────────────────────────────────────────\n✗ DATABASE_URL (defined in .env.example but missing in .env)\n\nDuplicate Variables in .env\n──────────────────────────────────────────────────\n✗ PORT (defined on lines: 1, 3)\n\n⚠️  Potential Secrets Detected\n──────────────────────────────────────────────────\n⚠ OPENAI_API_KEY = sk-p***a890\n   Line 7: OpenAI API Key\n   Confidence: 99%\n\n══════════════════════════════════════════════════\n✗ Found 3 issue(s)\n```\n\n### Compare Environments\n\n```bash\n$ envlint -c .env.staging .env.production\n\nenvlint v1.2.5\n\nℹ Compare mode: .env.staging ↔ .env.production\n\nMissing in .env.staging\n──────────────────────────────────────────────────\n✗ REDIS_URL (defined in .env.production but missing in .env.staging)\n✗ CDN_URL (defined in .env.production but missing in .env.staging)\n\n══════════════════════════════════════════════════\n✗ Found 2 issue(s)\n```\n\n### Generate .env.example\n\n```bash\n$ envlint -g\n\nenvlint v1.2.5\n\nℹ Generating .env.example from .env...\n✓ .env.example generated at /Users/me/project/.env.example\n```\n\n### Auto-fix Duplicates\n\n```bash\n$ envlint --fix\n\nenvlint v1.2.5\n\nFixing Issues\n──────────────────────────────────────────────────\n✓ Removed 2 duplicate variable(s) from .env\n  • PORT\n  • API_KEY\n\nℹ Re-run envlint to verify fixes\n```\n\n---\n\n## Exit Codes\n\n| Code | Meaning |\n|------|---------|\n| `0` | All checks passed |\n| `1` | Issues found (or error occurred) |\n\nUse exit codes in CI/CD to fail pipelines when issues are detected.\n\n---\n\n## Why envlint vs Other Tools?\n\n| Feature | envlint | dotenv-linter | dotenv-safe |\n|---------|---------|---------------|-------------|\n| Zero dependencies | ✅ | ❌ | ❌ |\n| Secret detection | ✅ (40+ patterns) | ❌ | ❌ |\n| Zero false positives | ✅ | - | - |\n| Compare any two files | ✅ | ❌ | ❌ |\n| Exclude/filter variables | ✅ | ❌ | ❌ |\n| Auto-fix duplicates | ✅ | ❌ | ❌ |\n| Generate .env.example | ✅ | ❌ | ❌ |\n| Gitignore protection | ✅ | ❌ | ❌ |\n| Config file support | ✅ | ❌ | ❌ |\n| TypeScript types | ✅ | - | - |\n\n---\n\n## Contributing\n\nContributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n```bash\ngit clone https://github.com/asimd/envlint.git\ncd envlint\nnpm install\nnpm run build\nnpm test\n```\n\n---\n\n## License\n\nMIT © [asimd](https://github.com/asimd)\n\n---\n\n<p align=\"center\">\n  <a href=\"https://github.com/asimd/envlint/issues\">Report Bug</a> •\n  <a href=\"https://github.com/asimd/envlint/issues\">Request Feature</a>\n</p>\n","readmeFilename":"README.md"}