pokemon-showdown/.gitignore
Guangcong Luo 2e85de348f Disable package-lock.json
NPM's official documentation says that package-lock.json should be part
of the repository.

Why? `package-lock.json` is basically a snapshot of the `node_modules/`
directory. You can think of it like `node_modules.zip`, except more
human-readable, and requires an internet connection to unzip.

The main advantage of adding it to Git is that it lets you know exactly
the state of `node_modules/` at the time the programmer commits it. So
if a dependency breaks, it's easier to trace exactly when it broke.

It also makes sure `node_modules/` is exactly the same between
different development environments, so differences don't cause bugs to
appear for some developers but not others.

This comes with a number of disadvantages. The biggest one is that it
causes package-lock changes to appear in random commits, which can
outright lead to merge conflicts. Not to mention making diffs in
general significantly less readable.

And a lot of stated advantages aren't actually true (paraphrased):

> If I install express ^4.15.4, and later express 4.15.5 is released,
> a contributor would run `npm install` and gets 4.15.5, we would
> have different versions.

Like, this is intended behavior. If I didn't want that behavior, I'd
specify the express version as 4.15.4 instead of ^4.15.4. We can still
have the same version if we just re-run `npm install`, which we would
STILL have to do if we were using a package-lock file. The
package-lock file does not improve this situation.

(A Dev poll showed that most devs were in support of this.)
2018-01-12 22:19:05 -06:00

54 lines
482 B
Plaintext

/config/*
!/config/formats.js
/logs/*
/node_modules
/eslint-cache
/chat-plugins/private.js
/chat-plugins/*-private.js
npm-debug.log
.eslintcache
package-lock.json
# boilerplate #
###############
.DS_Store
# editor temp files
*~
.idea/
tmp/**/*
*.lock
*.DS_Store
*.swp
*.out
*.pyc
*.pyo
.installed.cfg
downloads
build
dist
# egg related
develop-eggs
*.egg-info
*.egg
*.EGG
*.EGG-INFO
src/*.egg-info
eggs
fake-eggs
# django
local_settings.py
# SCM
.hg
.bzr
.svn
pip-log.txt