J’ai un fichier généré par la commande npm install
(en utilisant la tâche de preinstall
). Je ne veux pas l’append dans le référentiel git, ni dans le projet NPM.
En supposant que le nom du fichier est foo.json
, je l’ai ajouté dans le fichier foo.json
sous le nom foo.json
.
Est-ce suffisant pour éviter de le télécharger sur le registre NPM?
Je sais que je peux append .npmignore
fichier .npmignore
qui ignorera sûrement le fichier, mais je ne l’appendai pas si .gitignore
déjà.
De la documentation :
Utilisez un fichier
.npmignore
pour ne.npmignore
dans votre paquet. S’il n’y a pas de fichier.npmignore
, mais qu’il existe un fichier.gitignore
, alors npm ignore les éléments correspondant au fichier.gitignore
. Si vous souhaitez inclure quelque chose qui est exclu par votre fichier.gitignore
, vous pouvez créer un fichier.npmignore
vide pour le remplacer.
En termes plus simples, npm préfère le fichier .npmignore
s’il existe, mais se rabat sur le fichier .gitignore
. Donc, si les deux sont présents, il utilisera le fichier .npmignore
.
Dans de nombreux cas, Git et npm peuvent ignorer les mêmes fichiers, il est donc logique d’utiliser un fichier .gitignore
seul. En cas de divergence (c.-à-d. Si npm et Git doivent ignorer différents fichiers), vous devez conserver des fichiers .gitignore
et .npmignore
.
Plus d’informations sur ce qu’il faut mettre dans les fichiers .npmignore
: Dois-je .npmignore mes tests?
Pour ceux qui lisent ceci en essayant d’ignorer un fichier / répertoire depuis git mais souhaitent l’inclure dans npm publish et ont essayé d’utiliser un fichier .npmignore
vide sans .npmignore
. Cela marche.
Dans votre fichier .gitignore
, ajoutez le fichier / répertoire que vous souhaitez exclure **/build
par exemple et dans votre fichier .npmignore
, assurez-vous de spécifier le même fichier / répertoire mais avec le !
préfixe donc pour l’exemple de construction que vous incluriez !**/build