Does NPM ignore files listed in .gitignore?

I have a file that is generated by npm install command (using preinstall task). I don't want to add it in the git repository, nor in the NPM project.

Supposing the file name is foo.json, I added it in .gitignore file as foo.json.

Is this enough to avoid uploading it on NPM registry?

I know I can add .npmignore file that will surely ignore the file, but I won't add it if .gitignore already does this.

From the documentation:

Use a .npmignore file to keep stuff out of your package. If there's no .npmignore file, but there is a .gitignore file, then npm will ignore the stuff matched by the .gitignore file. If you want to include something that is excluded by your .gitignore file, you can create an empty .npmignore file to override it.

In general, I'd probably suggest using just the .gitignore file on its own until there's ever a discrepancy, at which point I'd copy the file and maintain them separately.

More information on what to put in .npmignore files: Should I .npmignore my tests?