Skip to content

chore: remove trunk#20478

Merged
mdjermanovic merged 13 commits intoeslint:mainfrom
sethamus:remove-trunk
Mar 19, 2026
Merged

chore: remove trunk#20478
mdjermanovic merged 13 commits intoeslint:mainfrom
sethamus:remove-trunk

Conversation

@sethamus
Copy link
Copy Markdown
Contributor

@sethamus sethamus commented Feb 2, 2026

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[x] Other, please explain:

What changes did you make? (Give an overview)

Removed Trunk and its associated configuration, restoring direct control over linting and formatting via ESLint and Prettier.

As part of this change, I’ve also updated some markdown files to comply with the new MD059 rule introduced in [email protected]. If anyone prefers to disable the rule instead, please let me know, and I can revisit this.

Fixes #20470

Is there anything you'd like reviewers to focus on?

@sethamus sethamus requested a review from a team as a code owner February 2, 2026 06:16
@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Feb 2, 2026
@eslint-github-bot eslint-github-bot bot added the chore This change is not user-facing label Feb 2, 2026
@eslint-github-bot eslint-github-bot bot mentioned this pull request Feb 2, 2026
1 task
@netlify
Copy link
Copy Markdown

netlify bot commented Feb 2, 2026

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit c698dc9
🔍 Latest deploy log https://app.netlify.com/projects/docs-eslint/deploys/69bbfe3b4eb29a0008f875fc

@mdjermanovic mdjermanovic added the accepted There is consensus among the team that this change meets the criteria for inclusion label Feb 3, 2026
@mdjermanovic mdjermanovic moved this from Needs Triage to Implementing in Triage Feb 3, 2026
@stephenwade
Copy link
Copy Markdown
Contributor

@lumirlumir
Copy link
Copy Markdown
Member

suggestion: Revert #20304

To add more context: version pinning for the prettier package was merged in eslint/workflows#46. I think removing ignoreDeps: ["prettier"] from .github/renovate.json5 makes sense, since prettier updates will now be handled in a separate PR and can be controlled.

Copy link
Copy Markdown
Member

@aladdin-add aladdin-add left a comment

Choose a reason for hiding this comment

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

I don't think it needs to be 100% consistent with existing features. The important thing is to keep the functionality that existed before the trunk was introduced. You can refer to: #18643.

Many additional features (such as Go-based tools) don't seem worth the extra maintenance burden they would add.

@sethamus
Copy link
Copy Markdown
Contributor Author

@aladdin-add Yeah, that was my original approach, just keeping the pre-trunk functionality. I only added actionlint based on feedback from two members.

Since opinions seem split, maybe we should get a TSC decision on whether we actually want to keep it.

@mdjermanovic
Copy link
Copy Markdown
Member

I think it would be fine to just restore checks we had before introducing Trunk, plus add the Prettier check because we have since switched to Prettier for formatting in this repo. If there are more checks we'd like to add, we could discuss them later.

That said, actionlint seems useful and the way it is enabled in this PR looks fairly simple, so I'd be in favor of keeping it as well.

@eslint/eslint-tsc thoughts?

@mdjermanovic mdjermanovic added the tsc waiting Issues that require feedback from a TSC member label Feb 15, 2026
Comment on lines +17 to +28
- uses: actions/setup-go@v6
with:
go-version: "stable"
- uses: actions/setup-node@v6
with:
node-version: "lts/*"

- name: Lint GitHub Actions workflows
run: |
go install github.com/rhysd/actionlint/cmd/[email protected]
actionlint -color -shellcheck= -pyflakes=

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

For reference, this is all that enables the actionlint check.

@fasttime
Copy link
Copy Markdown
Member

I think it would be fine to just restore checks we had before introducing Trunk, plus add the Prettier check because we have since switched to Prettier for formatting in this repo. If there are more checks we'd like to add, we could discuss them later.

That said, actionlint seems useful and the way it is enabled in this PR looks fairly simple, so I'd be in favor of keeping it as well.

Sounds good 👍

@mdjermanovic mdjermanovic removed the tsc waiting Issues that require feedback from a TSC member label Mar 4, 2026
Copy link
Copy Markdown
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.

There is now a merge conflict.

## View the Tutorial Code

You can view the annotated source code for the tutorial [here](https://github.com/eslint/eslint/tree/main/docs/_examples/custom-rule-tutorial-code).
You can view the [annotated source code for the tutorial](https://github.com/eslint/eslint/tree/main/docs/_examples/custom-rule-tutorial-code).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is this because of a lint rule?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, to satisfy the MD059 rule.

package.json Outdated
"markdownlint-cli2 --fix",
"prettier --write"
],
"!({**/*.js,**/*.json,**/*.jsonc,**/*.json5,**/*.yml,**/*.yaml,docs/src/**/*.md})": "prettier --write --ignore-unknown",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
"!({**/*.js,**/*.json,**/*.jsonc,**/*.json5,**/*.yml,**/*.yaml,docs/src/**/*.md})": "prettier --write --ignore-unknown",
"!({{*.,**/*.}{js,json,jsonc,json5,yml,yaml},docs/src/**/*.md})": "prettier --write --ignore-unknown",

For some reason, patterns like *.json here match only at the root level while patterns like **/*.json here match everywhere except at the root level. I think this should do the work (exclude files for which we are already running prettier so that it doesn't run twice) but please doublecheck.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I checked the lint-staged docs and it confirms that once a pattern contains a /, it matches paths instead of using matchBase, which explains the root vs nested behavior. I also tested the updated pattern and it works as expected 👍.

Copy link
Copy Markdown
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

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

LGTM, thanks! I've verified that all review comments have been addressed.

@mdjermanovic mdjermanovic merged commit dbb4c95 into eslint:main Mar 19, 2026
41 checks passed
@github-project-automation github-project-automation bot moved this from Implementing to Complete in Triage Mar 19, 2026
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 chore This change is not user-facing contributor pool github actions

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

Change Request: Remove Trunk

8 participants