{"_id":"@alarife/configuration","_rev":"8-6ddf6fae28cb8f1c9978a10fc7cca5a2","name":"@alarife/configuration","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.0":{"name":"@alarife/configuration","version":"0.1.0","keywords":["alarife"],"author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","_id":"@alarife/configuration@0.1.0","maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"dist":{"shasum":"4a2df08bb2128501afff1758465702ee50047a39","tarball":"https://registry.npmjs.org/@alarife/configuration/-/configuration-0.1.0.tgz","fileCount":3,"integrity":"sha512-TZ6oXmKxR620qB/QuiDH5bOHZ6pKA31d2tEOdyqRJ+oSUYTktbpLg9ID7Kwc9qb04xyoBeqzgT6JqzwKJDzFDw==","signatures":[{"sig":"MEUCIQDDgllboty8Z/MwpxLb5OFB3NVTJnVKdPkMxuUn2lSipAIgN3CqplKVeZGY/2nxlNLVXCx6ujhq0a1TNIt2B9MFUec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4094},"main":"./lib/index.js","type":"commonjs","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"1c7a3170d2407e4231e48462d1324ae06f628c30","private":false,"scripts":{"test":"npx tsc --project tsconfig.test.json && node --test \"dist/test/**/*.test.js\"","build":"npx tsc --project tsconfig.build.json"},"_npmUser":{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"},"repository":{"url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git","type":"git"},"_npmVersion":"11.6.2","description":"Centralized configuration system for Alarife applications.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tslib":"~2.8"},"typesVersions":{"*":{".":["./lib/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~6.0","@types/node":"~24"},"_npmOperationalInternal":{"tmp":"tmp/configuration_0.1.0_1775977373250_0.512418266342437","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@alarife/configuration","version":"0.2.0","keywords":["alarife"],"author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","_id":"@alarife/configuration@0.2.0","maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"dist":{"shasum":"51e6d1b58723ab753979c727dbd1e84682a34f4b","tarball":"https://registry.npmjs.org/@alarife/configuration/-/configuration-0.2.0.tgz","fileCount":15,"integrity":"sha512-C0E6wTL13XYFKne3imu+Dzm5vf8L4mQ80WWZZhtrxmbRgnlsza0AjJO1gwc4F+NsL5LiCdUockTJZvGD6fjaxQ==","signatures":[{"sig":"MEYCIQDq0UI+0gqt1kl9WpCALVHCUpkWKtRS6NusdbGMg2Vh8QIhAILS/tzQ6Zr7ebdxakJQICs1f1pDdVEolAw4jTOset0b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alarife%2fconfiguration@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16384},"main":"./lib/index.js","type":"commonjs","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"014d589fe2af83fd4206560b01ffccba968178b5","private":false,"scripts":{"test":"npx tsc --project tsconfig.test.json && node --test \"dist/test/**/*.test.js\"","build":"npx tsc --project tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5f3365-26bc-4950-917a-20ee268be814"}},"repository":{"url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git","type":"git"},"_npmVersion":"11.11.0","description":"Centralized configuration system for Alarife applications.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tslib":"~2.8"},"typesVersions":{"*":{".":["./lib/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~6.0","@types/node":"~24"},"_npmOperationalInternal":{"tmp":"tmp/configuration_0.2.0_1775978195168_0.03299956638331891","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@alarife/configuration","version":"0.3.0","keywords":["alarife"],"author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","_id":"@alarife/configuration@0.3.0","maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"dist":{"shasum":"04c0d81b7b0a7693709cd3c4be1b23bc81b46d57","tarball":"https://registry.npmjs.org/@alarife/configuration/-/configuration-0.3.0.tgz","fileCount":15,"integrity":"sha512-hgCSGZvMZ2mT4dRQjzyj0XR4vMkiVV3o0fEhIzvKWFRsKTVQ1wfqkmU/4sDTHpZg6rSRBRvokODhDpzWZ8OW2Q==","signatures":[{"sig":"MEUCIGQ2XUfk/Mw2lbRj6ZFb9906hqHw4gsqeWHLZ9TGwK0GAiEArVqRkNlhv6Og0Yofw/+OjCtqP85/efXQNpSgUjzIHsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alarife%2fconfiguration@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16497},"main":"./lib/index.js","type":"commonjs","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"f67fea02bc22920f4f182a93bff06c9470220032","private":false,"scripts":{"test":"npx tsc --project tsconfig.test.json && node --test \"dist/test/**/*.test.js\"","build":"npx tsc --project tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5f3365-26bc-4950-917a-20ee268be814"}},"repository":{"url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git","type":"git"},"_npmVersion":"11.11.0","description":"Centralized configuration system for Alarife applications.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tslib":"~2.8"},"typesVersions":{"*":{".":["./lib/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~6.0","@types/node":"~24"},"_npmOperationalInternal":{"tmp":"tmp/configuration_0.3.0_1776085900001_0.7811813322891978","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@alarife/configuration","version":"0.4.0","keywords":["alarife"],"author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","_id":"@alarife/configuration@0.4.0","maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"dist":{"shasum":"57e8ef18755c30554c40454221c256122f360af1","tarball":"https://registry.npmjs.org/@alarife/configuration/-/configuration-0.4.0.tgz","fileCount":15,"integrity":"sha512-pXL+5ncOXexVdu84pDllewNj37PbBH52U+A2vSzQ1s1N58XLOVcAbpLRqRmOh+mveSkCXfFcoRTB1ql+ppGlqQ==","signatures":[{"sig":"MEUCIQCFbKrfdU0RB47o52MoM/Q7oahY72cE9PfpHQ6KcRl1NwIgdgkSmgGkiMsEVJP1wb/hd2txiw6V57VagwClfVf2fD4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alarife%2fconfiguration@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16883},"main":"./lib/index.js","type":"commonjs","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"f829720a82478dd320944b2757998cc0a7e41471","private":false,"scripts":{"test":"npx tsc --project tsconfig.test.json && node --test \"dist/test/**/*.test.js\"","build":"npx tsc --project tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5f3365-26bc-4950-917a-20ee268be814"}},"repository":{"url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git","type":"git"},"_npmVersion":"11.11.0","description":"Centralized configuration system for Alarife applications.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tslib":"~2.8"},"typesVersions":{"*":{".":["./lib/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~6.0","@types/node":"~24"},"_npmOperationalInternal":{"tmp":"tmp/configuration_0.4.0_1777104483123_0.6453821652416198","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@alarife/configuration","version":"0.4.1","keywords":["alarife"],"author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","_id":"@alarife/configuration@0.4.1","maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"dist":{"shasum":"3969984d53b9d3ff0ae42330d04b0c93c9068ef7","tarball":"https://registry.npmjs.org/@alarife/configuration/-/configuration-0.4.1.tgz","fileCount":15,"integrity":"sha512-giyLtQMCUeaot2Af3M4GvqfUMkXHdqNbBQ7wn2CbL166huvrrahFLJ5wh0+DEQwCp0nTuV40RRjVqvzaBok/0Q==","signatures":[{"sig":"MEYCIQCaNCkHsd2zCaftbW3AWMvnyCtS7EasrqVVFHyAjz0sWAIhAKIRe371HCAD0EwC+e6r78t8cE7Cx6FGAjl2QceeBcj3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alarife%2fconfiguration@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16986},"main":"./lib/index.js","type":"commonjs","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"54ccfec288deadefb73df817e0daf5c77e751b82","private":false,"scripts":{"test":"npx tsc --project tsconfig.test.json && node --test \"dist/test/**/*.test.js\"","build":"npx tsc --project tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5f3365-26bc-4950-917a-20ee268be814"}},"repository":{"url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git","type":"git"},"_npmVersion":"11.11.0","description":"Centralized configuration system for Alarife applications.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tslib":"~2.8"},"typesVersions":{"*":{".":["./lib/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~6.0","@types/node":"~24"},"_npmOperationalInternal":{"tmp":"tmp/configuration_0.4.1_1777105061357_0.26365171412481936","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@alarife/configuration","version":"0.5.0","keywords":["alarife"],"author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","_id":"@alarife/configuration@0.5.0","maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"dist":{"shasum":"20dcb6ea4fdaeb166f43dbf8d352f6a66dd1d5c2","tarball":"https://registry.npmjs.org/@alarife/configuration/-/configuration-0.5.0.tgz","fileCount":15,"integrity":"sha512-cdxKKzG4drXLptQ8mgDCMEee6EYdJU2kYsTQIIBndUurmQ9eF7ooE7k3MEdZ2tEH0OSY2VPfnfLSmlDD95GWWg==","signatures":[{"sig":"MEUCIQCWA6aw4+yhu3GhtRX9UKgFVr+p60AosMqLMKFafgCZYwIgYJEgtQFr91qUd+YjEhFpeuebWwWxQXjYSSNfS1WxGts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alarife%2fconfiguration@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17382},"main":"./lib/index.js","type":"commonjs","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"ce9016663599c4202dabd6dce41e110d0943f7fc","private":false,"scripts":{"test":"npx tsc --project tsconfig.test.json && node --test \"dist/test/**/*.test.js\"","build":"npx tsc --project tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5f3365-26bc-4950-917a-20ee268be814"}},"repository":{"url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git","type":"git"},"_npmVersion":"11.11.0","description":"Centralized configuration system for Alarife applications.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tslib":"~2.8"},"typesVersions":{"*":{".":["./lib/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~6.0","@types/node":"~24"},"_npmOperationalInternal":{"tmp":"tmp/configuration_0.5.0_1777109286643_0.3680363093659911","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@alarife/configuration","version":"0.6.0","keywords":["alarife"],"author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","_id":"@alarife/configuration@0.6.0","maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"dist":{"shasum":"e3bba1173952c33c732f56ad2f06e536f77e6c56","tarball":"https://registry.npmjs.org/@alarife/configuration/-/configuration-0.6.0.tgz","fileCount":15,"integrity":"sha512-V4+eX/bEJanwiRqw2KLPcTT+wUfs3BfcnfEAkfGKU32YI+Ddp1dONT84SeJuCzV+bc8aT9fMqDbj5XWzOuiMRw==","signatures":[{"sig":"MEQCIGacwRDMuhGJ/wkbNAwZswCX+VT73T5tJZ6SQd62aimwAiAoN21mRTw1A2Pk7063lxuUePzOwobuKTY5EXKGeY3xwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alarife%2fconfiguration@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17968},"main":"./lib/index.js","type":"commonjs","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"5959194150a24e1e189c433209f36349a5addef0","private":false,"scripts":{"test":"npx tsc --project tsconfig.test.json && node --test \"dist/test/**/*.test.js\"","build":"npx tsc --project tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5f3365-26bc-4950-917a-20ee268be814"}},"repository":{"url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git","type":"git"},"_npmVersion":"11.11.0","description":"Centralized configuration system for Alarife applications.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tslib":"~2.8"},"typesVersions":{"*":{".":["./lib/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~6.0","@types/node":"~24"},"_npmOperationalInternal":{"tmp":"tmp/configuration_0.6.0_1777111031786_0.3360359619839597","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@alarife/configuration","description":"Centralized configuration system for Alarife applications.","version":"0.7.0","author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","private":false,"type":"commonjs","main":"./lib/index.js","types":"./lib/index.d.ts","exports":{".":{"import":"./lib/index.js","require":"./lib/index.js","types":"./lib/index.d.ts"}},"typesVersions":{"*":{".":["./lib/index.d.ts"]}},"keywords":["alarife"],"repository":{"type":"git","url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git"},"homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"scripts":{"build":"npx tsc --project tsconfig.build.json","test":"npx tsc --project tsconfig.test.json && node --test \"dist/test/**/*.test.js\""},"dependencies":{"tslib":"~2.8"},"devDependencies":{"@types/node":"~24","typescript":"~6.0"},"gitHead":"9d55775abfcaeb2c6a4a7194e205697b23e378cd","_id":"@alarife/configuration@0.7.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-SgvdW0N5XjIOnlqlwTAmCuyrKvs6hBu20kBh6H+tNTlfSYNnEh6NZrvFR14URYqsmROJdEkrleFx7hs7PP042w==","shasum":"12a931783cc58063eb5738ae3ab82d15916d6bf3","tarball":"https://registry.npmjs.org/@alarife/configuration/-/configuration-0.7.0.tgz","fileCount":15,"unpackedSize":18103,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alarife%2fconfiguration@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCQEQfjpA01/e4r8y5yI0tc7NlbH+Ek9kFG6SMPzQgTgwIgdF8D1R7o/CKTgkccM62h9pHc2CUTUwtWa/H9oF4FXAA="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5f3365-26bc-4950-917a-20ee268be814"}},"directories":{},"maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/configuration_0.7.0_1779729553996_0.054508805475064426"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-12T07:02:53.163Z","modified":"2026-05-25T17:19:14.434Z","0.1.0":"2026-04-12T07:02:53.430Z","0.2.0":"2026-04-12T07:16:35.298Z","0.3.0":"2026-04-13T13:11:40.160Z","0.4.0":"2026-04-25T08:08:03.249Z","0.4.1":"2026-04-25T08:17:41.480Z","0.5.0":"2026-04-25T09:28:06.778Z","0.6.0":"2026-04-25T09:57:11.928Z","0.7.0":"2026-05-25T17:19:14.143Z"},"bugs":{"url":"https://github.com/ALARIFE-PROYECT/alarife-configuration/issues"},"author":{"name":"Soria Garcia, Jose Eduardo","email":"alarifeproyect@gmail.com"},"license":"Apache-2.0","homepage":"https://github.com/ALARIFE-PROYECT/alarife-configuration#readme","keywords":["alarife"],"repository":{"type":"git","url":"git+https://github.com/ALARIFE-PROYECT/alarife-configuration.git"},"description":"Centralized configuration system for Alarife applications.","maintainers":[{"name":"jesoria","email":"pepesoriagarcia99@gmail.com"}],"readme":"# @alarife/configuration - Centralized configuration system for Alarife applications.\n\n<div align=\"center\">\n\n[![NPM Version](https://img.shields.io/badge/version-0.1.0-blue.svg)](https://www.npmjs.com/package/@alarife/configuration) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/)\n\n**Centralized configuration for architect, centralizes argv, env, secure-env.**\n\n</div>\n\n## 📋 Table of Contents\n\n- [Installation](#-installation)\n- [Basic Usage](#-basic-usage)\n- [Detailed API](#-detailed-api) ...\n- [License](#-license)\n\n## 🚀 Installation\n\n```bash\nnpm install @alarife/configuration --save-dev\n```\n\n## 📦 Basic Usage\n\nThis package provides a small, pluggable configuration system. Create a `Configuration` instance, register one or more loaders (objects that extend `ConfigurationLoader`) and call `load()`. Loaders with higher `priority` run later and will override values set by earlier loaders.\n\nExample (TypeScript):\n\n```ts\nimport { Configuration, ConfigurationLoader } from '@alarife/configuration';\n\nclass DefaultLoader extends ConfigurationLoader {\n\tpublic priority = 1;\n\tprivate defaults = [\n\t\t{ argv: 'port', env: 'PORT', value: 3000 },\n\t\t{ argv: 'debug', env: 'DEBUG_MODE', value: false },\n\t];\n\n\tload(state) {\n\t\tfor (const p of this.defaults) {\n\t\t\tstate.setProperty(p);\n\t\t}\n\t}\n}\n\nclass EnvLoader extends ConfigurationLoader {\n\tpublic priority = 2;\n\tload(state) {\n\t\tif (process.env.PORT) {\n\t\t\tstate.setProperty({ argv: 'port', env: 'PORT', value: Number(process.env.PORT) });\n\t\t}\n\t\tif (typeof process.env.DEBUG_MODE !== 'undefined') {\n\t\t\tstate.setProperty({ argv: 'debug', env: 'DEBUG_MODE', value: process.env.DEBUG_MODE === 'true' });\n\t\t}\n\t}\n}\n\nconst config = new Configuration();\nconfig.addLoader(new DefaultLoader());\nconfig.addLoader(new EnvLoader());\nconfig.load();\n\nconsole.log('port:', config.getState().getProperty('port'));\nconsole.log('debug:', config.getState().getProperty('debug'));\n```\n\n## 📖 Detailed API\n\n### `ConfigurationLoader`\n\nAbstract base class for configuration loaders. Implementors provide a numeric `priority` and a `load(state)` method.\n\n```typescript\nabstract class ConfigurationLoader {\n\tpublic abstract priority: number;\n\tabstract load(state: ConfigurationState): void;\n}\n```\n\n| Method / Property | Description |\n|---|---|\n| `priority: number` | Numeric priority. Higher number = higher precedence. Loaders are sorted ascending and executed in that order, so loaders with larger `priority` values run later and can override earlier values. |\n| `load(state: ConfigurationState): void` | Abstract method invoked during `Configuration.load()`. Implementations should call `state.setProperty(...)` to apply properties. |\n\n---\n\n### `Configuration`\n\nHigh-level coordinator that registers loaders and applies them against a single `ConfigurationState`.\n\n```typescript\nconst config = new Configuration(...loaders?: ConfigurationLoader[]);\n```\n\n| Method | Description |\n|---|---|\n| `addLoader(loader: ConfigurationLoader): void` | Register a loader instance to be executed when `load()` is called. |\n| `load(): void` | Sorts registered loaders by `priority` (ascending) and invokes each loader's `load(state)` method. Loaders executed later may override earlier values. |\n| `getState(): ConfigurationState` | Returns the internal `ConfigurationState` instance for direct inspection or manipulation. |\n\n---\n\n### `ConfigurationState`\n\nIn-memory storage for configuration properties and their aliases.\n\n```typescript\nconst state = new ConfigurationState();\n```\n\n| Method | Description |\n|---|---|\n| `getProperty(key: string): any` | Return the value of the property that contains `key` in its alias list, or `undefined` if not present. |\n| `setProperty(source: SourceProperty): void` | Add or update a property. Rules: each alias in `source.key` must be unique across all properties (otherwise a `Duplicate key` error is thrown). When updating an existing property you may add new aliases only if the incoming `source.key` includes all existing aliases — omitting existing aliases while adding new ones will throw an error. |\n| `forEach(callback: (property: SourceProperty) => void): void` | Iterate over all stored properties. |\n| `toArray(): SourceProperty[]` | Allows retrieving the stored parameter list |\n| `export(): string` | Serialize the current state to a JSON string. |\n| `import(data: string): void` | Parse JSON and import properties via `setProperty`. Throws an error on parse failure or invalid updates. |\n\n--- \n\n### `SourceProperty`\n\nInterface describing a property and its aliases.\n\n```typescript\ninterface SourceProperty {\n\targv: string;\n\tshortArgv?: string;\n\tenv: string;\n\tvalue: any;\n}\n```\n\n| Property | Description |\n|---|---|\n| `argv: string` | Alias for the command-line argument. |\n| `shortArgv?: string` | Optional alias for a shorter version of the command-line argument. |\n| `env: string` | Alias for the environment variable. |\n| `value: any` | The property's value (string, number, boolean, object, ...). |\n\n--- \n\nNotes:\n\n- Error behavior: the library throws `Error` when encountering duplicate keys, invalid alias updates, or when `import()` receives invalid JSON.\n- Recommended priority ordering: `1` = defaults, `2` = environment variables, `3` = command-line arguments (higher number wins).\n\n### `CtxStore`\n\nThis service is used as a bridge at runtime after configuration in the main CLI thread.\n\n```typescript\n/** Service use Manual */\nconst store = new CtxStore();\n\n/** Service use automatic */\nimport { ctxStore } from '@alarife/configuration';\n```\n\nNotes:\n\n- This service is an extension of `ConfigurationState`.\n- The instantiated form of this functionality accesses the `CONFIGURATION_STATE` environment variable\n\n\n## 📄 License\n\nThis project is licensed under Apache-2.0. See the [LICENSE](./LICENSE) file for details.\n\n--- \n\n<div align=\"center\">\n\n**Built with ❤️ by [Soria Garcia, Jose Eduardo](mailto:alarifeproyect@gmail.com)**\n\n<sub>🌍 Product developed in Andalucia, España 🇪🇸</sub>\n\n_Part of the Alarife ecosystem_\n\n</div>\n","readmeFilename":"README.md"}