Skip to content

[Feature] Do not always include the changelog.* files in a package #6793

Open
@mrazauskas

Description

@mrazauskas
  • 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 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions