microsoft/vscode-vsce

CHANGELOG.md is not being included in local .vsix package

bf-software opened this issue · 2 comments

When I have a CHANGELOG.md file in the same folder as my extension's package.json , vsce package will not include it in the .vsix. vsce ls doesn't show it in the list of files either.

If I modify this line in the source:
https://github.com/microsoft/vscode-vsce/blob/0ec0e7f21f680566bfb9c8311b25ecd1f1d4f6c9/src/package.ts#L1652C2-L1652C57

from:

const notIgnored = ['!package.json', `!${readmePath}`];

to:

const notIgnored = ['!package.json', `!${readmePath}`, '!CHANGELOG.md'];

then all is well: vsce ls shows it, and vsce package includes the file in the archive as well as the correct extension.vsixmanifest xml entry.

(obviously having the .vsix include CHANGELOG.md is important because I want the "CHANGELOG" tab to appear in the marketplace on my extension's page.)

I've just tested this and it does seem to work correctly. Which vsce version are you running? You can see the latest verions here

  • Can you check if you have a .vscodeignore file in your repository and make sure it does not exclude the changelog file there.
  • If you have the files property set in your package.json file you'll need to make sure to include the path to the changelog file in that case.

Hi @benibenj,

You nailed it! It was my .vscodeignore ignoring everything, then only allowing a few items (and not the CHANGELOG.md)

Thanks!
Bill.