[RRFC] remove `npm-shrinkwrap.json` from the list of unignorable files
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 777
- Forks
- 267
- PR merge metrics
- No merged PRs in 30d
Description
Motivation ("The Why")
I have npm-shrinkwrap.json in both .gitignore and .npmignore on basically all of my repos. However, I unknowingly broke ls-engines when I published it, not realizing that the npm-shrinkwrap.json i'd been playing with would be published despite being explicitly ignored.
Possible solutions
- allow
npm-shrinkwrap.jsonto be npmignored - fail a publish when an unignorable file is explicitly ignored, via "files" or ".npmignore" or ".gitignore"
The upsides
- it would be much harder to accidentally break consumers by publishing a shrinkwrap (something that's a long-standing bad practice anyways)
The downsides
- someone who wants to publish a shrinkwrap would only be able to do so if they weren't already explicitly ignoring it.
Can anyone provide any scenario where making one of the above changes would pose problems for someone?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the RFC's motivation and the interactions among npm-shrinkwrap.json, .gitignore, .npmignore, and the package "files" setting. A complete contribution would establish whether npm should allow the shrinkwrap to be ignored or reject conflicting publish configuration, with an agreed rationale and scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100