-
Notifications
You must be signed in to change notification settings - Fork 520
Use --follow-symlinks
in VSCE package command and simplify build logic
#5212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: andyleejordan <2226434+andyleejordan@users.noreply.github.com>
Co-authored-by: andyleejordan <2226434+andyleejordan@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kinda close but not ready.
Hey @copilot iterate based on my review.
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)
- Triggering command:
11vvsblobprodcus336.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
1javsblobprodcus364.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
1k9vsblobprodcus379.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
1oavsblobprodcus350.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
1p7vsblobprodcus324.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
1s1vsblobprodcus386.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
2kmvsblobprodcus39.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
2zrvsblobprodcus388.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
37bvsblobprodcus311.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
37cvsblobprodcus359.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
4myvsblobprodcus32.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
4vyvsblobprodcus361.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
51yvsblobprodcus36.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
5rqvsblobprodcus385.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
7devsblobprodcus323.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
7k6vsblobprodcus337.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
80zvsblobprodcus35.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
8xbvsblobprodcus382.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
96bvsblobprodcus338.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
ajhvsblobprodcus363.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
bcnvsblobprodcus378.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
c50vsblobprodcus330.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
cflvsblobprodcus383.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
d0svsblobprodcus381.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
e7bvsblobprodcus348.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
frdvsblobprodcus327.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
gbsvsblobprodcus365.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
gervsblobprodcus329.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
h6tvsblobprodcus346.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
i1qvsblobprodcus353.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
imzvsblobprodcus368.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
jd4vsblobprodcus366.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
josvsblobprodcus372.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
jrqvsblobprodcus343.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
k0ivsblobprodcus356.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
k4kvsblobprodcus344.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
kgfvsblobprodcus314.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
kh4vsblobprodcus325.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
kijvsblobprodcus387.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
kmuvsblobprodcus389.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
kxqvsblobprodcus376.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
l49vsblobprodcus358.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
l7avsblobprodcus319.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
ljcvsblobprodcus317.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
lylvsblobprodcus31.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
m6xvsblobprodcus342.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
m8dvsblobprodcus37.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
mfjvsblobprodcus373.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
nn8vsblobprodcus340.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
o3svsblobprodcus318.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
ofvvsblobprodcus315.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
pc2vsblobprodcus360.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
pdfvsblobprodcus380.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
pe4vsblobprodcus351.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
pkvvsblobprodcus321.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
rcxvsblobprodcus328.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
s4uvsblobprodcus326.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
s8mvsblobprodcus38.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
sc4vsblobprodcus331.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
se1vsblobprodcus349.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
sqdvsblobprodcus333.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
st8vsblobprodcus339.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
tphvsblobprodcus375.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
u3hvsblobprodcus371.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
u6ovsblobprodcus377.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
ukkvsblobprodcus352.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
uy6vsblobprodcus34.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
v53vsblobprodcus320.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
vb4vsblobprodcus33.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
vwvvsblobprodcus334.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
x3yvsblobprodcus370.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
yluvsblobprodcus367.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
yttvsblobprodcus357.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
ytvvsblobprodcus310.vsblob.vsassets.io
- Triggering command:
npm install
(dns block)
- Triggering command:
If you need me to access, download, or install something from one of these locations, you can either:
- Configure Actions setup steps to set up my environment, which run before the firewall is enabled
- Add the appropriate URLs or hosts to my firewall allow list
Hey @copilot iterate based on my review again please.
...ify build logic, add assertion Co-authored-by: andyleejordan <2226434+andyleejordan@users.noreply.github.com>
Hey @copilot iterate based on my review again please.
I've addressed your review feedback in commit 9962d48:
- Removed
--follow-symlinks
from the publish command (only needed for package) - Simplified the build script to use consistent symlink logic for both Debug and Release configurations, eliminating the switch statement
- 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.
--follow-symlinks
in VSCE package command (追記ここまで)
Co-authored-by: andyleejordan <2226434+andyleejordan@users.noreply.github.com>
--follow-symlinks
in VSCE package command (削除ここまで)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A lot of patience went a little ways. As of today, Copilot is responding again and able to collaborate. Growing pains, eh?
--follow-symlinks
in VSCE package command and simplify build logic (追記ここまで)
@Copilot
Copilot
AI
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements support for the --follow-symlinks
flag in VSCE to eliminate unnecessary file copying during builds and significantly simplifies the build logic for PowerShell Editor Services (PSES) modules.
- Added
--follow-symlinks
flag to the VSCE package command to handle symbolic links natively - Unified symlink handling logic for both Debug and Release configurations
- Simplified PSES building to consistently use
Invoke-Build
and removed conditional copying logic
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
File | Description |
---|---|
package.json | Added --follow-symlinks flag to the VSCE package command |
vscode-powershell.build.ps1 | Simplified build logic by removing Debug/Release switch statement and file copying operations |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Even having opted out of the broken enterprise ruleset I still couldn't get this to merge without a bypass 🙃
Uh oh!
There was an error while loading. Please reload this page.
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:
--follow-symlinks
flag to thevsce package
command only (not publish)Build Script Simplification:
Invoke-Build
for consistencyBenefits
Before/After Comparison
Before: Build script had separate logic for Debug (symlinks + always build) and Release (copies + conditional build):
After: Unified logic with native VSCE symlink support:
This change leverages the symlink following support added to VSCE in October 2024 (microsoft/vscode-vsce@51e122a).
Fixes #5169.
💡 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.