diff --git a/changelog/8023.improvement.rst b/changelog/8023.improvement.rst new file mode 100644 index 000000000..8d005ba0c --- /dev/null +++ b/changelog/8023.improvement.rst @@ -0,0 +1 @@ +Added ``'node_modules'`` to default value for ``norecursedirs``. diff --git a/doc/en/reference.rst b/doc/en/reference.rst index cbe89fe0b..34be2c454 100644 --- a/doc/en/reference.rst +++ b/doc/en/reference.rst @@ -1541,7 +1541,8 @@ passed multiple times. The expected format is ``name=value``. For example:: [seq] matches any character in seq [!seq] matches any char not in seq - Default patterns are ``'.*', 'build', 'dist', 'CVS', '_darcs', '{arch}', '*.egg', 'venv'``. + Default patterns are ``'*.egg'``, ``'.*'``, ``'_darcs'``, ``'build'``, + ``'CVS'``, ``'dist'``, ``'node_modules'``, ``'venv'``, ``'{arch}'``. Setting a ``norecursedirs`` replaces the default. Here is an example of how to avoid certain directories: diff --git a/src/_pytest/main.py b/src/_pytest/main.py index 04b51ac00..93073226c 100644 --- a/src/_pytest/main.py +++ b/src/_pytest/main.py @@ -53,7 +53,17 @@ def pytest_addoption(parser: Parser) -> None: "norecursedirs", "directory patterns to avoid for recursion", type="args", - default=[".*", "build", "dist", "CVS", "_darcs", "{arch}", "*.egg", "venv"], + default=[ + "*.egg", + ".*", + "_darcs", + "build", + "CVS", + "dist", + "node_modules", + "venv", + "{arch}", + ], ) parser.addini( "testpaths",