Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] Updaters for non-node files #33

Open
TimothyJones opened this issue Jun 25, 2022 · 7 comments
Open

[RFC] Updaters for non-node files #33

TimothyJones opened this issue Jun 25, 2022 · 7 comments

Comments

@TimothyJones
Copy link
Member

TimothyJones commented Jun 25, 2022

When reviewing PRs from the upstream repo, I saw several PRs that added extra updaters:

Should this project accept them? They're all in line with this fork's north star, but there are good arguments both ways for adding new updater types (this PR in particular has good discussion)

I think the point that we don't want to maintain hundreds of different file types is strong, but also there are practically only a handful of file types for the popular ecosystems. I think it would be a substantial improvement to support the popular ones out-of-the-box, without need for plugins.

I'd like to bring in support for common languages and ecosystems. Here's a proposal for the guidelines to follow when bringing in a new updater:

We can add an updater to this project provided:

  • It is for a popular ecosystem/language/framework that the average developer is at least aware of
  • It does not add a requirement to have a package.json (npx commit-and-tag-version should work with no package.json or other additional files beyond config)
  • The updater can be expected to work on generally on that particular file type - I don't want to accept "here's a regex that happens to work for my project" if we can't expect it to work for all projects
  • The updater does not add dependencies that might cause problems for users who aren't using that updater. There might be situations where it's appropriate to call out to tools that belong to a particular ecosystem (eg maven) - I think that's ok, as long as:
    • It doesn't require those tools to be present if you're not using that updater
    • When using that updater and the tool isn't present, failure is graceful

Thoughts?

@dwmkerr
Copy link

dwmkerr commented Jun 27, 2022

Thanks for pulling this together @TimothyJones - I'll make sure that the thread here (conventional-changelog#591) moves over to this discussion.

@UnleashSpirit
Copy link

Hi,
I would love to do the PR for YAML support but I'm stuck.
As I already forked standard-version, it's seems that GitHub prevent me to fork this repo. We use my repo actually cause it have maven & yaml support so I can't destroy it.
Any advices to do/move the PR to this repo ?

@TimothyJones
Copy link
Member Author

If they’re both forks, you should be able to pull the master from this (probably without tags) to a branch on your repo

Alternatively, depending on your fork’s state, you might be able to PR directly- although if you’ve been releasing, that might not work

@TimothyJones
Copy link
Member Author

Gradle support now released in 10.1.0, thanks to @bnas in #34

@yahehe
Copy link

yahehe commented Aug 24, 2022

This all seems reasonable to me. I hope to get to my original Python changes soon

@samarpanB
Copy link

Thanks for pulling this together @TimothyJones - I'll make sure that the thread here (conventional-changelog#591) moves over to this discussion.

@dwmkerr Any chance of moving maven support here ?

@paul-barton
Copy link

Thanks for pulling this together @TimothyJones - I'll make sure that the thread here (conventional-changelog#591) moves over to this discussion.

@dwmkerr Any chance of moving maven support here ?

@samarpanB and @dwmkerr I have added a pr for Maven pom.xml file support in #109

TimothyJones pushed a commit that referenced this issue Jan 15, 2024
* feat: added maven support

* fix: correct updater for pom.xml files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants