Skip to content

Conversation

Hajime-san
Copy link
Contributor

@Hajime-san Hajime-san commented Sep 4, 2025

Changes

Closes #6237

needs #37881

This PR adds deno manager.
Additionally, deno manager also supports package.json for their node-compat.

The Deno CLI itself supports private registries that are compatible with npm registries by reading .npmrc.
However, this PR does not implement such support due to I was concerned that the PR would become too large, which is possible by referencing the code of existing npm managers.
I think that the current implementation covers most use cases, and that it will be sufficient to add support for private npm registries later, while addressing any issues that arise in real-world repositories after this PR is shipped.

I will add Deno to Containerbase later.

Context

Please select one of the below:

  • This closes an existing Issue: Support deno #6237
  • This doesn't close an Issue, but I accept the risk that this PR may be closed if maintainers disagree with its opening or implementation

AI assistance disclosure

Did you use AI tools to create any part of this pull request?

Please select one option and, if yes, briefly describe how AI was used (e.g., code, tests, docs) and which tool(s) you used.

  • No — I did not use AI for this contribution.
  • Yes — minimal assistance (e.g., IDE autocomplete, small code completions, grammar fixes).
  • Yes — substantive assistance (AI generated non‑trivial portions of code, tests, or documentation).
  • Yes — other (please describe):

I received assistance from AI in various aspects of submitting this PR.
I found it particularly useful in being able to write complex regular expressions and what to do with markdown links in mkdoc.
It also provided advice and code generation on performance optimization, mainly after the code I wrote had passed unit tests.
Therefore, I think of it mainly as acting as a rubber duck and support for the code I wrote.

On the other hand, Renovate's code is quite complex, and I found it difficult to build features from scratch because it would be difficult to reduce the context size.

The tools I used were GitHub Copilot Agent, DeepWiki, and Google Gemini, and the models were Claude Sonnet4 and Gemini 2.5 Pro.

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • No documentation update is required

How I've tested my work (please select one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added/modified unit tests, or
  • No unit tests but ran on a real repository, or
  • Both unit tests + ran on a real repository

The public repository: https://github.com/Hajime-san/renovate-test3

Base branch is: main
Base branch ref for this PR is: c3a9360
❌ Error: Snapshots have been added in this PR. Use toMatch instead.
Base branch is: main
Base branch ref for this PR is: c3a9360
✅ Snapshot code check passed.
Added files in '__fixtures__':
lib/modules/manager/deno/__fixtures__/.gitignore
lib/modules/manager/deno/__fixtures__/npm-compat-workspace/deno.lock
lib/modules/manager/deno/__fixtures__/npm-compat-workspace/package.json
lib/modules/manager/deno/__fixtures__/npm-compat-workspace/sub/package.json
lib/modules/manager/deno/__fixtures__/workspace-01/deno.json
lib/modules/manager/deno/__fixtures__/workspace-01/deno.lock
lib/modules/manager/deno/__fixtures__/workspace-01/docs/deno.json
lib/modules/manager/deno/__fixtures__/workspace-01/docs/deno.lock
lib/modules/manager/deno/__fixtures__/workspace-01/packages/pkg1/deno.jsonc
lib/modules/manager/deno/__fixtures__/workspace-01/packages/pkg1/deno.lock
lib/modules/manager/deno/__fixtures__/workspace-02/deno.json
lib/modules/manager/deno/__fixtures__/workspace-02/deno.lock
lib/modules/manager/deno/__fixtures__/workspace-02/docs/deno.json
lib/modules/manager/deno/__fixtures__/workspace-02/import_map.json
lib/modules/manager/deno/__fixtures__/workspace-03/deno.json
lib/modules/manager/deno/__fixtures__/workspace-03/deno.lock
lib/modules/manager/deno/__fixtures__/workspace-03/node/package.json
Total number of added files in '__fixtures__': 17
Deleted files in '__fixtures__':

Total number of deleted files in '__fixtures__': 0

Updated total number of added files in '__fixtures__': 17
Updated total number of deleted files in '__fixtures__': 0
❌ Error: More files have been added to '__fixtures__' directories than deleted.
Error: Process completed with exit code 1.
@zharinov zharinov self-requested a review September 6, 2025 16:49
Copy link
Collaborator

@zharinov zharinov left a comment

Choose a reason for hiding this comment

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

Thanks for your contribution. Let's have JSR datasource and Deno manager as separate PRs.

@Hajime-san
Copy link
Contributor Author

@zharinov
Thank you.
I'm going to revert the JSR datasource commits from this PR and put them into a new one.
This PR can continue as the Deno datasource.

@Hajime-san Hajime-san changed the title feat: Deno manager and JSR datasource support feat(managers): add Deno manager support Sep 8, 2025
@Hajime-san Hajime-san mentioned this pull request Sep 8, 2025
12 tasks
@viceice viceice added the auto:no-merge-from-main Advise contributors not to merge from main unnecessarily label Sep 12, 2025
Copy link
Contributor

Hi there,

Please don't merge from main into your PR's branch unless you have a merge conflict or have a specific reason to do so. Doing so consumes CI systems unnecessarily, and also resets CI approvals if this is your first PR to the repo. This repo uses GitHub's Merge Queue, which will automatically test your PR against main before merging, so it's no longer necessary to always keep branches up-to-date.

Thanks,

The Renovate team

Copy link
Collaborator

@zharinov zharinov left a comment

Choose a reason for hiding this comment

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

Please implement schema.ts without resorting to vibe-coding

@Hajime-san Hajime-san requested a review from zharinov September 20, 2025 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto:no-merge-from-main Advise contributors not to merge from main unnecessarily
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support deno
3 participants