NPM ignore-t-il les fichiers répertoriés dans .gitignore?

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