admin管理员组文章数量:1221386
I have a private module stored on github that I'm including in one of my projects using npm
. The module has a .npmignore
file, but nothing is being ignored when I install or update the module.
Project's package.json
{
"name": "Your Cool Project",
"version": "0.0.0",
"dependencies": {
"myModule" : "git+ssh://[email protected]:user/myModule.git",
/* All your other dependencies */
}
...
}
Module's .npmignore
file
.git*
gulpfile.js
index.html
tests.js
README.md
When I run npm update myModule
these files are still being downloaded into my project. Am I missing something? Does .npmignore
work for privately hosted modules? Thanks in advance.
I have a private module stored on github that I'm including in one of my projects using npm
. The module has a .npmignore
file, but nothing is being ignored when I install or update the module.
Project's package.json
{
"name": "Your Cool Project",
"version": "0.0.0",
"dependencies": {
"myModule" : "git+ssh://[email protected]:user/myModule.git",
/* All your other dependencies */
}
...
}
Module's .npmignore
file
.git*
gulpfile.js
index.html
tests.js
README.md
When I run npm update myModule
these files are still being downloaded into my project. Am I missing something? Does .npmignore
work for privately hosted modules? Thanks in advance.
2 Answers
Reset to default 13Since you're specifying the dependency myModule
as a Git repository, npm is probably just cloning the repo. Therefore your .npmignore
files isn't being used.
.npmignore
seems to be used when "making modules" eg: pack
or publish
not consuming modules (like in your example).
Be careful when using .npmignore
If you haven't been using .npmignore
, it defaults to .gitignore
with a few additional sane defaults.
What many don't realize that once you add a .npmignore
file to your project the .gitignore
rules are (ironically) ignored. The result is you will need to audit the two ignore files in sync to prevent sensitive leaks when publishing.
Still, I think is missing put the /node_modules
in your .npmignore
.
Set the attribute private: true
in package.json
file as below:
{
"name": "project-name",
"version": "0.0.0",
"license": "MIT",
"scripts": {
},
"private": true,
"dependencies": {
},
"devDependencies": {
}
}
Generate the build into /public
folder to publish it to NPM repository with .npmignore
into that folder.
本文标签: javascriptnpmignore not ignoring filesStack Overflow
版权声明:本文标题:javascript - .npmignore not ignoring files - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1739305957a2157353.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
.npmignore
. See docs – Aurelio Commented Mar 14, 2015 at 16:54npm publish --dry-run
to be sure what's going online. – Yauheni Prakopchyk Commented Nov 5, 2018 at 5:39main
property in yourpackage.json
and you try to ignore a directory that the path assigned tomain
is in,npm publish
will include it. Idk the nuances of how this works, I just discovered it through experimenting. Doesn't seem to be documented anywhere that I've found. – derpedy-doo Commented Jan 16, 2020 at 3:52