-
Notifications
You must be signed in to change notification settings - Fork 5.9k
fix(lib/vscode): remove symlink in npm package #3935
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
Codecov Report
@@ Coverage Diff @@
## main #3935 +/- ##
=======================================
Coverage 63.51% 63.51%
=======================================
Files 36 36
Lines 1872 1872
Branches 379 379
=======================================
Hits 1189 1189
Misses 580 580
Partials 103 103 Continue to review full report at Codecov.
|
5710b04
to
9d83659
Compare
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.
Love the writeup! I trust you :)
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.
Seems fine to me, but I don't know what I don't know w.r.t to the fork solution and testing this.
the ripgrep ext worked, but I have no way to know if some other ext breaks :(
I think @TeffenEllis mentioned once the fork solution is implemented, we won't even have to worry about this symlink issue cause it's non-existent there.
Yeah, worked for me too! I guess we'll have to release and see what happens? If something does break, we can figure it out though. And eventually, we'll be able to write more tests for specific extensions (once #3621 gets merged) |
Revert "Merge pull request #3935 from cdr/jsjoeio-rm-symlink"
This PR removes the symlink to
node_modules.asar
when packaging up fornpm
because as of recently, npm no longer allows symbolic links in packages (we also don't need it).Why are we doing this?
On Friday, August 6th, we released 3.11.1.
The npm workflow did not work as expected leading to 3.11.1 not being published on npm, Homebrew, or AUR. We did some investigation and came to the conclusion something changed on the npm side with regard to symlinks in packages.
We spoke to someone today, August 9th from GitHub who confirmed our theory.
A few of the maintainers chatted and we came to the conclusion that we can remove this symlink.
—@code-asher
This PR removes that symlink.
Why did we have this before?
If you take a look at
lib.sh
, you'll see previous maintainers left a comment explaining why we do this.You sure this won't break anything?
90% sure it shouldn't break anything because we actually remoe the symlink in the post-install and recreate it anyway so the one included in the npm package is never actually used.
There may be an edge case or two that we didn't anticipate but I (@jsjoeio) removed it, published to npm, tested locally and did not find any major issues.
How I tested locally
yarn
yarn build
yarn build:vscode
yarn release
cd release && find . -type l -ls
Then I tested the individual release:
cd release
yarn
node .
Screenshot and video
Screen.Recording.2021-08-09.at.12.18.56.PM.mov
Fixes N/A
Related:
Other notes
@jawnsy showed me this trick to find symlinked files in a directory.
find . -type l -ls
Helpful for debuggging this kind of thing.