Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Initial Elm support #13305

Closed
flicken opened this issue Dec 29, 2021 · 1 comment
Closed

Initial Elm support #13305

flicken opened this issue Dec 29, 2021 · 1 comment

Comments

@flicken
Copy link

flicken commented Dec 29, 2021

What would you like Renovate to be able to do?

Support updating Elm dependencies in elm.json files. This should include the dependencies and test-dependencies and possibly elm-version.

If you have any ideas on how this should be implemented, please tell us here.

Based on @rarkins' outline in #8187, here is how it could be implemented.

Datasources

The datasource should be named either elm-package or elm. All libraries are hosted at https://package.elm-lang.org/. There are no digests, just version numbers / links to release tags (see Changelog below).

Although there is no official description, there is a discussion here on the API for package.elm-lang.org, which points to the underlying source code. For example, all versions of a package are available at e.g. https://package.elm-lang.org/packages/elm/core/releases.json and all versions of all packages are available here: https://package.elm-lang.org/all-packages

Versioning

Likely no additional work. Elm uses strict x.y.z semantic versioning and the release process enforces .

Manager

The elm manager would extractPackageFile() from elm.json via the dependencies/direct, dependencies/indirect, test-dependencies/direct and test-dependencies/indirect paths. The file is in JSON with no version ranges, this should hopefully be simple.

If an elm-version manager is created, it would extract from elm-version. However, this can be postponed, since there are no current public plans for a new Elm release. The latest version (0.19.1) was released in October, 2019.

The elm.json file also serves as a "lock file", so no additional artifacts need to be updated.

Changelog

Likely no additional work here. Many (most?) Elm package releases point to tags on GitHub, e.g. elm/json 1.1.3, some also have GitHub releases e.g. elm-community/json-extra 2.2.0 with release notes.

Additional resources

  • dependabot-elm already has Elm support, this code could be consulted for implementation details.
  • Elm-json reads/writes elm.json files and finds package upgrades (minor and major)
  • elm install command fetches new versions from the Elm Package repository

Is this a feature you are interested in implementing yourself?

Maybe

@flicken flicken added priority-5-triage status:requirements Full requirements are not yet known, so implementation should not be started type:feature Feature (new functionality) labels Dec 29, 2021
@HonkingGoose HonkingGoose added the new package manager New package manager support label Dec 29, 2021
@github-actions
Copy link
Contributor

Hi there,

You're requesting support for a new package manager. We need to know some basic information about this package manager first. Please copy/paste the new package manager questionnaire, and fill it out in full.

Once the questionnaire is filled out we will evaluate if adding support for this manager is something we want to do.

Good luck,

The Renovate team

@rarkins rarkins added priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others and removed priority-5-triage labels Nov 25, 2022
@rarkins rarkins removed type:feature Feature (new functionality) priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others new package manager New package manager support status:requirements Full requirements are not yet known, so implementation should not be started labels Oct 1, 2023
@renovatebot renovatebot locked and limited conversation to collaborators Oct 1, 2023
@rarkins rarkins converted this issue into discussion #24739 Oct 1, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants