Skip to content
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

Reduce files in vscode remote distro #86204

Closed
taiyosogawa opened this issue Dec 3, 2019 · 6 comments
Closed

Reduce files in vscode remote distro #86204

taiyosogawa opened this issue Dec 3, 2019 · 6 comments
Assignees
Labels
engineering VS Code - Build / issue tracking / etc. feature-request Request for new features or functionality remote Remote system operations issues verification-needed Verification of issue is requested verified Verification succeeded
Milestone

Comments

@taiyosogawa
Copy link
Contributor

The vscode remote distro currently has many small files, which causes unzipping the archive to be slow. Would it be possible to pack the dependencies into fewer files?

@vscodebot
Copy link

vscodebot bot commented Dec 3, 2019

(Experimental duplicate detection)
Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

@alexdima alexdima added feature-request Request for new features or functionality remote Remote system operations issues labels Dec 4, 2019
@alexdima alexdima added this to the Backlog milestone Dec 4, 2019
@alexdima alexdima added the engineering VS Code - Build / issue tracking / etc. label Dec 4, 2019
@alexdima alexdima modified the milestones: Backlog, December 2019 Dec 4, 2019
@alexdima alexdima modified the milestones: January 2020, On Deck Jan 27, 2020
@aeschli
Copy link
Contributor

aeschli commented Oct 23, 2020

I investigated if we can use ASAR on the server as well.
https://www.npmjs.com/package/asar-node gave me the impression that this is possible.
It is done by patching fs to handle asar files like folders and by patching the code that computes the node_module lookup paths.

Turns out that what https://www.npmjs.com/package/asar-node promises doesn't work (anymore?).
The NodeJS loader uses internal API to make stat calls that can not be patched in NodeJS. See nodejs/node#33423
Electron patched the Node runtime to get access to the internal API (https://github.com/electron/electron/blob/master/lib/asar/fs-wrapper.ts)

@aeschli
Copy link
Contributor

aeschli commented Oct 23, 2020

So instead I went the traditional way of improve the filters used by the build script and filing issues against extensions that contain a lot of files (with the request to package their sources)

@aeschli aeschli self-assigned this Oct 23, 2020
@aeschli aeschli modified the milestones: On Deck, October 2020 Oct 26, 2020
@aeschli
Copy link
Contributor

aeschli commented Oct 26, 2020

files / folder 1.50.1 stable 1.51 insiders
bin 1 1
extensions 865 778
node_modules 917 436
out 24 24
total files 1813 1245
total size 113 M 105 M

@aeschli
Copy link
Contributor

aeschli commented Oct 26, 2020

1.51 insiders:
Extensions:
configuration-editing/: 7
css-language-features/: 10
debug-auto-launch/: 6
debug-server-ready/: 5
emmet/: 5
extension-editing/: 5
git-ui/: 5
git/: 35
github-authentication/: 5
github/: 5
grunt/: 7
gulp/: 7
html-language-features/: 13
image-preview/: 13
jake/: 7
json-language-features/: 10
markdown-language-features/: 14
merge-conflict/: 7
microsoft-authentication/: 7
ms-vscode.js-debug-companion/: 6
ms-vscode.js-debug/: 89
ms-vscode.node-debug/: 19
ms-vscode.node-debug2/: 354
ms-vscode.references-view/: 6
ms-vscode.vscode-js-profile-table/: 7
node_modules/: 76
npm/: 8
php-language-features/: 7
python/: 6
search-result/: 8
typescript-language-features/: 19

@aeschli aeschli closed this as completed Oct 27, 2020
@aeschli aeschli added the verification-needed Verification of issue is requested label Oct 27, 2020
@rzhao271 rzhao271 added the verification-steps-needed Steps to verify are needed for verification label Oct 27, 2020
@aeschli
Copy link
Contributor

aeschli commented Oct 28, 2020

  • open a remote window (wsl, containers or ssh)
  • in the integrated terminal find the server location with which code-insiders
  • count files with find -type f | wc -l

Verifiy that it is now around 1245 files.

image

@aeschli aeschli removed the verification-steps-needed Steps to verify are needed for verification label Oct 28, 2020
@rzhao271 rzhao271 added the verified Verification succeeded label Oct 28, 2020
@github-actions github-actions bot locked and limited conversation to collaborators Dec 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
engineering VS Code - Build / issue tracking / etc. feature-request Request for new features or functionality remote Remote system operations issues verification-needed Verification of issue is requested verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

4 participants