{"id":13447500,"url":"https://github.com/node-config/node-config","last_synced_at":"2026-03-27T02:43:12.899Z","repository":{"id":37856934,"uuid":"1130565","full_name":"node-config/node-config","owner":"node-config","description":"Node.js Application Configuration","archived":false,"fork":false,"pushed_at":"2026-02-22T21:56:40.000Z","size":2646,"stargazers_count":6427,"open_issues_count":12,"forks_count":505,"subscribers_count":74,"default_branch":"master","last_synced_at":"2026-02-23T02:23:26.584Z","etag":null,"topics":["config","deployment","properties","registry","settings","state"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/node-config.png","metadata":{"files":{"readme":"README.md","changelog":"History.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2010-12-02T00:33:11.000Z","updated_at":"2026-02-22T21:55:05.000Z","dependencies_parsed_at":"2023-02-10T10:30:35.813Z","dependency_job_id":"6dec5ce2-7dfe-46de-89b0-73dc3a279070","html_url":"https://github.com/node-config/node-config","commit_stats":{"total_commits":563,"total_committers":120,"mean_commits":4.691666666666666,"dds":0.758436944937833,"last_synced_commit":"4d7fac6104a7e984557894e7edf2077890509c6a"},"previous_names":["lorenwest/node-config"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/node-config/node-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-config%2Fnode-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-config%2Fnode-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-config%2Fnode-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-config%2Fnode-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/node-config","download_url":"https://codeload.github.com/node-config/node-config/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-config%2Fnode-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29922085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"ssl_error","status_checked_at":"2026-02-27T19:37:41.463Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config","deployment","properties","registry","settings","state"],"created_at":"2024-07-31T05:01:19.444Z","updated_at":"2026-03-27T02:43:12.886Z","avatar_url":"https://github.com/node-config.png","language":"JavaScript","readme":"Configure your Node.js Applications\n===================================\n\n[![npm package](https://img.shields.io/npm/v/config)](https://www.npmjs.com/package/config)\n[![Downloads](https://img.shields.io/npm/dt/config)](https://www.npmjs.com/package/config)\n[![Issues](https://img.shields.io/github/issues/node-config/node-config)](https://github.com/node-config/node-config/issues)\n\n[Release Notes](https://github.com/node-config/node-config/releases)\n\nIntroduction\n------------\n\nNode-config organizes hierarchical configurations for your app deployments.\n\nIt lets you define a set of default parameters,\nand extend them for different deployment environments (development, qa,\nstaging, production, etc.).\n\nConfigurations are stored in [configuration files](https://github.com/node-config/node-config/wiki/Configuration-Files) within your application, and can be overridden and extended by [environment variables](https://github.com/lorenwest/node-config/wiki/Environment-Variables),\n [command line parameters](https://github.com/node-config/node-config/wiki/Command-Line-Overrides), or [external sources](https://github.com/lorenwest/node-config/wiki/Configuring-from-an-External-Source).\n\nThis gives your application a consistent configuration interface shared among a\n[growing list of npm modules](https://www.npmjs.org/browse/depended/config) also using node-config.\n\nProject Guidelines\n------------------\n\n* *Simple* - Get started fast\n* *Powerful* - For multi-node enterprise deployment\n* *Flexible* - Supporting multiple config file formats\n* *Lightweight* - Small file and memory footprint\n* *Predictable* - Well tested foundation for module and app developers\n\nQuick Start\n---------------\nThe following examples are in JSON format, but configurations can be in other [file formats](https://github.com/node-config/node-config/wiki/Configuration-Files#file-formats).\n\n**Install in your app directory, and edit the default config file.**\n\n```shell\n$ npm install config\n$ mkdir config\n$ vi config/default.json\n```\n```js\n{\n  // Customer module configs\n  \"Customer\": {\n    \"dbConfig\": {\n      \"host\": \"localhost\",\n      \"port\": 5984,\n      \"dbName\": \"customers\"\n    },\n    \"credit\": {\n      \"initialLimit\": 100,\n      // Set low for development\n      \"initialDays\": 1\n    }\n  }\n}\n```\n\n**Edit config overrides for production deployment:**\n\n```shell\n $ vi config/production.json\n```\n\n```json\n{\n  \"Customer\": {\n    \"dbConfig\": {\n      \"host\": \"prod-db-server\"\n    },\n    \"credit\": {\n      \"initialDays\": 30\n    }\n  }\n}\n```\n\n**Use configs in your code:**\n\n```js\nconst config = require('config');\n//...\nconst dbConfig = config.get('Customer.dbConfig');\ndb.connect(dbConfig, ...);\n\nif (config.has('optionalFeature.detail')) {\n  const detail = config.get('optionalFeature.detail');\n  //...\n}\n```\n\n`config.get()` will throw an exception for undefined keys to help catch typos and missing values.\nUse `config.has()` to test if a configuration value is defined.\n\n**Start your app server:**\n\n```shell\n$ export NODE_ENV=production\n$ node my-app.js\n```\n\nRunning in this configuration, the `port` and `dbName` elements of `dbConfig`\nwill come from the `default.json` file, and the `host` element will\ncome from the `production.json` override file.\n\nTypeScript\n----------\n\nType declarations are published under `types/` and resolved via `typesVersions`. Subpath typings are included for `config/parser`, 'config/util/defer', and `config/lib/util` in addition to the main `config` entrypoint.\n\nArticles\n--------\n\n* [Configuration Files](https://github.com/node-config/node-config/wiki/Configuration-Files)\n  * [Special features for JavaScript configuration files](https://github.com/node-config/node-config/wiki/Special-features-for-JavaScript-configuration-files)\n* [Common Usage](https://github.com/node-config/node-config/wiki/Common-Usage)\n* [Environment Variables](https://github.com/node-config/node-config/wiki/Environment-Variables)\n* [Reserved Words](https://github.com/node-config/node-config/wiki/Reserved-Words)\n* [Command Line Overrides](https://github.com/node-config/node-config/wiki/Command-Line-Overrides)\n* [Multiple Node Instances](https://github.com/node-config/node-config/wiki/Multiple-Node-Instances)\n* [Sub-Module Configuration](https://github.com/node-config/node-config/wiki/Sub-Module-Configuration)\n* [Configuring from a DB / External Source](https://github.com/node-config/node-config/wiki/Configuring-from-an-External-Source)\n* [Securing Production Config Files](https://github.com/node-config/node-config/wiki/Securing-Production-Config-Files)\n* [External Configuration Management Tools](https://github.com/node-config/node-config/wiki/External-Configuration-Management-Tools)\n* [Examining Configuration Sources](https://github.com/node-config/node-config/wiki/Examining-Configuration-Sources)\n* [Using Config Utilities](https://github.com/node-config/node-config/wiki/Using-Config-Utilities)\n* [Upgrading from Config 0.x](https://github.com/node-config/node-config/wiki/Upgrading-From-Config-0.x)\n* [Webpack usage](https://github.com/node-config/node-config/wiki/Webpack-Usage)\n\nFurther Information\n---------------------\nIf you still don't see what you are looking for, here are some more resources to check: \n\n * The [wiki may have more pages](https://github.com/node-config/node-config/wiki) which are not directly linked from here.\n * Review [questions tagged with node-config](https://stackexchange.com/filters/207096/node-config) on StackExchange. These are monitored by `node-config` contributors.\n * [Search the issue tracker](https://github.com/node-config/node-config/issues). Hundreds of issues have already been discussed and resolved there.\n\nContributors\n------------\n\u003ctable id=\"contributors\"\u003e\u003ctr\u003e\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/373538?v=4\u003e\u003ca href=\"https://github.com/lorenwest\"\u003elorenwest\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/1656505?v=4\u003e\u003ca href=\"https://github.com/jdmarshall\"\u003ejdmarshall\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/25829?v=4\u003e\u003ca href=\"https://github.com/markstos\"\u003emarkstos\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/1083065?v=4\u003e\u003ca href=\"https://github.com/iMoses\"\u003ei\u0026shy;Moses\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/447151?v=4\u003e\u003ca href=\"https://github.com/elliotttf\"\u003eelliotttf\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/11448209?v=4\u003e\u003ca href=\"https://github.com/mdkitzman\"\u003emdkitzman\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/8839447?v=4\u003e\u003ca href=\"https://github.com/jfelege\"\u003ejfelege\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/66902?v=4\u003e\u003ca href=\"https://github.com/leachiM2k\"\u003eleachi\u0026shy;M2k\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/791137?v=4\u003e\u003ca href=\"https://github.com/josx\"\u003ejosx\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/133277?v=4\u003e\u003ca href=\"https://github.com/enyo\"\u003eenyo\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/4307697?v=4\u003e\u003ca href=\"https://github.com/leosuncin\"\u003eleosuncin\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/1077378?v=4\u003e\u003ca href=\"https://github.com/arthanzel\"\u003earthanzel\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/8650543?v=4\u003e\u003ca href=\"https://github.com/leonardovillela\"\u003eleonardovillela\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/77355440?v=4\u003e\u003ca href=\"https://github.com/jeremy-daley-kr\"\u003ejeremy-daley-kr\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/2529835?v=4\u003e\u003ca href=\"https://github.com/simon-scherzinger\"\u003esimon-scherzinger\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/5138570?v=4\u003e\u003ca href=\"https://github.com/BadgerBadgerBadgerBadger\"\u003eBadger\u0026shy;Badger\u0026shy;Badger\u0026shy;Badger\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/842998?v=4\u003e\u003ca href=\"https://github.com/nsabovic\"\u003ensabovic\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/1751645?v=4\u003e\u003ca href=\"https://github.com/cunneen\"\u003ecunneen\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/506460?v=4\u003e\u003ca href=\"https://github.com/Osterjour\"\u003eOsterjour\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/138707?v=4\u003e\u003ca href=\"https://github.com/th507\"\u003eth507\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/242058858?v=4\u003e\u003ca href=\"https://github.com/tiny-rac00n\"\u003etiny-rac00n\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/1656140?v=4\u003e\u003ca href=\"https://github.com/eheikes\"\u003eeheikes\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/1872824?v=4\u003e\u003ca href=\"https://github.com/fgheorghe\"\u003efgheorghe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/498929?v=4\u003e\u003ca href=\"https://github.com/roncli\"\u003eroncli\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/1355559?v=4\u003e\u003ca href=\"https://github.com/superoven\"\u003esuperoven\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/631249?v=4\u003e\u003ca href=\"https://github.com/airdrummingfool\"\u003eairdrummingfool\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/54934?v=4\u003e\u003ca href=\"https://github.com/wmertens\"\u003ewmertens\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/2842176?v=4\u003e\u003ca href=\"https://github.com/XadillaX\"\u003eXadilla\u0026shy;X\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/107884?v=4\u003e\u003ca href=\"https://github.com/inside\"\u003einside\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=https://avatars.githubusercontent.com/u/1320090?v=4\u003e\u003ca href=\"https://github.com/dsbert\"\u003edsbert\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003c/table\u003e\n\nLicense\n-------\n\nMay be freely distributed under the [MIT license](https://raw.githubusercontent.com/node-config/node-config/master/LICENSE).\n\nCopyright (c) 2010-2026 Loren West \n[and other contributors](https://github.com/node-config/node-config/graphs/contributors)\n","funding_links":[],"categories":["JavaScript","deployment"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode-config%2Fnode-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnode-config%2Fnode-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode-config%2Fnode-config/lists"}