Allow the README to be an external file

Currently, the README displayed in the npm page of our package comes from the packages themselves.

I think it’s suboptimal and forces us to release arbitrary patches that actually don’t fix anything from the dependent packages point of view. Fixing a typo on the README or adding a section like “Related projects” forces us to release a patch and every dependent packages to grab that patch even though it doesn’t provide any change.

It would be great to be able to host the README somewhere else (like GitHub) and have it displayed on npm instead of having to provide it in the package.

This would be a convenience for README changes, but would change the contract significantly. Currently you see the same README as if you download that version of a package and inspect the contents, and you can see the matching README for any published version without reference to an external site.

Is there any benefit at having the README as part of the package? I personally never inspect packages except when I need to debug them - and then I put some breakpoints in the sources - so I wonder if some people actually read the README from there. And by the way do we know why the README can’t be ignored?

Certain files are always included, regardless of settings:

  • package.json
  • README
  • CHANGES / CHANGELOG / HISTORY
  • LICENSE / LICENCE
  • NOTICE
  • The file in the “main” field

https://docs.npmjs.com/files/package.json#files

It has always bugged me. There must be an historical reason but I can’t find it.