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

Use webpack for all big extensions #57680

Closed
7 of 9 tasks
jrieken opened this issue Aug 31, 2018 · 6 comments
Closed
7 of 9 tasks

Use webpack for all big extensions #57680

jrieken opened this issue Aug 31, 2018 · 6 comments
Assignees
Labels
debt Code quality issues engineering VS Code - Build / issue tracking / etc.

Comments

@jrieken
Copy link
Member

jrieken commented Aug 31, 2018

We can ship less and gain more. This is a simple sample that enables webpack for extensions: extension.webpack.config.js. All configs should inherit from the shared config, get in touch with me if something doesn't work.

  • it is important to name the file extension.webpack.config.js
  • try this with npx webpack --config extensions/<your-extension>/extension.webpack.config.js
  • update the .vscodeignoe file, exclude the out folder and config-file
  • run a full product build via yarn run gulp vscode-darwin etc before pushing

Extensions that should be webpack'ed:


@jrieken jrieken added debt Code quality issues engineering VS Code - Build / issue tracking / etc. labels Aug 31, 2018
@jrieken jrieken changed the title Use webpack for markdown extension Use webpack for all big extensions Aug 31, 2018
@jrieken jrieken added this to the September 2018 milestone Aug 31, 2018
@roblourens
Copy link
Member

roblourens commented Aug 31, 2018

How about the debug extensions? It's more complicated because I'd have to webpack the vscode-chrome-debug-core npm module but node-debug2 is much bigger than search-rg.

chrome-debug was webpacked a long time ago but was too hard to maintain, I think it's easier now.

@jrieken
Copy link
Member Author

jrieken commented Sep 3, 2018

sure, everything that reduces the bundles size is good

chrmarti added a commit that referenced this issue Sep 5, 2018
@chrmarti chrmarti removed their assignment Sep 5, 2018
@mjbvz mjbvz removed their assignment Sep 5, 2018
mjbvz added a commit that referenced this issue Sep 5, 2018
@egamma egamma removed their assignment Sep 14, 2018
@jrieken
Copy link
Member Author

jrieken commented Sep 19, 2018

microsoft/ApplicationInsights-node.js#426 is about making the AppInsights module (which most extension depend on via vscode-extension-telemetry) webpack friendly. Having that will reduce the bundle size drastically.

@weinand
Copy link
Contributor

weinand commented Sep 19, 2018

@jrieken how should extensions living outside of VS Code source tree "inherit from the shared config"?

@weinand weinand self-assigned this Sep 19, 2018
@jrieken
Copy link
Member Author

jrieken commented Sep 19, 2018

Yeah, that's the question. The config can be copied but more tweaks will be required because some build trickery that we do in VS Code won't be available to you.

@weinand
Copy link
Contributor

weinand commented Sep 19, 2018

Ok. I will look into that in October... Moved my first attempts to a aweinand/webpack branch

jrieken added a commit that referenced this issue Sep 19, 2018
jrieken added a commit that referenced this issue Sep 19, 2018
jrieken added a commit that referenced this issue Sep 19, 2018
jrieken added a commit that referenced this issue Sep 19, 2018
aeschli added a commit that referenced this issue Sep 19, 2018
@aeschli aeschli removed their assignment Sep 21, 2018
@jrieken jrieken closed this as completed Sep 24, 2018
@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
debt Code quality issues engineering VS Code - Build / issue tracking / etc.
Projects
None yet
Development

No branches or pull requests

7 participants