{"id":22202905,"url":"https://github.com/french-exception/node-config-cli","last_synced_at":"2025-03-25T01:47:37.565Z","repository":{"id":44213258,"uuid":"234891169","full_name":"French-Exception/node-config-cli","owner":"French-Exception","description":"Configuration CLI","archived":false,"fork":false,"pushed_at":"2023-01-05T05:20:06.000Z","size":419,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-03-17T22:59:43.069Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/French-Exception.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-19T11:47:30.000Z","updated_at":"2020-12-13T10:40:00.000Z","dependencies_parsed_at":"2023-02-03T13:00:24.250Z","dependency_job_id":null,"html_url":"https://github.com/French-Exception/node-config-cli","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/French-Exception%2Fnode-config-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/French-Exception%2Fnode-config-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/French-Exception%2Fnode-config-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/French-Exception%2Fnode-config-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/French-Exception","download_url":"https://codeload.github.com/French-Exception/node-config-cli/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245383120,"owners_count":20606265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-12-02T16:38:50.173Z","updated_at":"2025-03-25T01:47:37.547Z","avatar_url":"https://github.com/French-Exception.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![npm @latest](https://img.shields.io/npm/v/@frenchex/config-cli)](https://www.npmjs.com/package/@frenchex/config-cli)\n[![npm downloads](https://img.shields.io/npm/dt/@frenchex/config-cli)](https://www.npmjs.com/package/@frenchex/config-cli)\n[![dependencies Status](https://david-dm.org/french-exception/node-config-cli/status.svg)](https://david-dm.org/french-exception/node-config-cli)\n[![devDependencies Status](https://david-dm.org/french-exception/node-config-cli/dev-status.svg)](https://david-dm.org/french-exception/node-config-cli?type=dev)\n[![Greenkeeper badge](https://badges.greenkeeper.io/jdalrymple/node-gitlab.svg)](https://greenkeeper.io/)\n[![Code Climate](https://codeclimate.com/github/french-exception/node-config-cli/badges/gpa.svg)](https://codeclimate.com/github/jdalrymple/node-gitlab)\n[![Build Status](https://img.shields.io/travis/jdalrymple/node-gitlab/master.svg)](https://travis-ci.org/jdalrymple/node-gitlab)\n[![Coverage](https://img.shields.io/codecov/c/github/jdalrymple/node-gitlab/master.svg)](https://codecov.io/gh/jdalrymple/node-gitlab)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![Code Style: Prettier](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)\n[![Install Size](https://packagephobia.now.sh/badge?p=gitlab)](https://packagephobia.now.sh/result?p=gitlab)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/jdalrymple/node-gitlab/blob/master/LICENSE.md)\n\n# About\n\nConfiguration CLI gives you command line interface over Configuration files\n\n# TL;DR\n## Install\nInstall as global package or as dependency\n```typescript\n// as global\nnpm install -g @frenchex/config-cli\n// as npm dependency\nnpm install --save @frenchex/config-cli\n```\n\n## Initialization\nGo to your home directory, it will create a ```~/config/config.json``` which will hold your user configuration\n```typescript\ncd ~\nfrenchex-config.ts init\n```\n\n## Usage\nNow that you have initialized a configuration, you can use it\n```typescript\nfrenchex-config.ts set \"foo.bar\" \"%version%-%env%\"\nfrenchex-config.ts set \"baz\" \"%foo.bar%\"\n```\n\nGives:\n\n```bash\n$ frenchex-config.ts dump --raw\n{\n  \"version\": \"1.0\",\n  \"foo\": {\n    \"bar\": \"%version%-%env%\"\n  },\n  \"baz\": \"%foo.bar%\"\n}\n\n```\n\n```bash\n$ env=dev frenchex-config.ts dump --env env\n{\n  \"env\": \"dev\",\n  \"version\": \"1.0\",\n  \"foo\": {\n    \"bar\": \"1.0-dev\"\n  },\n  \"baz\": \"1.0-dev\"\n}\n\n```\n\n# Commands\n```bash\n$ frenchex-config.ts\nfrenchex-config.ts \u003ccommand\u003e\n\nCommands:\n  frenchex-config.ts dump               dump configuration as json\n  frenchex-config.ts get \u003ckey\u003e          get key\n  frenchex-config.ts imports            manage imports\n  frenchex-config.ts init               init Configuration\n  frenchex-config.ts set \u003ckey\u003e \u003cvalue\u003e  set key\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n\nNot enough non-option arguments: got 0, need at least 1\n```\n# Installation\n\n## As a global package\n```typescript\nnpm install -g @frenchex/config-cli\ncd ~\nfrenchex-config.ts init\n```\n\n## As a dependency\n\nYou better use the ```api``` version of this software : @frenchex/config-api\n\nhttps://github.com/french-exception/node-config-api\n\nhttps://www.npmjs.com/package/@frenchex/config-api\n\n```typescript\nnpm install --save @frenchex/config-api\n```\n\n\n# Example\n\n```bash\nenv=dev frenchex-config get \"foo.bar\" --config ./test-res/js.js --env env\nenv=dev frenchex-config set \"foo.bar\" \"my_value_%env%\" --config ./test-res/js.js --env env\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrench-exception%2Fnode-config-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrench-exception%2Fnode-config-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrench-exception%2Fnode-config-cli/lists"}