Description
- I'd be willing to implement this feature (contributing guide)
- This feature is important to have in this repository; a contrib plugin wouldn't do
Describe the user story
Currently yarn npm publish
and yarn pack
do always include changelog.*
files and do not allow to ignore them.
The problem is that the change-log file is always growing and it makes the package install size become larger all the time. For instance, in the jest
repo the change-log file takes roughly 310 kB.
Not sure how they publish, but in jest
s case changelog.md
is not included in the published packages. Perhaps because it is a monorepo and they have only a single change-log in the root.
I work on a small project which is not a monorepo and its size is only 238 kB. In this case, yarn npm publish
would always include changelog.md
. That blows up the install size.
Even when I add optimisations and document them in the change-log file, the published package is getting larger. Although, I wanted to make it smaller. That is rather demotivating.
I mentioned jest
, because my project is a CLI tool as well. It is not bundled. Hence the install size is the important measure.
Describe the solution you'd like
Add an option that would allow ignoring changelog.*
files.
Describe the drawbacks of your solution
Publishing a package with or without changelog.md
makes no difference. I understand a package manager can be opinionated, but still there is no difference, wherever changelog.md
is included in a package or not.
Adding an option increases the API surface. If that is not acceptable, simply do not include changelog.md
in published packages. Force including is a drawback because all the packages become larger and larger over the time.
Describe alternatives you've considered
To use different name for the file: history.md
, releases.md
or so.
This works, but at the same time I feel like getting punished, when I name the file changelog.md
. I really like Yarn. It is the best of all. Could I use the changelog.md
file name without that feeling, please?
Or I am pushed to use npm publish
. But I do not like some aspects of its behaviour.
Or I could write a script that would pack and publish the package just like yarn npm publish
does, but without including changelog.md
. Honestly, sounds like dream!