Skip to content

Add Deno ecosystem support#14364

Merged
markhallen merged 13 commits intodependabot:mainfrom
sbs44:add-deno-ecosystem
May 6, 2026
Merged

Add Deno ecosystem support#14364
markhallen merged 13 commits intodependabot:mainfrom
sbs44:add-deno-ecosystem

Conversation

@sbs44
Copy link
Copy Markdown
Contributor

@sbs44 sbs44 commented Mar 4, 2026

What are you trying to accomplish?

Adds Deno as a new ecosystem, enabling Dependabot to update dependencies in deno.json and deno.jsonc import maps. Parses both jsr: and npm: specifiers (scoped, unscoped, versionless, and subpath) and queries jsr.io and npmjs.org registries directly for version lookups.

Gated behind enable-beta-ecosystems per NEW_ECOSYSTEMS.md.

Closes #2417

Anything you want to highlight for special attention from reviewers?

  • No lockfile regeneration yet — this PR updates version constraints in deno.json/deno.jsonc only. deno.lock regeneration (artifact updating) is planned as a follow-up.
  • JSONC supportdeno.jsonc files can contain comments and trailing commas. The parser strips these before JSON parsing.
  • Registry approach — queries jsr.io (/@scope/name/meta.json) and npmjs.org (/name) APIs directly rather than shelling out to the Deno CLI.
  • MetadataFinder returns source URLs for npm packages but not jsr packages (jsr.io doesn't expose repository metadata in its API).

How will you know you've accomplished your goal?

45 RSpec tests pass across all components (Version, Requirement, FileFetcher, FileParser, UpdateChecker, FileUpdater, MetadataFinder). Rubocop and Sorbet (typed strict) pass cleanly. Dry-run tested against real Deno projects containing scoped npm packages, versionless specifiers, and subpath imports — all dependencies detected and correct updates proposed.

Checklist

  • I have run the complete test suite to ensure all tests and linters pass.
  • I have thoroughly tested my code changes to ensure they work as expected, including adding additional tests for new functionality.
  • I have written clear and descriptive commit messages.
  • I have provided a detailed description of the changes in the pull request, including the problem it addresses, how it fixes the problem, and any relevant details about the implementation.
  • I have ensured that the code is well-documented and easy to understand.

@sbs44 sbs44 requested a review from a team as a code owner March 4, 2026 23:50
@sbs44 sbs44 force-pushed the add-deno-ecosystem branch 3 times, most recently from 75e0ae8 to 661538f Compare March 4, 2026 23:57
@Hajime-san
Copy link
Copy Markdown

I think that you could also refer to the implementation in Renovate, although it hasn't been merged yet.
Renovate also supports workspace and node-compat package.json. It does not include support for private registries via .npmrc currently.

@sbs44 sbs44 force-pushed the add-deno-ecosystem branch from 661538f to bb1cb2e Compare March 5, 2026 05:30
@robaiken robaiken self-assigned this Mar 18, 2026
@robaiken robaiken added the T: new-ecosystem Requests for new ecosystems/languages label Mar 18, 2026
@Decodetalkers
Copy link
Copy Markdown

Seems there are conflicts.. when can it be merged?

@sbs44
Copy link
Copy Markdown
Contributor Author

sbs44 commented Apr 8, 2026

@Decodetalkers I'll rebase now. Re: merge timing, that's up to the maintainers... it looks like a maintainer self-assigned this ~3 weeks ago, but I imagine they're working through an AI-infused backlog and new ecosystems are at the bottom of the pile.

@robaiken – Do you by chance have a timeline on this?

@sbs44 sbs44 force-pushed the add-deno-ecosystem branch from bb1cb2e to 86fc827 Compare April 8, 2026 04:55
@robaiken
Copy link
Copy Markdown
Contributor

robaiken commented Apr 8, 2026

@sbs44 I don't have an exact timeline to share just yet. Adding a new ecosystem requires a lot of coordination on our end, so it would be good to go over everything together. If you're interested in setting up a meeting, you can reach me at my GitHub username @github.com

@sbs44
Copy link
Copy Markdown
Contributor Author

sbs44 commented Apr 8, 2026

@robaiken Understood. Emailing now to set up a time.

Copy link
Copy Markdown
Contributor

@markhallen markhallen left a comment

Choose a reason for hiding this comment

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

Good start on adding Deno ecosystem support! I've left some inline comments on potential issues — mostly around edge cases with versionless specifiers, subpath imports, and error handling.

Comment thread deno/lib/dependabot/deno/file_updater.rb Outdated
Comment thread deno/lib/dependabot/deno/file_updater.rb Outdated
Comment thread deno/lib/dependabot/deno/metadata_finder.rb
Comment thread deno/lib/dependabot/deno/file_parser.rb Outdated
Comment thread deno/lib/dependabot/deno/file_parser.rb
Comment thread deno/lib/dependabot/deno/update_checker.rb
Comment thread deno/lib/dependabot/deno/file_parser.rb
Comment thread deno/lib/dependabot/deno.rb
Comment thread deno/spec/dependabot/deno/file_updater_spec.rb
@sbs44 sbs44 force-pushed the add-deno-ecosystem branch from 96b0f46 to 8de3cf9 Compare May 6, 2026 04:51
@sbs44 sbs44 requested a review from markhallen May 6, 2026 05:03
@markhallen markhallen merged commit b351228 into dependabot:main May 6, 2026
144 of 145 checks passed
@sbs44 sbs44 deleted the add-deno-ecosystem branch May 6, 2026 12:33
Decodetalkers added a commit to Decodetalkers/schemastore that referenced this pull request May 7, 2026
dependabot has add deno support recently, so I want to add the field for
the preparation

dependabot/dependabot-core#14364
madskristensen pushed a commit to SchemaStore/schemastore that referenced this pull request May 7, 2026
dependabot has add deno support recently, so I want to add the field for
the preparation

dependabot/dependabot-core#14364
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T: new-ecosystem Requests for new ecosystems/languages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support deno

5 participants