{"id":19347617,"url":"https://github.com/wessouza/wes-cli","last_synced_at":"2025-04-23T05:32:17.483Z","repository":{"id":42511587,"uuid":"442947489","full_name":"WesSouza/wes-cli","owner":"WesSouza","description":"CLI for maintaining configuration files across different projects","archived":false,"fork":false,"pushed_at":"2023-03-05T14:26:44.000Z","size":895,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-14T06:42:25.667Z","etag":null,"topics":["cli","config","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WesSouza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-30T02:46:02.000Z","updated_at":"2024-04-14T06:42:25.668Z","dependencies_parsed_at":"2023-02-08T08:46:52.694Z","dependency_job_id":null,"html_url":"https://github.com/WesSouza/wes-cli","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesSouza%2Fwes-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesSouza%2Fwes-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesSouza%2Fwes-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesSouza%2Fwes-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WesSouza","download_url":"https://codeload.github.com/WesSouza/wes-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223909994,"owners_count":17223610,"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":["cli","config","nodejs","typescript"],"created_at":"2024-11-10T04:17:23.471Z","updated_at":"2024-11-10T04:17:24.396Z","avatar_url":"https://github.com/WesSouza.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wes-cli\n\n[![CI Tests status badge](https://github.com/WesSouza/wes-cli/actions/workflows/lint-typecheck-test-build.yml/badge.svg)](https://github.com/WesSouza/wes-cli/actions/workflows/lint-typecheck-test-build.yml?query=branch%3Amain) [![npm version](https://badge.fury.io/js/wes-cli.svg)](https://www.npmjs.com/package/wes-cli)\n\nCollection of CLI commands that make my life easier, such as maintaining\nconfiguration files across different projects. It might help you too!\n\n## Commands\n\n### `wes install`\n\nReads `wes-config.json` file in the current directory and installs files related\nto all dependencies. All files are added to the `.gitignore` file because they\nare generated and copied from the package itself.\n\nAll configurations are merged with each other, allowing multiple packages to\nchange the same configuration depending on their need. The current logic is\nextremely simplistic (plain text files are appended, JSON files are deeply\nmerged, yarn.lock files are regenerated). Files which can't be merged can be\nused, but only one version should exist, as another will generate a conflict.\n\nLocal overrides to configured files should be added to `.wes-defaults/local`,\nwhich will be merged last to take precedence for potential overrides.\n\nThis project is built using itself, so you can peek at\n[wes-config.json](./wes-config.json) and\n[.wes-defaults/local](./.wes-defaults/local) to get a sense of usage.\n\nYou can see a list of dependencies as folders on [modules](./modules).\n\n## Configuration\n\n### wes-config.json\n\nSupported properties:\n\n* All versions:\n  * `version: number`: Configuration version (latest is `2`)\n  * `dependencies: string[]`: List of modules to import configurations files\n    from. See [modules](./modules) for all supported dependencies.\n* Version \u003e 2:\n  * `localOverrides?: string[]`: List of file paths from `.wes-defaults/local`\n    that should be kept as is, not merging with any module's version. Paths\n    shouldn't include a leading /.\n\n## License\n\nMIT, https://wes.dev/LICENSE.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwessouza%2Fwes-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwessouza%2Fwes-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwessouza%2Fwes-cli/lists"}