{"id":19640340,"url":"https://github.com/kentnl/dist-zilla-plugin-prereqs-recommend-matchinstalled","last_synced_at":"2026-06-08T22:31:44.745Z","repository":{"id":13661473,"uuid":"16355078","full_name":"kentnl/Dist-Zilla-Plugin-Prereqs-Recommend-MatchInstalled","owner":"kentnl","description":"Advertise versions of things you have as soft dependencies","archived":false,"fork":false,"pushed_at":"2017-03-18T06:04:14.000Z","size":189,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-09T18:56:53.835Z","etag":null,"topics":["dist-zilla","perl"],"latest_commit_sha":null,"homepage":null,"language":"Perl","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/kentnl.png","metadata":{"files":{"readme":"README.mkdn","changelog":"Changes","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":"2014-01-29T19:05:18.000Z","updated_at":"2017-03-04T00:31:12.000Z","dependencies_parsed_at":"2022-09-13T08:41:59.216Z","dependency_job_id":null,"html_url":"https://github.com/kentnl/Dist-Zilla-Plugin-Prereqs-Recommend-MatchInstalled","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FDist-Zilla-Plugin-Prereqs-Recommend-MatchInstalled","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FDist-Zilla-Plugin-Prereqs-Recommend-MatchInstalled/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FDist-Zilla-Plugin-Prereqs-Recommend-MatchInstalled/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FDist-Zilla-Plugin-Prereqs-Recommend-MatchInstalled/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kentnl","download_url":"https://codeload.github.com/kentnl/Dist-Zilla-Plugin-Prereqs-Recommend-MatchInstalled/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240947648,"owners_count":19883030,"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":["dist-zilla","perl"],"created_at":"2024-11-11T14:05:30.855Z","updated_at":"2026-06-08T22:31:44.690Z","avatar_url":"https://github.com/kentnl.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nDist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled - Advertise versions of things you have as soft dependencies\n\n# VERSION\n\nversion 0.003004\n\n# SYNOPSIS\n\n`[Prereqs::MatchInstalled]` was a good concept, but its application seemed too strong for some things.\n\nThis is a variation on the same theme, but instead of upgrading dependencies in-place,\nit propagates the upgrade to a different relation, to produce a softer dependency map.\n\nBelow shows the defaults expanded by hand.\n\n    [Prereqs::Recommend::MatchInstalled]\n    applyto_phase = configure\n    applyto_phase = runtime\n    applyto_phase = test\n    applyto_phase = build\n    applyto_phase = develop\n    source_relation = requires\n    target_relation = recommends\n\nAnd add these stanzas for example:\n\n    modules = Module::Build\n    modules = Moose\n\nAnd you have yourself a distribution that won't needlessly increase the dependencies\non either, but will add increased dependencies to the `recommends` phase.\n\nThis way, people doing\n\n    cpanm YourModule\n\nGet only what they _need_\n\nWhile\n\n    cpanm --with-recommends YourModule\n\nWill get more recent things upgraded\n\n# DESCRIPTION\n\nThe `[Prereqs::Recommend::MatchInstalled]` is a tool for authors who wish to\nkeep end users informed of which versions of critical dependencies the author\nhas themselves used, as an encouragement for the users to consume at least that\nversion, but without making it a hard requirement.\n\nIn practice this can be used for anything, but this modules author currently\nrecommends you restrict this approach only to development dependencies,\n_mostly_ because even a system of auto-recommendation is still too aggressive\nfor most modules, or if you insist this concept on `CPAN`, use something with\n\"but not larger than\" mechanics like `[Prereqs::Upgrade]`\n\n# ATTRIBUTES\n\n## `applyto_phase`\n\n    [Prereqs::Recommend::MatchInstalled]\n    applyto_phase = SOMEPHASE\n    applyto_phase = SOMEPHASE\n\nThis attribute can be specified multiple times.\n\nValuable values are:\n\n    build test runtime configure develop\n\nAnd those are the default values too.\n\n## `source_relation`\n\n    [Prereqs::Recommend::MatchInstalled]\n    source_relation = requires\n\nThis attribute specifies the prerequisites to skim for modules to recommend upgrades on.\n\nValuable values are:\n\n    requires recommends suggests\n\nLastly:\n\n    conflicts\n\nWill probably do _something_, but I have no idea if that means anything. If you want to conflict with what you've installed with, ... go right ahead.\n\n## `target_relation`\n\n    [Prereqs::Recommend::MatchInstalled]\n    target_relation = recommends\n\nThis attribute specifies the relationship type to inject upgrades into.\n\nValuable values are:\n\n    requires recommends suggests\n\nLastly:\n\n    conflicts\n\nWill probably do _something_, but I have no idea if that means anything. If you want to conflict with what you've installed\nwith, ... go right ahead.\n\n## `applyto_map`\n\n    [Prereqs::Recommend::MatchInstalled]\n    applyto_map = runtime.requires = runtime.recommends\n\nThis attribute is the advanced internals of the other attributes, and it exists for insane, advanced, and niché applications.\n\nGeneral format is:\n\n    applyto_map = \u003csource_phase\u003e.\u003csource_relation\u003e = \u003ctarget_phase\u003e.\u003ctarget_relation\u003e\n\nAnd you can probably do everything with this.\n\nYou could also conceivably emulate `[Prereqs::MatchInstalled]` in entirety by using this feature excessively.\n\n`applyto_map` may be declared multiple times.\n\n# AUTHOR\n\nKent Fredric \u003ckentnl@cpan.org\u003e\n\n# COPYRIGHT AND LICENSE\n\nThis software is copyright (c) 2017 by Kent Fredric \u003ckentfredric@gmail.com\u003e.\n\nThis is free software; you can redistribute it and/or modify it under\nthe same terms as the Perl 5 programming language system itself.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentnl%2Fdist-zilla-plugin-prereqs-recommend-matchinstalled","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkentnl%2Fdist-zilla-plugin-prereqs-recommend-matchinstalled","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentnl%2Fdist-zilla-plugin-prereqs-recommend-matchinstalled/lists"}