Skip to content

Conversation

aladdin-add
Copy link
Member

@aladdin-add aladdin-add commented Jun 30, 2025

  • base.json5 is applicable to all projects.
  • eslint-base.json5 extends base.json5 and adds ESLint related configurations.

fixes: #13

@aladdin-add aladdin-add marked this pull request as ready for review July 1, 2025 15:01
@lumirlumir lumirlumir added this to Triage Jul 1, 2025
@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Jul 1, 2025
@lumirlumir lumirlumir added the accepted There is consensus among the team that this change meets the criteria for inclusion label Jul 1, 2025
@nzakas
Copy link
Member

nzakas commented Jul 2, 2025

Given that there's nothing in the repo yet, maybe we should wait before activating Renovate for this repo? We don't really know what we need to update yet.

@nzakas nzakas moved this from Needs Triage to Triaging in Triage Jul 2, 2025
@aladdin-add
Copy link
Member Author

Based on my understanding, renovate should be activated to repositories using this configuration file (e.g. eslint/eslint, which has been enabled), rather than this repository itself. For easier maintenance, we could enable it across the entire eslint org. Alternatively, we might choose to enable it selectively only for repositories that actually require it.

@nzakas
Copy link
Member

nzakas commented Jul 2, 2025

Yes, this is how renovate is setup for repositories, but as I said, this repository doesn't have any dependencies. It doesn't make sense to set up renovate until we know what we want it to update. There's no way to know that right now.

@aladdin-add
Copy link
Member Author

It's not clear to me. the file is just mean to be used by other repos, as you can see here: eslint/eslint#19907

@nzakas
Copy link
Member

nzakas commented Jul 3, 2025

Oh I see, you're intending to share this configuration across repos. I think we should hold off on this for now because I'm not sure what we'd consider common for all the repos.

@aladdin-add aladdin-add moved this from Triaging to Implementing in Triage Jul 9, 2025
@lumirlumir
Copy link
Member

lumirlumir commented Jul 10, 2025

Oh I see, you're intending to share this configuration across repos. I think we should hold off on this for now because I'm not sure what we'd consider common for all the repos.

I think starting with common GitHub Actions workflows or Renovate config setups would be a good approach for this repository.

When reviewing some of the issues I suggested earlier (such as the ones below), these workflows and logics seem to be commonly used across ESLint repositories:


On a related note, there are currently three repositories that serve to maintain centralized workflows or templates:

  1. https://github.com/eslint/.github
  2. https://github.com/eslint/eslint-github-bot
  3. https://github.com/eslint/workflows

Clarifying the scope of these repositories and consolidating common logic into these three centralized repositories could help make maintaining the ESLint project easier.

(Just as a personal opinion, I think clarifying the scope is important. For example, eslint-github-bot could potentially take on some of the responsibilities of the workflows repository, since it is capable of handling tasks similar to what GitHub Actions can do.)


Also, I think enabling Renovate or Dependabot across repositories would be helpful, since it would automate updates and allow us to quickly catch any potential incompatibilities with new versions.

@nzakas
Copy link
Member

nzakas commented Jul 10, 2025

I think starting with common GitHub Actions workflows or Renovate config setups would be a good approach for this repository.

I agree. What I'm saying is that we haven't decided on what common Renovate settings we want across repos, so I think it would be better to open an issue to discuss that before making a pull request.

Similarly, I think we should look across repos to see what are the most common GitHub action workflows we have and start by adding those to this repo before we look at creating things that don't necessarily exist already.

@lumirlumir
Copy link
Member

Ah, I got it! 😄

I've been interested in this topic for a while, so I'll go ahead and open an issue about it first.

@lumirlumir
Copy link
Member

I've finished writing an issue here: #4

@lumirlumir
Copy link
Member

Hi, @aladdin-add 😄

There has been some progress on this issue, along with discussions about how the team would like to move forward:

#4 (comment)

I think we're ready to proceed with this PR. If you have a chance, it would be great if you could take a look.

@nzakas
Copy link
Member

nzakas commented Aug 4, 2025

I'd like to see a concrete proposal for what settings make sense for all repos.

@lumirlumir
Copy link
Member

If @aladdin-add doesn’t have time, and if he’s okay with it, I’d be happy to take a look after the add-to-triage and stale workflows have been adopted.

@aladdin-add
Copy link
Member Author

I'm sorry, I've been recovering from an illness recently and have very limited time to devote to open-source projects. But I'll try to get this done within 1-2 weeks. If you have time to help, I'd be happy to have your assistance.

1. base.json5 is applicable to all projects
2. eslint-base.json5 extends base.json5 and adds ESLint related configurations
description: "Update ESLint packages together.",
groupName: "eslint",
matchPackagePrefixes: ["@eslint/"],
matchPackageNames: ["espree", "eslint-scope", "eslint-visitor-keys"],
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not adding eslint, eslint-config-eslint - they usually belong to dev-dependencies.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pushed a new commit to group eslint & eslint-config-eslint: 360397d

@@ -0,0 +1,19 @@
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: ["github>eslint/workflows//.github/renovate/base.json5"],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we just use a local file path instead?

Suggested change
extends: ["github>eslint/workflows//.github/renovate/base.json5"],
extends: ["base.json5"],

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure if it can work as expected - it may be seen as built-in preset. I will change it to ./base.json5 to see if it's working.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, I've also looked at the official documentation, but it seems there's no way to use a local path directly. 🤔

https://docs.renovatebot.com/config-presets/#github

lumirlumir
lumirlumir previously approved these changes Aug 30, 2025
Copy link
Member

@lumirlumir lumirlumir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! This looks good to me on my end. 👍

Would like @nzakas to verify before merging.


Small suggestion: if possible, could we add a final newline to each file? Since EditorConfig is set up to enforce a final newline, it would be nice to include them.

insert_final_newline = true

@@ -0,0 +1,19 @@
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: ["github>eslint/workflows//.github/renovate/base.json5"],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, I've also looked at the official documentation, but it seems there's no way to use a local path directly. 🤔

https://docs.renovatebot.com/config-presets/#github

Copy link
Member

@lumirlumir lumirlumir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approving.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion feature
Projects
Status: Implementing
Development

Successfully merging this pull request may close these issues.

Reusable renovate config
3 participants