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 jests 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!
Describe the user story
Currently
yarn npm publishandyarn packdo always includechangelog.*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
jestrepo the change-log file takes roughly 310 kB.Not sure how they publish, but in
jests casechangelog.mdis 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 publishwould always includechangelog.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.mdmakes no difference. I understand a package manager can be opinionated, but still there is no difference, whereverchangelog.mdis included in a package or not.Adding an option increases the API surface. If that is not acceptable, simply do not include
changelog.mdin 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.mdor 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 thechangelog.mdfile 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 publishdoes, but without includingchangelog.md. Honestly, sounds like dream!