microsoft/vscode-vsce

Print packaged extension contents on package/publish

isidorn opened this issue · 5 comments

Let's be inspired by esbuild and print out what is actually being packaged.
This should be printed out both on vsce package and vsce publish. We could even have a nice ⚠ on items that are larger than some limit. Only top level files/folders can be printed.

The goal is to make it easier for extensions authors to figure out what is actually being packaged as part of their extension. So they can avoid accidentally packaging something.

Image

fyi @joaomoreno

To add to this, by default the packageCommand function inside package.ts defaults to process.cwd and it isn't documented that the user can configure this path or that it's the default behaviour.

The option is a part of the options object for the package commend here.

Yet in main.ts there is no mention of this being configurable nor is it passed down to the packageCommand function inside package.ts. So, with the change you mention, a user utilising the CLI won't know what is being packaged until after they have run the command.

It might also be worth adding that in as part of this so that a user can be doubly sure that what they are packaging is what they intended?

Addition to the idea: we should also print out which inclusion/exclusion rules were used or missing during file collection (ie .vscodeignore, files prop).

verification steps

  • Install newest @vscode/vsce version
  • Run vsce package => It should print the packaged files, it won't print all of them if there are many
  • Run vsce ls --tree => Show all files which would be added to the package

Works great, thanks a lot for this!

Image