Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 29, 2026

Deno workflows failed to download packages from JSR because jsr.io domains were absent from the network allowlist shared by the deno/node ecosystem.

  • Allowlist update: Added jsr.io and *.jsr.io to the node ecosystem domain data used by the deno runtime mapping.
  • Regression guard: Extended node ecosystem test to assert JSR domains are included.

Example:

"node": [
  "deno.land",
  "jsr.io",
  "*.jsr.io"
]
Original prompt

This section details on the original issue you should resolve

<issue_title>Add jsr.io to deno network profile allowed domains</issue_title>
<issue_description>## Problem

The deno runtime profile in the network firewall allowlist is missing jsr.io domains. JSR (JavaScript Registry) is Deno's modern package registry and is required for most contemporary Deno projects.

Current Behavior

When running agentic workflows with deno runtime and firewall enabled, Deno cannot download dependencies from JSR:

error: JSR package manifest for '@std/assert' failed to load. 
Import 'https://jsr.io/@std/assert/meta.json' failed.

The firewall returns HTTP 403 because jsr.io is not in the allowed domains.

Root Cause

In pkg/workflow/domains.go, the deno runtime maps to the "node" ecosystem:

var runtimeToEcosystem = map[string]string{
    // ...
    "deno": "node",   // deno.land is in the node ecosystem
}

The node ecosystem in pkg/workflow/data/ecosystem_domains.json includes deno.land but not jsr.io:

"node": [
  "npmjs.org",
  // ...
  "deno.land",
  // jsr.io is missing
]

Proposed Solution

Add JSR domains to the node ecosystem (since deno shares it) or create a separate deno ecosystem:

"jsr.io",
"*.jsr.io"

Testing

Tested with these Deno projects:

  • denoland/std - Deno standard library (uses @std/* from JSR)
  • oakserver/oak - Oak web framework (uses @oak/* and @std/* from JSR)

Both failed to run tests because JSR dependencies couldn't be resolved.

Related

  • JSR documentation: https://jsr.io/docs
  • JSR is the recommended registry for Deno packages as of Deno 1.x+</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: Mossaka <5447827+Mossaka@users.noreply.github.com>
Copilot AI changed the title [WIP] Add jsr.io to Deno network profile allowed domains Allow Deno firewall access to JSR registry Jan 29, 2026
Copilot AI requested a review from Mossaka January 29, 2026 00:41
@Mossaka Mossaka marked this pull request as ready for review January 29, 2026 01:16
@github-actions
Copy link
Contributor

🔍 PR Triage Results

Category: chore | Risk: low | Priority: 45/100

Scores Breakdown

  • Impact: 20/50 - Infrastructure/tooling update
  • Urgency: 15/30 - 0 days old, 0 comments
  • Quality: 10/20 - Description: good, CI: unknown

📋 Recommended Action: batch_review

Medium-priority PR suitable for batch processing

Batch: This PR is part of the firewall-config batch along with #12400. Consider reviewing both PRs together for efficient processing.


Triaged by PR Triage Agent on 2026-01-29

AI generated by PR Triage Agent

@Mossaka Mossaka merged commit f94a16e into main Jan 29, 2026
56 checks passed
@Mossaka Mossaka deleted the copilot/add-jsr-io-allowed-domains branch January 29, 2026 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add jsr.io to deno network profile allowed domains

2 participants