vscode-powershell icon indicating copy to clipboard operation
vscode-powershell copied to clipboard

Build: Use --follow-symlinks in VSCE

Open Copilot opened this issue 6 months ago • 3 comments

This PR implements support for the new --follow-symlinks flag in VSCE to eliminate the unnecessary copying of PowerShell Editor Services (PSES) modules during builds, as requested in #5169.

What Changed

Package.json Scripts:

  • Added --follow-symlinks flag to both vsce package and vsce publish commands
  • This allows VSCE to handle symbolic links natively instead of requiring file copies

Build Script Simplification:

  • Removed complex symlink-to-copy conversion logic from the Package task (eliminated 8 lines)
  • Modified Release configuration to use symlinks consistently with Debug mode
  • Removed the "dumb task of copying PSES to vscode for a build" as mentioned in the issue
  • Added explanatory comments about the new VSCE symlink support

Benefits

  • Faster builds - No more file copying during packaging
  • Simplified logic - Consistent symlink handling between Debug and Release modes
  • Reduced complexity - Net reduction of 10+ lines of build script code
  • Better maintainability - VSCE now handles symlinks natively

Before/After Comparison

Before: Build script would detect symlinks and convert them to copies before packaging:

if ((Get-Item ./modules -ErrorAction SilentlyContinue).LinkType -eq "SymbolicLink") {
    Write-Build DarkRed "PSES is a symbolic link, replacing with copy!"
    Remove-BuildItem ./modules
    Copy-Item -Recurse -Force "$(Split-Path (Get-EditorServicesPath))/module" ./modules
}

After: VSCE handles symlinks directly with --follow-symlinks flag:

"package": "vsce package --out out/ --no-gitHubIssueLinking --follow-symlinks"

This change leverages the symlink following support added to VSCE in October 2024 (microsoft/vscode-vsce@51e122a).

Fixes #5169.

[!WARNING]

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0t3vsblobprodcus362.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 11vvsblobprodcus336.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 1javsblobprodcus364.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 1k9vsblobprodcus379.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 1oavsblobprodcus350.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 1p7vsblobprodcus324.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 1s1vsblobprodcus386.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 2kmvsblobprodcus39.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 2zrvsblobprodcus388.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 37bvsblobprodcus311.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 37cvsblobprodcus359.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 4m6vsblobprodcus384.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • 4myvsblobprodcus32.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 4vyvsblobprodcus361.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 4zjvsblobprodcus390.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • 51yvsblobprodcus36.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 5dkvsblobprodcus355.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • 5rqvsblobprodcus385.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 6s7vsblobprodcus313.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • 7devsblobprodcus323.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 7k6vsblobprodcus337.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 7tjvsblobprodcus341.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • 80zvsblobprodcus35.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 8xbvsblobprodcus382.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • 96bvsblobprodcus338.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • ajhvsblobprodcus363.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • bcnvsblobprodcus378.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • c50vsblobprodcus330.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • c78vsblobprodcus322.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • cflvsblobprodcus383.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)
    • Triggering command: npm ci (dns block)
  • ckzvsblobprodcus347.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • d0svsblobprodcus381.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • dlbvsblobprodcus316.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • e7bvsblobprodcus348.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • fdpvsblobprodcus345.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • frdvsblobprodcus327.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • gbsvsblobprodcus365.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • gervsblobprodcus329.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • h6tvsblobprodcus346.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • i1qvsblobprodcus353.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • ibzvsblobprodcus369.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • imzvsblobprodcus368.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • jd4vsblobprodcus366.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • josvsblobprodcus372.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • jrqvsblobprodcus343.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • k0ivsblobprodcus356.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • k4kvsblobprodcus344.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • kgfvsblobprodcus314.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • kh4vsblobprodcus325.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • kijvsblobprodcus387.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • kmuvsblobprodcus389.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • kxqvsblobprodcus376.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • l49vsblobprodcus358.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • l7avsblobprodcus319.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • ljcvsblobprodcus317.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • lylvsblobprodcus31.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • m16vsblobprodcus374.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • m6xvsblobprodcus342.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • m8dvsblobprodcus37.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • mfjvsblobprodcus373.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • n3kvsblobprodcus335.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • nn8vsblobprodcus340.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • o3svsblobprodcus318.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • ofvvsblobprodcus315.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • p2ovsblobprodcus312.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • pc2vsblobprodcus360.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • pdfvsblobprodcus380.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • pe3vsblobprodcus354.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • pe4vsblobprodcus351.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • pkvvsblobprodcus321.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • rcxvsblobprodcus328.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • s4uvsblobprodcus326.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • s8mvsblobprodcus38.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)
    • Triggering command: npm ci (dns block)
  • sc4vsblobprodcus331.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • se1vsblobprodcus349.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • sqdvsblobprodcus333.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • st8vsblobprodcus339.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • tphvsblobprodcus375.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • u3hvsblobprodcus371.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • u6ovsblobprodcus377.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • ukkvsblobprodcus352.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • uy6vsblobprodcus34.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • v53vsblobprodcus320.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • vb4vsblobprodcus33.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • vwvvsblobprodcus334.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • x3yvsblobprodcus370.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • xupvsblobprodcus332.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
  • yluvsblobprodcus367.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • yttvsblobprodcus357.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)
  • ytvvsblobprodcus310.vsblob.vsassets.io
    • Triggering command: npm ci (dns block)
    • Triggering command: npm ci (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💡 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.

Copilot avatar Jun 11 '25 19:06 Copilot

Hey @copilot iterate based on my review.

andyleejordan avatar Jun 11 '25 20:06 andyleejordan

Hey @copilot iterate based on my review.

I don't have access to the specific review comments. Could you please provide details on what aspects you'd like me to iterate on? The current implementation adds --follow-symlinks to both package and publish commands and simplifies the build logic to use symlinks consistently.

[!WARNING]

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0t3vsblobprodcus362.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 11vvsblobprodcus336.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 1javsblobprodcus364.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 1k9vsblobprodcus379.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 1oavsblobprodcus350.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 1p7vsblobprodcus324.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 1s1vsblobprodcus386.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 2kmvsblobprodcus39.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 2zrvsblobprodcus388.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 37bvsblobprodcus311.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 37cvsblobprodcus359.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 4myvsblobprodcus32.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 4vyvsblobprodcus361.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 51yvsblobprodcus36.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 5rqvsblobprodcus385.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 7devsblobprodcus323.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 7k6vsblobprodcus337.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 80zvsblobprodcus35.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 8xbvsblobprodcus382.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • 96bvsblobprodcus338.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • ajhvsblobprodcus363.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • bcnvsblobprodcus378.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • c50vsblobprodcus330.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • cflvsblobprodcus383.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • d0svsblobprodcus381.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • e7bvsblobprodcus348.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • frdvsblobprodcus327.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • gbsvsblobprodcus365.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • gervsblobprodcus329.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • h6tvsblobprodcus346.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • i1qvsblobprodcus353.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • imzvsblobprodcus368.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • jd4vsblobprodcus366.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • josvsblobprodcus372.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • jrqvsblobprodcus343.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • k0ivsblobprodcus356.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • k4kvsblobprodcus344.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • kgfvsblobprodcus314.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • kh4vsblobprodcus325.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • kijvsblobprodcus387.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • kmuvsblobprodcus389.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • kxqvsblobprodcus376.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • l49vsblobprodcus358.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • l7avsblobprodcus319.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • ljcvsblobprodcus317.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • lylvsblobprodcus31.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • m6xvsblobprodcus342.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • m8dvsblobprodcus37.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • mfjvsblobprodcus373.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • nn8vsblobprodcus340.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • o3svsblobprodcus318.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • ofvvsblobprodcus315.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • pc2vsblobprodcus360.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • pdfvsblobprodcus380.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • pe4vsblobprodcus351.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • pkvvsblobprodcus321.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • rcxvsblobprodcus328.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • s4uvsblobprodcus326.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • s8mvsblobprodcus38.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • sc4vsblobprodcus331.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • se1vsblobprodcus349.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • sqdvsblobprodcus333.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • st8vsblobprodcus339.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • tphvsblobprodcus375.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • u3hvsblobprodcus371.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • u6ovsblobprodcus377.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • ukkvsblobprodcus352.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • uy6vsblobprodcus34.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • v53vsblobprodcus320.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • vb4vsblobprodcus33.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • vwvvsblobprodcus334.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • x3yvsblobprodcus370.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • yluvsblobprodcus367.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • yttvsblobprodcus357.vsblob.vsassets.io
    • Triggering command: npm install (dns block)
  • ytvvsblobprodcus310.vsblob.vsassets.io
    • Triggering command: npm install (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot avatar Jun 11 '25 20:06 Copilot

Hey @copilot iterate based on my review again please.

andyleejordan avatar Sep 04 '25 20:09 andyleejordan

Hey @copilot iterate based on my review again please.

I've addressed your review feedback in commit 9962d48:

  1. Removed --follow-symlinks from the publish command (only needed for package)
  2. Simplified the build script to use consistent symlink logic for both Debug and Release configurations, eliminating the switch statement
  3. Replaced the orphaned comment with an assertion that checks PowerShell Editor Services is built under modules

The changes reduce the build script by 17 lines while maintaining the same functionality with better assertions.

Copilot avatar Sep 04 '25 20:09 Copilot

Even having opted out of the broken enterprise ruleset I still couldn't get this to merge without a bypass 🙃

andyleejordan avatar Sep 04 '25 22:09 andyleejordan