Skip to content

chore(deps): update commitlint to v21 - #4900

Merged
TomOnTime merged 1 commit into
DNSControl:mainfrom
cafferata:chore/commitlint-v21
Sep 19, 2026
Merged

TomOnTime merged 1 commit into
DNSControl:mainfrom
cafferata:chore/commitlint-v21

Conversation

@cafferata

@cafferata cafferata commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

npm install warns that git-raw-commits@4.0.0 is deprecated and no longer maintained. It comes in through @commitlint/read from @commitlint/cli 19, which the PR: Commitlint check from #4873 installs on every pull request. Commitlint 21 replaced it with @conventional-changelog/git-client, so this bumps @commitlint/cli and @commitlint/config-conventional to ^21.2.2.

The package-lock.json changes stay within the commitlint dependency tree. prettier and @umbrelladocs/linkspector are untouched, and npm install no longer prints the warning. Commitlint 21 requires Node >=22.12.0, and the workflow already uses node-version: latest.

It also adds "name": "dnscontrol" to package.json. Without it, npm install writes the name of the checkout directory into package-lock.json, so running it from a worktree or a clone with a different directory name changes the lockfile.

I ran the same titles through commitlint.config.js with version 19 and 21 and got the same results:

  • Pass: fix(p/ROUTE53): correct TTL rounding, feat(p/BIND)!: drop something, chore(deps): update dependencies, BREAKING CHANGE: drop v3 and docs: add requested provider Sav.com (#3633).
  • Fail: fix(p/ROUTE53): Fix TTL, DOCS: Fixed table and fix(bad scope): x.

The ^19.6.1 range came in with #4873; I found no discussion about staying on 19, but let me know if there was a reason.

This went unnoticed because .github/dependabot.yml covers GitHub Actions, Go modules and Docker, but not npm. A suggestion, not part of this pull request: add an npm entry in the same style as gomod. That would also propose updates for prettier, which is pinned to 3.9.5, and @umbrelladocs/linkspector, so it may need an ignore for prettier. Happy to open that separately if you want it.

  # Maintain dependencies for npm
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "monthly"
    cooldown:
      default-days: 7

AI-attributie

Assisted-by: Claude Code:claude-opus-5

- Bump `@commitlint/cli` and `@commitlint/config-conventional` to `^21.2.2` in `package.json` and `package-lock.json`, replacing the deprecated `git-raw-commits` with `@conventional-changelog/git-client`.
- Add `"name": "dnscontrol"` to `package.json`, so `npm install` no longer derives the name in `package-lock.json` from the checkout directory.
@TomOnTime

Copy link
Copy Markdown
Collaborator

@cafferata Yes, please open a PR to add npm to .github/dependabot.yml

@TomOnTime
TomOnTime merged commit e3e1a9b into DNSControl:main Sep 19, 2026
12 checks passed
@cafferata
cafferata deleted the chore/commitlint-v21 branch September 19, 2026 13:02
TomOnTime added a commit that referenced this pull request Sep 19, 2026
Follow-up to #4900. While updating commitlint there, I noticed that the
deprecated `git-raw-commits` dependency went unnoticed because
`.github/dependabot.yml` covers GitHub Actions, Go modules and Docker,
but not npm. As agreed in
#4900 (comment),
this adds npm.

This GitHub pull request adds an `npm` entry for the root
`package.json`, in the same style as the `gomod` and `docker` entries: a
monthly schedule with a 7-day cooldown. Dependabot will then also
propose updates for `prettier`, which is pinned to `3.9.5`, and
`@umbrelladocs/linkspector`. If `prettier` should stay pinned, an
`ignore` for it can be added here.

## AI-attributie

Assisted-by: Claude Code:claude-opus-5

---------

Co-authored-by: Tom Limoncelli <tal@whatexit.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants