{"id":18862808,"url":"https://github.com/eik-lib/renovate-presets","last_synced_at":"2026-01-27T16:32:04.861Z","repository":{"id":43341361,"uuid":"454415452","full_name":"eik-lib/renovate-presets","owner":"eik-lib","description":"Renovate bot presets","archived":false,"fork":false,"pushed_at":"2024-08-23T07:08:18.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-30T12:49:23.732Z","etag":null,"topics":["eik"],"latest_commit_sha":null,"homepage":"https://eik.dev","language":null,"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/eik-lib.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-01T14:18:26.000Z","updated_at":"2024-08-23T07:08:20.000Z","dependencies_parsed_at":"2024-11-08T04:36:15.966Z","dependency_job_id":"0a9c4bb8-91ff-40cb-95d8-8d3eb10e46cf","html_url":"https://github.com/eik-lib/renovate-presets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eik-lib/renovate-presets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eik-lib%2Frenovate-presets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eik-lib%2Frenovate-presets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eik-lib%2Frenovate-presets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eik-lib%2Frenovate-presets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eik-lib","download_url":"https://codeload.github.com/eik-lib/renovate-presets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eik-lib%2Frenovate-presets/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28816563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T12:25:15.069Z","status":"ssl_error","status_checked_at":"2026-01-27T12:25:05.297Z","response_time":168,"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":["eik"],"created_at":"2024-11-08T04:35:48.646Z","updated_at":"2026-01-27T16:32:04.839Z","avatar_url":"https://github.com/eik-lib.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Renovate bot presets\n\nThis repo contain a set of [Renovate Bot](https://www.whitesourcesoftware.com/free-developer-tools/renovate/) presets that modules in this organization can depend on.\n\nThe purpose of these presets is to be able to optimize the process of keeping dependencies up to date accross all modules in this organization while minimizing the amount of releases of each module in this organization caused by automatically bumping dependencies.\n\nAs an example lets say we have a set of modules using Renovate Bot and Semantic Release structured like so:\n\n```sh\n|-- @eik/module-a\n|   |-- 3rd-party-dependency\n|   |-- @eik/module-b\n|   |   |-- 3rd-party-dependency\n```\n\n`@eik/module-a` and `@eik/module-b` depend on the same `3rd-party-dependency`.\n\n`@eik/module-a` is a public facing module that other modules can use as a dependency. `@eik/module-b` is __not__ a public facing module. Rather, it's an internal module which contains code that is only of interest to other modules within our organisation and it should never be used as a dependency by external modules.\n\nIf we were to use the default configuration from Renovate Bot the following would happen when we have Semantic Release in our setup and there is a new version of the `3rd-party-dependency`: `@eik/module-a` would get a PR with an update of the `3rd-party-dependency` and when merged a new release of `@eik/module-a` would be cut. Meanwhile `@eik/module-b` would also get a PR with an update of the `3rd-party-dependency` and when merged a new release of `@eik/module-b` would also be cut. \n\nThis release of `@eik/module-b` would again create a new PR in `@eik/module-a` and cause a new release of `@eik/module-a` when merged. \n\nIn other words; Due to both `@eik/module-a` and `@eik/module-b` depending on `3rd-party-dependency` an update of `3rd-party-dependency` will cause two releases of `@eik/module-a` which is not optimal.\n\n## Module categorisation\n\nTo deal with problems such as that described in the introduction above we separate modules into two categories, top level modules and sub modules, where each category has slightly different groupings and dependency strategies.\n\nIn short; sub modules receive and merge dependencies as they arrive. Top level modules receive and merge dependencies on a less frequent schedule. This more or less removes the problem outlined above.\n\n### Top level modules\n\nTop level modules are publicly facing modules. These are modules that other external modules and projects will use as a dependency. \n\nTop level modules have their dependencies updated once a week.\n\nTo use the preset for top level modules within another module, add the following config to `renovate.json`:\n\n```json\n{\n  \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n  \"extends\": [\n    \"github\u003eeik-lib/renovate-presets:top-level-module\"\n  ]\n}\n```\n\n### Sub modules\n\nSub modules are __not__ publicly facing. These are internal modules which contain code only of interest to top level modules and should never be used by external projects and modules as dependencies.\n\nSub modules have their dependencies updated as they are published.\n\nTo use the preset for sub modules within another module, add the following config to `renovate.json`:\n\n```json\n{\n  \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n  \"extends\": [\n    \"github\u003eeik-lib/renovate-presets:sub-level-module\"\n  ]\n}\n```\n\n## Dev dependencies\n\nDev dependencies are updated once a month. Both top level and sub modules have the same dev dependency preset.\n\n## License\n\nSee license file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feik-lib%2Frenovate-presets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feik-lib%2Frenovate-presets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feik-lib%2Frenovate-presets/lists"}