{"_id":"@elite-libs/auto-config","_rev":"6-9829f97ab80f37ac3efd7a5eb228083c","name":"@elite-libs/auto-config","dist-tags":{"latest":"1.4.1"},"versions":{"1.0.0":{"name":"@elite-libs/auto-config","description":"A Unified Config & Arguments Library for Node.js. Featuring support for environment variables, command line arguments, and JSON files!","version":"1.0.0","type":"commonjs","homepage":"https://github.com/elite-libs/auto-config","repository":{"type":"git","url":"git+https://github.com/elite-libs/auto-config.git"},"private":false,"packageManager":"yarn@1.10.0","engineStrict":true,"engines":{"yarn":">=1.10.0","node":">=12.0.0"},"main":"./dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"prepublishOnly":"npm run build","release":"npm publish --access public","test":"npm run build && jest","test:coverage":"npm run build && jest --coverage","build":"npx rimraf dist && npx tsc && mv ./dist/src/* ./dist && rm -rf ./dist/src"},"keywords":["config","nodejs","command-line","arguments","environment","variables"],"author":{"name":"justsml","url":"https://danlevy.net"},"license":"MIT","devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.4","@babel/preset-typescript":"^7.16.0","@types/debug":"^4.1.7","@types/jest":"^26.0.3","@types/lodash":"^4.14.178","@types/lodash.isobject":"^3.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.keys":"^4.2.6","@types/minimist":"^1.2.2","@types/node":"^16.11.12","@types/terminal-kit":"^1.28.4","jest":"^26.6.0","ts-jest":"^26.5.0","ts-node":"^10.4.0","typescript":"^4.5.2"},"dependencies":{"console-table-printer":"^2.10.0","debug":"^4.3.3","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.keys":"^4.2.0","lodash.mapvalues":"^4.6.0","minimist":"^1.2.5","terminal-kit":"^2.3.0","zod":"^3.11.6"},"babel":{"presets":["@babel/preset-typescript",["@babel/preset-env",{"targets":{"node":"current"},"modules":false}]]},"gitHead":"2ae0438ea4f7830e1068bafcd6aa498ed9528866","bugs":{"url":"https://github.com/elite-libs/auto-config/issues"},"_id":"@elite-libs/auto-config@1.0.0","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-1taPlYkHUzr5/cxDEBXc+zY8TjpnVNHP0NXadZfGZAyVBIGTQaCaLGitsM6eedMpgVEa1aPA4dG3PKakK0gjIw==","shasum":"3838b2dd8079639f6f283bd0a014d558c2d4c5ba","tarball":"https://registry.npmjs.org/@elite-libs/auto-config/-/auto-config-1.0.0.tgz","fileCount":26,"unpackedSize":61072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1RkCCRA9TVsSAnZWagAAwvwP/RH1l+hj1kjTZmZwFsrS\nLZCcruwJqUkdg5Etip50RvUMzWdrDSe2c5Ai6G0XyqVPCVfux4j78f36+36p\ncH/mFVlRgg80TzeG/a3EetRIZ7Vj5FnG6/AW9p5RvNKV6pzO29A+qFiDmbQT\nzfsaTjg8ocLmvFmNkt+Jz4bheKq0Y1P8nWsTZc1SbSmadoBIVjj7y61eBqvl\nkp/f281m03Bkp0YEtQ8FZyf8iYJtnqXV60EjS5VLpMF4nDXKCIqxeEPtZi2R\np9Bk/reHP6Ku9EOsU7Vavaew7Jpp2uTGsNcgLuLNtsNDCcpyfjz3tZ3KZFQT\n+CveCUZUKDVBHyR4r2xzdRLO5w4FItK3bKwGLC+6RIJ2wgzITUyivbVD/vyq\nmSUUSoNSoA42MqtO0SMo9T5XYhIC8SRSr/HeHxPuWxoomP/tTRws6D3QGqzD\nXr93dEELtQilVH+8//FHgRouInnaYRJ5uKwwl0Kz5Z86JPYSD0aGdNKm8x03\nwn5qVzZCO5yvdbHJ/XuAV6lI93sSAtZI+1G5PzF+QMG9aiClPQpm7yNftpUs\nKw2k0s8/ztT8XlBHuaydqa1i/YU0qHIvZCqX4FJnX9qA/sqyJHiwDVzL66TJ\nm8jEQNJCQSSTMD4KGE9syHPLOdD7CfFjHmUTrF5sbeqwxJdMmRlEi4UWmVZ9\n1KUL\r\n=asiC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXeP+qrfGiGgd0eM/40C8wA6vZrrpZNqFWDs6AiANfwAIhAK91/Pq2bYvbkR/FzCS/SXkxnKnzmTQh1mWB+tFK4pjX"}]},"_npmUser":{"name":"justsml","email":"dan@danlevy.net"},"directories":{},"maintainers":[{"name":"justsml","email":"dan@danlevy.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auto-config_1.0.0_1641355521821_0.3885791175945901"},"_hasShrinkwrap":false},"1.0.1":{"name":"@elite-libs/auto-config","description":"A Unified Config & Arguments Library for Node.js. Featuring support for environment variables, command line arguments, and JSON files!","version":"1.0.1","type":"commonjs","homepage":"https://github.com/elite-libs/auto-config","repository":{"type":"git","url":"git+https://github.com/elite-libs/auto-config.git"},"private":false,"packageManager":"yarn@1.10.0","engineStrict":true,"engines":{"yarn":">=1.10.0","node":">=12.0.0"},"main":"./dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"prepublishOnly":"npm run build","release":"npm publish --access public","test":"npm run build && jest","test:coverage":"npm run build && jest --coverage","build":"npx rimraf dist && npx tsc && mv ./dist/src/* ./dist && rm -rf ./dist/src"},"keywords":["config","nodejs","command-line","arguments","environment","variables"],"author":{"name":"justsml","url":"https://danlevy.net"},"license":"MIT","devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.4","@babel/preset-typescript":"^7.16.0","@types/debug":"^4.1.7","@types/jest":"^26.0.3","@types/lodash":"^4.14.178","@types/lodash.isobject":"^3.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.keys":"^4.2.6","@types/minimist":"^1.2.2","@types/node":"^16.11.12","@types/terminal-kit":"^1.28.4","jest":"^26.6.0","ts-jest":"^26.5.0","ts-node":"^10.4.0","typescript":"^4.5.2"},"dependencies":{"console-table-printer":"^2.10.0","debug":"^4.3.3","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.keys":"^4.2.0","lodash.mapvalues":"^4.6.0","minimist":"^1.2.5","terminal-kit":"^2.3.0","zod":"^3.11.6"},"babel":{"presets":["@babel/preset-typescript",["@babel/preset-env",{"targets":{"node":"current"},"modules":false}]]},"gitHead":"f46b83323c20857203510b8135b34cdc5b32665f","bugs":{"url":"https://github.com/elite-libs/auto-config/issues"},"_id":"@elite-libs/auto-config@1.0.1","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-xWhmbDYd/OAAZ07XgAq5yOkUQ0KIrjbxTUQ1J0krWWZT+PjNFVmV7KbUAoD492szNCpoHSrDerGHsRzRT4qV+A==","shasum":"64d04fe907e11ca6d120d50fd8bed01a8bbe125c","tarball":"https://registry.npmjs.org/@elite-libs/auto-config/-/auto-config-1.0.1.tgz","fileCount":26,"unpackedSize":61147,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1howCRA9TVsSAnZWagAAOH0P/RTzodIu1AJdpzpVioWz\nTb2NKfn/CGj+nfKI6pWsNZjmz/XbZASNJbduZZjhGIGrneCyogw1lkArUjsO\nCZPkdK2k9RrzWxvkJs6d3PEkGUDxxjw4XaGd/ncuHd52wscXw7DCgDFy8UJ1\n45xq0Me0OCO+VzbNelEG+FhD7fwTe5ucvRk+TfPZ5uQW+LmJIbiZ+GJsQ3Ot\nuS1Qz4RwD729kGckrp+s9xZeGhcYppoAHGLlpQi6TZ8OeQ8uMRuQlyosCsO6\ne5NdJcNT24XvXlNSvS7v8Zk+gRYbzKSIObRa3yXtN5ZQwg+qhq6tWjYg1yIu\nB4t7feOIimvxYZ2QtYuRJlcVdDR8hlZJxLXMSfw8rLucNiEgUC/KrnO8TI+5\n6EBJkQASCxmty72MD15eL6hSUeOZJZOnt1T6mdVRyqQnuUMx96R7ClFZRWs9\nD7ZfjHW19CbM/gh0tJedwc7tW2EcSTCxKvAz3wUt+8cdZBSAqPTix+iXZazO\n6IcoeUZZUyfrRgakdqE+06FDowpExBjQ9DDuMAP0j6v5iixR83D/R62eVrfk\nV3MSAzYxdYLVqICFGC7LZKNMUoQbuv1N0nOs/5zf47AoyGfMQSkg2pPDrkIZ\nEy5lZePjTr6Y4a88MWcotQ02zpVd4uHljS+PocP6OU4onkuiyNgJga2/G2Ly\nX3ci\r\n=xnx0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnV6fUYJC/YqF+uWWkaV0LTNL06TV9WXvErU4fn//iVwIhANtRrIRpiRN+gz//eI037SR27w7RtZEnDeTH00UAHJwH"}]},"_npmUser":{"name":"justsml","email":"dan@danlevy.net"},"directories":{},"maintainers":[{"name":"justsml","email":"dan@danlevy.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auto-config_1.0.1_1641421360302_0.3392747165269656"},"_hasShrinkwrap":false},"1.1.1":{"name":"@elite-libs/auto-config","description":"A Unified Config & Arguments Library for Node.js. Featuring support for environment variables, command line arguments, and JSON files!","version":"1.1.1","type":"commonjs","homepage":"https://github.com/elite-libs/auto-config","repository":{"type":"git","url":"git+https://github.com/elite-libs/auto-config.git"},"private":false,"packageManager":"yarn@1.10.0","engineStrict":true,"engines":{"yarn":">=1.10.0","node":">=12.0.0"},"main":"./dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"prepublishOnly":"yarn run build","release:npm":"npm publish --access public --registry https://registry.npmjs.org/","release:github":"npm publish --access public --registry https://npm.pkg.github.com/","release":"npm publish --access public","test":"npm run build && jest","test:coverage":"npm run build && jest --coverage","build":"npx rimraf dist && npx tsc && mv ./dist/src/* ./dist && rm -rf ./dist/src"},"keywords":["config","nodejs","command-line","arguments","environment","variables"],"author":{"name":"justsml","url":"https://danlevy.net"},"license":"MIT","devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.4","@babel/preset-typescript":"^7.16.0","@types/debug":"^4.1.7","@types/jest":"^26.0.3","@types/lodash":"^4.14.178","@types/lodash.isobject":"^3.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.keys":"^4.2.6","@types/minimist":"^1.2.2","@types/node":"^16.11.12","@types/terminal-kit":"^1.28.4","jest":"^26.6.0","ts-jest":"^26.5.0","ts-node":"^10.4.0","typescript":"^4.5.2"},"dependencies":{"console-table-printer":"^2.10.0","debug":"^4.3.3","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.keys":"^4.2.0","lodash.mapvalues":"^4.6.0","minimist":"^1.2.5","terminal-kit":"^2.3.0","zod":"^3.11.6"},"babel":{"presets":["@babel/preset-typescript",["@babel/preset-env",{"targets":{"node":"current"},"modules":false}]]},"gitHead":"67c503cecff9445df78c06c4d012e87c6af70ea5","bugs":{"url":"https://github.com/elite-libs/auto-config/issues"},"_id":"@elite-libs/auto-config@1.1.1","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-bYSgSW1LuYVAPrA5+eeE9Am5OlAxaCv/Nf32kXRob/kHKamavzH13wcvndFRwLLDwSjd9Ug8DX+lOSBJQUyz+g==","shasum":"6529a85d98d564ce9f241b4d3839f8fe09f11c67","tarball":"https://registry.npmjs.org/@elite-libs/auto-config/-/auto-config-1.1.1.tgz","fileCount":26,"unpackedSize":62114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6HilCRA9TVsSAnZWagAAtqYP/1cuF9lt9IRmiQJmccfP\nhQO7Ar0eQYmzMnMwcXdRc3BJy3OnXhfdbhKIiEdTIXltuR3IdM7LMGO+t0it\nOitckBXrDml8OAcUlF2rzKLgLGpfuWQ2mJyI9IUWH7hi6pB3NwIuLhbBw/R8\nXVPFbFNnVQdeYE7L68bviYPLaIeXt7bh+U6pmzZWW6puG9Ar0OYsEDNTvyx8\ntv9GAIjImrIK5IJii7L9KV0pOQVjVrg+MBhtgr2M1NlsR3ylYj7zwYoZ1p09\nHfH60ovJi/mTRhEEgw1f8SRhdHtVH5LUUnmWz+vJ84BQ7EozaJY+N+ABJ9t3\nhX/llrPDJ0ONKMSYPxbmVNEKn9YvL7uNxGzmJ+To8MoJSqptox2cgqhCRSx0\nbQCU9tjhDvxasOGt8JG3LH0ikXeM0Jfj/VZrHJ4uaKY5xYa75Cgkjiy55FhH\nHF+WceihUKQPwGkpbR3RNHPWMVw6WGi5XjhYHYsj1Fsc+1PL/WR70NWh/yhn\nz1HXTG1kbV+CdYo3qFrBBhuGXIQHD7aOXcuEc8gEVyn1N9Cl4jkkefFVI9Xa\npabsSFoUDrwMDYIVOawB6xwIcUaccoyqnHJfgUsSqhAvgE1jbcpNPB68yAtJ\n62h4qfZLn9xeiPEe2zx726lKZmD4MyolEEc6jplAq7KXvygMRwbaHJMVWFWB\n1+sW\r\n=DgjW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZW0ABhlerEdVg4EpRG/hsQDGHQkktbYUIOnmKDuivQwIgJXR6CNgFViBg0+mOKAdAwYXe29Eu/ATbVgjMSunBX9c="}]},"_npmUser":{"name":"justsml","email":"dan@danlevy.net"},"directories":{},"maintainers":[{"name":"justsml","email":"dan@danlevy.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auto-config_1.1.1_1642625189130_0.8173896188132785"},"_hasShrinkwrap":false},"1.2.0":{"name":"@elite-libs/auto-config","description":"A Unified Config & Arguments Library for Node.js. Featuring support for environment variables, command line arguments, and JSON files!","version":"1.2.0","type":"commonjs","homepage":"https://github.com/elite-libs/auto-config","repository":{"type":"git","url":"git+https://github.com/elite-libs/auto-config.git"},"source":"./src/index.ts","exports":"./dist/main.js","main":"./dist/main.js","module":"./dist/module.js","types":"./dist/index.d.ts","private":false,"packageManager":"yarn@1.10.0","engineStrict":true,"engines":{"yarn":">=1.10.0","node":">=12.0.0"},"modern":"dist/modern.js","legacy":"dist/legacy.js","examples":"dist/examples/index.js","targets":{"modern":{"optimize":false,"outputFormat":"esmodule","engines":{"node":">= 14"}},"legacy":{"optimize":false,"outputFormat":"commonjs","engines":{"browsers":"> 0.5%, last 2 versions, not dead"}},"examples":{"source":"examples/server-app/index.ts","optimize":false,"outputFormat":"commonjs","engines":{"browsers":"> 0.5%, last 2 versions, not dead"}}},"scripts":{"app-test":"node app-test.js","prepublishOnly":"yarn run build","release:npm":"npm publish --access public --registry https://registry.npmjs.org/","release:github":"npm publish --access public --registry https://npm.pkg.github.com/","test":"yarn run build && jest","test:coverage":"yarn run build && jest --coverage","build":"npx rimraf ./dist/* && yarn run build:types && yarn run build:bundle","build:bundle":"parcel build ./src/index.ts","build:types":"tsc --downlevelIteration --isolatedModules false --declaration --declarationMap --noEmit false --module CommonJS --outDir dist/ts/"},"keywords":["config","nodejs","command-line","arguments","environment","variables"],"author":{"name":"justsml","url":"https://danlevy.net"},"license":"BSD-3-Clause","devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.4","@babel/preset-typescript":"^7.16.0","@parcel/packager-ts":"2.2.1","@parcel/transformer-typescript-tsc":"^2.2.1","@parcel/transformer-typescript-types":"^2.2.1","@types/debug":"^4.1.7","@types/jest":"^26.0.3","@types/lodash":"^4.14.178","@types/lodash.isobject":"^3.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.keys":"^4.2.6","@types/minimist":"^1.2.2","@types/node":"^16.11.12","jest":"^26.6.0","parcel":"2.2.1","ts-jest":"^26.5.0","ts-node":"^10.4.0","typescript":"^4.5.2"},"dependencies":{"chalk":"^4.0.0","columnify":"1.5.4","debug":"^4.3.3","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.keys":"^4.2.0","lodash.mapvalues":"^4.6.0","minimist":"^1.2.5","zod":"^3.11.6"},"gitHead":"56df8eb399f21646f0333782b7af36ea145047a9","bugs":{"url":"https://github.com/elite-libs/auto-config/issues"},"_id":"@elite-libs/auto-config@1.2.0","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-z3Mpa4Jnfhkk/xZ5SCP96GsYV6jTU5SVVmW6RTRNDdweMAClGzIV8GHT3fq+AMhbuj2eOvIr8DdnlnJsSfvUaw==","shasum":"b6da55028f61c61e5c36558af24edcc732095ed0","tarball":"https://registry.npmjs.org/@elite-libs/auto-config/-/auto-config-1.2.0.tgz","fileCount":48,"unpackedSize":1235064,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8OXJCRA9TVsSAnZWagAAKXcP/1rBq8DbiJ+Qpoi/VekM\nSk6Q8UInck0v6lDeaCao1+V1yLm12z9NEJrFGiA6UkU2EUIjAMXrdA82LQIh\nUseB1qNjN2xh7p8vfRIuxY/vaU+YSy4LzJvdvnw7sZtY1nHcVYKVfyEqhdQM\nxCYpIffSR15mwIr/6ds5XYulG8paeIwcTKJFFFu0DdO+u1LNp7hC2FoqqLig\nLiUaAe4UFCAQlJUMwfieAVbfTK8Rk8ZPrJDWFCpU+7CINlarSOCcZtW8CAIn\n4GgkGQHYM9avTKEP7SDTGEP+wzZ0j+d9bm8oRbbge1ynccFvLnnfioFPX4kF\nlkzvK8XuFIG0TN1TzqSbf7Ix8OSaXSBeI1K8ilDIHyejSFNYVvYJ0Cv9O37a\n0Zg3QB+qDiYm189d41e41B1O8oMvGfZop3evKo4ngLcQL0vulTkQq8gVez3d\nbIHUUTUc1tfwDjANDWJ1R5ZTdcf7ZVap93SSMyvCcNCFqaIW6mCXyVEgL9Xp\njbPDaPA6pghHvYLL5LSqoRuhDrshbJ5vQAylfy5Z0P4On0MBfqxstol3fbBw\nlBInV7pdAE0LxoARogYqRQikAjsPazJIJNEnAOp5itCXY+wbEG6PfDEbfgNT\nKmjLeYAP+dfTv8Umxm8mS38JEKe9ZHGnyuXxOCmGLuXrvpmTd5+7tdvoYSI2\n99Nt\r\n=QL9G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5s+Ko53bLE2+BZyd4geMvAbv9ZNZrZG9EwdHbHi6UXAIgahDIjJxa38olThskhGCozEquZ5ZuxcfMPmm+ib4cvnA="}]},"_npmUser":{"name":"justsml","email":"dan@danlevy.net"},"directories":{},"maintainers":[{"name":"justsml","email":"dan@danlevy.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auto-config_1.2.0_1643177417079_0.49738137425060835"},"_hasShrinkwrap":false},"1.4.0":{"name":"@elite-libs/auto-config","description":"A Unified Config & Arguments Library for Node.js. Featuring support for environment variables, command line arguments, and JSON files!","version":"1.4.0","type":"commonjs","homepage":"https://github.com/elite-libs/auto-config","repository":{"type":"git","url":"git+https://github.com/elite-libs/auto-config.git"},"source":"./src/index.ts","exports":"./dist/main.js","main":"./dist/main.js","module":"./dist/module.js","types":"./dist/index.d.ts","private":false,"packageManager":"yarn@1.10.0","engineStrict":true,"engines":{"yarn":">=1.10.0","node":">=12.0.0"},"modern":"dist/modern.js","legacy":"dist/legacy.js","examples":"dist/examples/index.js","targets":{"modern":{"optimize":false,"outputFormat":"esmodule","engines":{"node":">= 14"}},"legacy":{"optimize":false,"outputFormat":"commonjs","engines":{"browsers":"> 0.5%, last 2 versions, not dead"}},"examples":{"source":"examples/server-app/index.ts","optimize":false,"outputFormat":"commonjs","engines":{"browsers":"> 0.5%, last 2 versions, not dead"}}},"scripts":{"app-test":"node app-test.js","prepublishOnly":"yarn run build","release:npm":"npm publish --access public --registry https://registry.npmjs.org/","release:github":"npm publish --access public --registry https://npm.pkg.github.com/","test":"yarn run build && jest","test:coverage":"yarn run build && jest --coverage","build":"npx rimraf ./dist/* && yarn run build:types && yarn run build:bundle","build:bundle":"parcel build ./src/index.ts","build:types":"tsc --downlevelIteration --isolatedModules false --declaration --declarationMap --noEmit false --module CommonJS --outDir dist/ts/"},"keywords":["config","nodejs","command-line","arguments","environment","variables"],"author":{"name":"justsml","url":"https://danlevy.net"},"license":"BSD-3-Clause","devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.4","@babel/preset-typescript":"^7.16.0","@parcel/packager-ts":"2.2.1","@parcel/transformer-typescript-tsc":"^2.2.1","@parcel/transformer-typescript-types":"^2.2.1","@types/debug":"^4.1.7","@types/jest":"^26.0.3","@types/lodash.isobject":"^3.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.keys":"^4.2.6","@types/lodash.mapvalues":"^4.6.7","@types/minimist":"^1.2.2","@types/node":"^16.11.12","jest":"^26.6.0","parcel":"2.2.1","ts-jest":"^26.5.0","ts-node":"^10.4.0","typescript":"^4.5.2"},"dependencies":{"chalk":"^4.0.0","columnify":"1.5.4","debug":"^4.3.3","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.keys":"^4.2.0","lodash.mapvalues":"^4.6.0","minimist":"^1.2.5","zod":"^3.11.6"},"gitHead":"ab5433a1ac6e736b4cd9bf1b27db9c2638e8b463","bugs":{"url":"https://github.com/elite-libs/auto-config/issues"},"_id":"@elite-libs/auto-config@1.4.0","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-zev3KHOcuuPiQ/gx0op68Q9H8LY8OufQ77PcG3iAJ2o3xdx5U8YrSV3mFzfzpwumyUL4Riq0/jnwiGf6CZDA1g==","shasum":"1488d35965f40b4c05741a69b5034e72b8c1e690","tarball":"https://registry.npmjs.org/@elite-libs/auto-config/-/auto-config-1.4.0.tgz","fileCount":56,"unpackedSize":1390280,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFVcVU6DjUd9x2YweKORu6njR+4OjCPRcDH5gl9fv/PcAiEA9vEHbq1RcNe2y7Q7jB+m4YRsqzQbAYGZ/ynqvMHklqk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigMqkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDHQ//a90eRDRMRZVqYPdPtsNy5u6lQXXTpESFx9446gqDyO2LgP0E\r\nyy6JF2CZY0ODzNFnZDmpjE33qBV62m25kYki4MvBFZQEjuO1yw6SbDmAQPzX\r\n1DqoDBhUxFeERnIELn9Qnu2hSZF4YUt92UieVvjllkivp7bEMvpSdIhj3g1Y\r\n49zxcW8bYsJ50A0b4k7IRJ0fIB8CVY1BxG0KlARdYsTlBPaMIeFa3JrezrfB\r\n7hvvr0Dzjt3Pg4BMtqeLRLfAdKrkrFzhIVoTVhCKEcGO0PCM95ba20+N6fjt\r\nu9Cf4Fc3FhUg7MmmC5f/QFsCrJ9aild3h+Wby3yAKhLfUb8CwUk1RJVhyoLS\r\nRQNvJdUfp2CuSwnIEd7CDG23tUZwM1mfhiG62DtH9shgZBu6wsGFYwsHSQc7\r\n4ULuirKxG/THblvXeMweygo+dEd9AhkOSTVHO9fCSfjGP1Mx/USFDsUZBRxH\r\nUO9F6trfA04iWoCq2TdARH5sf4pBy6/0XBO2HcfkBjPhqQfAdswuaMA+CMvr\r\nk30AdSsWl7aovmXe5BE/F9/LSIkum0jLAlN3YREg7SpClyeXaY/EOGjVVQYc\r\nFThJ+p3EKUicEvRe0CiROryeLHx9/vMoLZJMWX75TvKrxr5OqoIX3ZrZlCsN\r\nuwhbLcjbvcZPR97RN4OfHhKRQxZGc1+iIUw=\r\n=ePls\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"justsml","email":"dan@danlevy.net"},"directories":{},"maintainers":[{"name":"justsml","email":"dan@danlevy.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auto-config_1.4.0_1652607651778_0.45808564884892866"},"_hasShrinkwrap":false},"1.4.1":{"name":"@elite-libs/auto-config","description":"A Unified Config & Arguments Library for Node.js. Featuring support for environment variables, command line arguments, and JSON files!","version":"1.4.1","type":"commonjs","homepage":"https://github.com/elite-libs/auto-config","repository":{"type":"git","url":"git+https://github.com/elite-libs/auto-config.git"},"source":"./src/index.ts","exports":"./dist/src/index.js","main":"./dist/src/index.js","module":"./dist/src/module.js","types":"./dist/src/index.d.ts","private":false,"packageManager":"yarn@1.10.0","engineStrict":true,"engines":{"yarn":">=1.10.0","node":">=12.0.0"},"modern":"dist/modern.js","legacy":"dist/legacy.js","examples":"dist/examples/index.js","targets":{"modern":{"optimize":false,"outputFormat":"esmodule","engines":{"node":">= 14"}},"legacy":{"optimize":false,"outputFormat":"commonjs","engines":{"browsers":"> 0.5%, last 2 versions, not dead"}},"examples":{"source":"examples/server-app/index.ts","optimize":false,"outputFormat":"commonjs","engines":{"browsers":"> 0.5%, last 2 versions, not dead"}}},"scripts":{"app-test":"node app-test.js","// prepublishOnly":"yarn run build","release:npm":"npm publish --access public --registry https://registry.npmjs.org/","release:github":"npm publish --access public --registry https://npm.pkg.github.com/","test":"yarn run build && jest","test:coverage":"yarn run build && jest --coverage","build":"npx rimraf ./dist/* && yarn run build:types && yarn run build:bundle","build:bundle":"parcel build ./src/index.ts","build:types":"tsc --downlevelIteration --isolatedModules false --declaration --declarationMap --noEmit false --module CommonJS --outDir dist/"},"keywords":["config","nodejs","command-line","arguments","environment","variables"],"author":{"name":"justsml","url":"https://danlevy.net"},"license":"BSD-3-Clause","devDependencies":{"@babel/core":"^7.16.0","@babel/preset-env":"^7.16.4","@babel/preset-typescript":"^7.16.0","@parcel/packager-ts":"2.2.1","@parcel/transformer-typescript-tsc":"^2.2.1","@parcel/transformer-typescript-types":"^2.2.1","@types/debug":"^4.1.7","@types/jest":"^26.0.3","@types/lodash.isobject":"^3.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.keys":"^4.2.6","@types/lodash.mapvalues":"^4.6.7","@types/minimist":"^1.2.2","@types/node":"^16.11.12","jest":"^26.6.0","parcel":"2.2.1","ts-jest":"^26.5.0","ts-node":"^10.4.0","typescript":"^4.5.2"},"dependencies":{"chalk":"^4.0.0","columnify":"1.5.4","debug":"^4.3.3","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.keys":"^4.2.0","lodash.mapvalues":"^4.6.0","minimist":"^1.2.5","zod":"^3.11.6"},"gitHead":"ed4f73e60c7d676087621e14c52c54d955dcf972","bugs":{"url":"https://github.com/elite-libs/auto-config/issues"},"_id":"@elite-libs/auto-config@1.4.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-QmAkV9CBN8aT26ugxYERR1LWtWvB3dvMlCWEb7XLztrJv2JljL9OQpaNDEl5D2NKdKoxNMu8yvwe8BXicmNAkQ==","shasum":"c3ffcc2c3c40938bf746eca823816c65010286c1","tarball":"https://registry.npmjs.org/@elite-libs/auto-config/-/auto-config-1.4.1.tgz","fileCount":54,"unpackedSize":1375130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnLbVAY3s37IsXvi0KEI+47ZapzPTINZlWWP1vdcN6/AiEApJNM2mDlFM+/HJH/OFDGeea4BekGwVnTWA0H1DXdTQI="}]},"_npmUser":{"name":"justsml","email":"dan@danlevy.net"},"directories":{},"maintainers":[{"name":"justsml","email":"dan@danlevy.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auto-config_1.4.1_1693405723902_0.1475487328768934"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-05T04:05:21.766Z","1.0.0":"2022-01-05T04:05:22.103Z","modified":"2023-08-30T14:28:44.300Z","1.0.1":"2022-01-05T22:22:40.487Z","1.1.1":"2022-01-19T20:46:29.366Z","1.2.0":"2022-01-26T06:10:17.368Z","1.4.0":"2022-05-15T09:40:52.095Z","1.4.1":"2023-08-30T14:28:44.149Z"},"maintainers":[{"name":"justsml","email":"dan@danlevy.net"}],"description":"A Unified Config & Arguments Library for Node.js. Featuring support for environment variables, command line arguments, and JSON files!","homepage":"https://github.com/elite-libs/auto-config","keywords":["config","nodejs","command-line","arguments","environment","variables"],"repository":{"type":"git","url":"git+https://github.com/elite-libs/auto-config.git"},"author":{"name":"justsml","url":"https://danlevy.net"},"bugs":{"url":"https://github.com/elite-libs/auto-config/issues"},"license":"BSD-3-Clause","readme":"# auto-config 🛠✨\n\n[![CI Status](https://github.com/elite-libs/auto-config/workflows/test/badge.svg)](https://github.com/elite-libs/auto-config/actions)\n[![NPM version](https://img.shields.io/npm/v/@elite-libs/auto-config.svg)](https://www.npmjs.com/package/@elite-libs/auto-config)\n[![GitHub stars](https://img.shields.io/github/stars/elite-libs/auto-config.svg?style=social)](https://github.com/elite-libs/auto-config)\n<!-- [![Dependency Status](https://img.shields.io/david/elite-libs/auto-config.svg)](https://david-dm.org/elite-libs/auto-config) -->\n<!-- [![Code Climate](https://img.shields.io/codeclimate/github/elite-libs/auto-config.svg)](https://codeclimate.com/github/elite-libs/auto-config) -->\n<!-- [![Coverage Status](https://img.shields.io/codecov/c/github/elite-libs/auto-config.svg)](https://codecov.io/gh/elite-libs/auto-config) -->\n\n## Intro\n\n> A Unified Config & Arguments Library for Node.js!\n>\n> Featuring support for environment variables, command line arguments, and (soon) JSON/YAML/INI files!\n\n## Why\n\nThere are so many config libraries, do we really need another??? Well, possibly!\n\n[No existing library I tried](#credit-and-references) met my requirements.\n\nMy goals & requirements include:\n\n* Enable dynamic app config. [See '12 Factor App' on Config](https://12factor.net/config)\n* TypeScript support.\n* Portable pattern (not filesystem-locked, browser support.)\n* Simple, memorable & terse config format.\n\n<!--\nAs described in [12 Factor App's chapter on Config](https://12factor.net/config), these are the typical use-cases for this library:\n\n* Resource handles to the database, Memcached, and other backing services.\n* Credentials to external services such as Amazon S3 or Twitter.\n* Per-deploy values such as the canonical hostname for the deploy.\n-->\n\n> Table of Contents\n\n- [auto-config 🛠✨](#auto-config-)\n  - [Intro](#intro)\n  - [Why](#why)\n  - [Install](#install)\n  - [Example: AWS Access Config](#example-aws-access-config)\n  - [Example: Web App with Database Config](#example-web-app-with-database-config)\n  - [Example: Linux Move Command Arguments](#example-linux-move-command-arguments)\n  - [Example: Feature Flags](#example-feature-flags)\n  - [Example: Runtime Usage Behavior](#example-runtime-usage-behavior)\n    - [Command line arguments](#command-line-arguments)\n    - [Mix of environment and command arguments](#mix-of-environment-and-command-arguments)\n    - [Single-letter flag arguments](#single-letter-flag-arguments)\n    - [Error on required fields](#error-on-required-fields)\n    - [CLI Help Output](#cli-help-output)\n  - [TODO](#todo)\n    - [Add Shorthand Object Support](#add-shorthand-object-support)\n  - [Credit and References](#credit-and-references)\n\n## Install\n\n```bash\nnpm install @elite-libs/auto-config\n\nyarn add @elite-libs/auto-config\n```\n\n## Example: AWS Access Config\n\n```ts\n// `./src/aws-config.ts`\nimport { autoConfig } from '@elite-libs/auto-config';\nimport AWS from 'aws-sdk';\n\nconst awsConfig = getAwsConfig();\n\nAWS.config.update({\n  ...awsConfig,\n  endpointDiscoveryEnabled: true,\n});\n\nfunction getAwsConfig() {\n  return autoConfig({\n    region: {\n      help: 'AWS Region',\n      args: ['--region', '-r', 'AWS_REGION'],\n      default: 'us-west-1',\n      required: true,\n    },\n    accessKeyId: {\n      help: 'AWS Access Key ID',\n      args: ['--access-key-id', 'AWS_ACCESS_KEY_ID'],\n      required: true,\n    },\n    secretAccessKey: {\n      help: 'AWS Secret Access Key',\n      args: ['--secret-access-key', 'AWS_SECRET_ACCESS_KEY'],\n      required: true,\n    },\n  });\n}\n```\n\n## Example: Web App with Database Config\n\n```ts\n// `./src/config.ts`\nimport { autoConfig } from '@elite-libs/auto-config';\n\nexport default autoConfig({\n  databaseUrl: {\n    help: 'The Postgres connection string.',\n    args: ['--databaseUrl', '--db', 'DATABASE_URL'],\n    required: true,\n  },\n  port: {\n    help: 'The port to start server on.',\n    args: ['--port', '-p', 'PORT'],\n    type: 'number',\n    required: true,\n  },\n  debugMode: {\n    help: 'Debug mode.',\n    args: ['--debug', '-D'],\n    type: 'boolean',\n    default: false,\n  },\n});\n```\n\n```ts\n// `./src/server.js`\nimport express from 'express';\nimport catRouter from './routes/cat';\nimport config from './config';\n\nconst { port, debugMode } = config;\n\nconst logMode = debugMode ? \"dev\" : \"combined\";\n\nexport const app = express()\n  .use(express.json())\n  .use(express.urlencoded({ extended: false }))\n  .use(morgan(logMode))\n  .get('/', (req, res) => res.send('Welcome to my API'))\n  .use('/cat', catRouter);\n\napp.listen(port)\n  .on('error', console.error)\n  .on('listening', () =>\n    console.log(`Started server: http://0.0.0.0:${port}`);\n  );\n```\n\n## Example: Linux Move Command Arguments\n\n```ts\nconst moveOptions = autoConfig({\n  force: {\n    args: '-f',\n    help: 'Do not prompt for confirmation before overwriting the destination path.  (The -f option overrides any previous -i or -n options.)'\n    type: 'boolean',\n  },\n  interactive: {\n    args: '-i',\n    help: 'Cause mv to write a prompt to standard error before moving a file that would overwrite an existing file.  If the response from the standard input begins with the character `y` or `Y`, the move is attempted.  (The -i option overrides any previous -f or -n options.)'\n    type: 'boolean',\n  },\n  noOverwrite: {\n    args: '-n',\n    help: 'Do not overwrite an existing file.  (The -n option overrides any previous -f or -i options.)',\n    type: 'boolean',\n  },\n  verbose: {\n    args: '-v',\n    help: 'Cause mv to be verbose, showing files after they are moved.',\n    type: 'boolean',\n  }\n});\n```\n\n## Example: Feature Flags\n\n```ts\n// `./src/config/featureFlags.ts`\nexport const Flags = autoConfig({\n  dashboard: {\n    args: ['FEATURE_FLAG_DASHBOARD'],\n    type: 'enum',\n    enum: ['off', 'variant1'],\n    default: 'off',\n  },\n  checkout: {\n    args: ['FEATURE_FLAG_CHECKOUT'],\n    type: 'enum',\n    enum: ['off', 'variant1', 'variant2'],\n    default: 'off',\n  },\n  register: {\n    args: ['FEATURE_FLAG_REGISTER'],\n    type: 'enum',\n    enum: ['off', 'variant1', 'variant2', 'variant3', 'variant4'],\n    default: 'off',\n  },\n});\n```\n\n## Example: Runtime Usage Behavior\n\n### Command line arguments\n\n```bash\nnode ./src/app.js \\\n  --port 8080 \\\n  --databaseUrl 'postgres://localhost/postgres' \\\n  --debug\n# { port: 8080, databaseUrl: 'postgres://localhost/postgres', debug: true }\n```\n\n### Mix of environment and command arguments\n\n```bash\nDATABASE_URL=postgres://localhost/postgres \\\n  node ./src/app.js \\\n    --port 8080 \\\n    --debug\n# { port: 8080, databaseUrl: 'postgres://localhost/postgres', debug: true }\n```\n\n### Single-letter flag arguments\n\n```bash\nnode ./src/app.js \\\n  -D \\\n  --port 8080 \\\n  --databaseUrl 'postgres://localhost/postgres'\n# { port: 8080, databaseUrl: 'postgres://localhost/postgres', debug: true }\n```\n\n### Error on required fields\n\n```bash\nnode ./src/app.js \\\n  --port 8080\n# Error: databaseUrl is required.\n```\n\n### CLI Help Output\n\n```bash\nnode ./src/app.js --help\n```\n\n```bash\n╭───────────────────────────┬────────────────────────────────────────────┬──────────────────────────────────────────────────────────╮\n│                           │                                            │                                                          │\n│  Name                     │  Help                                      │  CLI Args, Env Name(s)                                   │\n│                           │                                            │                                                          │\n├───────────────────────────┼────────────────────────────────────────────┼──────────────────────────────────────────────────────────┤\n│databaseUrl*               │The Postgres connection string.             │--databaseUrl, DATABASE_URI, DATABASE_URL                 │\n├───────────────────────────┼────────────────────────────────────────────┼──────────────────────────────────────────────────────────┤\n│port*                      │The port to serve content from.             │-p, --port                                                │\n├───────────────────────────┼────────────────────────────────────────────┼──────────────────────────────────────────────────────────┤\n│[debugMode] = false        │Debug mode.                                 │-D, --debug                                               │\n├───────────────────────────┼────────────────────────────────────────────┼──────────────────────────────────────────────────────────┤\n│help                       │Show this help.                             │--help                                                    │\n├───────────────────────────┼────────────────────────────────────────────┼──────────────────────────────────────────────────────────┤\n│version                    │Show the current version.                   │--version                                                 │\n╰───────────────────────────┴────────────────────────────────────────────┴──────────────────────────────────────────────────────────╯\n```\n\n## TODO\n\n### Add Shorthand Object Support\n\n```ts\nexport const config = autoConfig({\n  \"databaseUrl\": ['--databaseUrl', '--db', 'DATABASE_URL'],\n  \"port\": ['--port', '-p', 'PORT'],\n  \"debug\": ['--debug', '-D'],\n});\n```\n\n* [ ] Add browser bundler support by allowing args like this: `() => process.env.FEAT_FLAG_V1`. **To support non-dynamic env references.**\n* [x] Auto `--help` output.\n  * [ ] Add support to define free-text in help output. E.g. See sections from \"man pages\" - often labelled like `DESCRIPTION`, `Usage`, etc.\n* [ ] Add support for loading stringified JSON.\n* [ ] Add option to include the `_` or `__` args from minimist. (Overflow/unparsed extra args.)\n* [ ] Enum support.\n* [ ] Inverting boolean flags with `--no-debug` versus `--debug`.\n* [ ] Plugin modules with minimal overhead. (e.g. 3rd party loaders: AWS SSM, AppConfig, Firebase Config,  etc.)\n  * Example args: `{ssm:/app/flags/path/admin_dashboard}`\n    * `['{ssm:/app/flags/path/admin_dashboard}', 'FLAG_ADMIN_DASHBOARD_ENABLED', '--flagAdminDashboard', '--flag-admin-dashboard']`\n* [ ] Support for loading files, and structured data with dotted key paths.\n  * Example args: `{config.flags.admin_dashboard}`\n    * `['{config.flags.admin_dashboard}', 'FLAG_ADMIN_DASHBOARD_ENABLED', '--flagAdminDashboard', '--flag-admin-dashboard']`\n* [x] `--version` output.\n* [x] `default` values.\n* [x] `required` values.\n* [x] Zod validators for `optional`, `min`, `max`, `gt`, `gte`, `lt`, `lte`.\n\n## Credit and References\n\nProjects researched, with any notes on why it wasn't a good fit.\n\n* [yargs](https://github.com/yargs/yargs) - like the fluent API, and command syntax. Could use as base library. Env vars could be handled via `default` helper function to check for env keys. Or we could transform yargs config into overlapping format.\n* [commander](https://github.com/tj/commander.js) - like the many ways to configure arguments. Could probably be used as underlying library, however initial attempt was slower than starting from scratch.\n* [cosmiconfig](https://github.com/davidtheclark/cosmiconfig) - focused too much on disk-backed config.\n* [rc](https://github.com/dominictarr/rc) - focused on 'magically' locating disk-backed config.\n* [node-convict](https://github.com/mozilla/node-convict/tree/master/packages/convict) - great pattern, but limited TypeScript support.\n* [nconf](https://github.com/indexzero/nconf) - setter & getter, plus the hierarchy adds extra layers.\n* [conf](https://github.com/sindresorhus/conf) - too opinionated (writing to disk.) Interesting use of JSON Schemas, Versioning, and Migrations.\n* [gluegun](https://github.com/infinitered/gluegun) - great design, focused on opinionated design of CLI apps though.\n* [configstore](https://github.com/yeoman/configstore) - replaced by conf.\n","readmeFilename":"README.md"}