That's how my Node.js project is organized:
/
| - node_modules [+ INCLUDE]
| | - my-mod1
| | | - node_modules [- IGNORE]
| | | | - external-mod1
| | | | - external-mod2
| | | - src
| | | | - node_modules [+ INCLUDE]
| | | | | - my-mod2
| | | | | - my-mod3
| | - my-mod4
When publishing my project to GitHub:
my-mod
s.external-mod
s.That means:
/node_modules
folder.node_modules
folders which are direct childs of a module folder.node_moduels
folders which are childs of a src
folder.I added the following lines to /.gitignore
:
#################
## npm
#################
npm-debug.log
node_modules/
!/node_modules/
!src/node_modules/
Which .gitignore
rules do I need to include the right node_modules
folders (as described above)?
Thanks - if anything's unclear, please comment.
gitignore is a simple text file containing a list of files and directories you wish to exclude from the git repository. Any file or directory that matches a specific pattern specified in the . gitignore file is ignored from your project. In our case, we need to exclude the node_modules directory from our repository.
Git is a source control system that is used for tracking and merging changes in code. If there's files we want to push into source code for some reason we can use the . gitignore syntax.
The types of files you should consider adding to a . gitignore file are any files that do not need to get committed. You may not want to commit them for security reasons or because they are local to you and therefore unnecessary for other developers working on the same project as you.
gitignore file, simply create an empty text file in the root of your git repository and add the single line containing node_modules . You can find the reference and examples for . gitignore at Git - gitignore Documentation (git-scm.com).
node_modules/**/node_modules
should work for what you are trying to do.
Tip: GitHub provides standard .gitignore
's for various languages like Node.
Since your structure is quite organized you could use this pattern to accomplish the task.
/node_modules/*/node-modules/
The above pattern will ignore node_modules under module folders, my-mod1,my-mod4 and others.
The above line will still allow the node_modules under src directory to be included when you push to github.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With