Open
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.json
to 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?