-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🚀 Feature: Change default value for --ignore
to **/node_modules
, **/.git
#5131
Comments
This comment has been minimized.
This comment has been minimized.
--ignore
and --watch-ignore
and make the patterns recursive--ignore
and --watch-ignore
and make the patterns recursive
Ok coming back to this: I think I better understand things now, and am not in favor of unifying the two just yet. It's feasible that a project could want to have a separate glob for test files ( However, changing the default values makes a lot of sense to me. I think the values were first set before JavaScript monorepos were widespread & popular. Accepting PRs for the single change of setting the defaults of both Note that this would be a semver-major breaking change. Which means we wouldn't be able to merge until we're working on Mocha 12. Edit: ah, #5203 exists to track |
--ignore
and --watch-ignore
and make the patterns recursive--ignore
to **/node_modules
, **/.git
Looks like there was some sort of mistunderstanding. In my original post I had proposed to only unify the default values of the options. My intention was never to have only one option. The initial title was badly phrased and a bit misleading, the body represents better my intentions. I agree that it makes sense to have two options and I don't see a need to change Mocha to only have one.
This matches my proposed solution. 👍 from my side to keep both options and change their defaults to the same pattern as noted.
Fine for me. Not sure how long the road to Mocha 12 is, until then maybe some few docs on that inconsistency and plan could help avoiding problems. This will also help in cases where people might report bugs to the vscode extension. |
Ah great! Sorry for misinterpreting then 🙂.
Great idea. I'd 👍 a PR that adds notes to the mochajs.org docs. |
Feature Request Checklist
faq
label, but none matched my issue.Overview
Looking at the current behavior of Mocha there is an inconsistency between normal execution and watch execution due to different defaults in
--ignore
and--watch-ignore
.I think many devs will agree that picking up data from the node_modules folder is not in their interest when maintaining any project and running tests.
Additionally the
node_modules
folder might live in a subfolder (mono repos) but still is subject of being ignored. The current pattern only ignoresnode_modules
on the level of the mocharc config file.Suggested Solution
Hence the new default for both options should be similar to:
['**/node_modules/', '**/.git/']
Alternatives
If this is the intended behavior and has a reasoning, this reasoning should be documented on the website.
Additional Info
When using NPM workspaces (common in mono-repos) there will be symlinks from
node_modules
to the directories of the packages. https://docs.npmjs.com/cli/v10/using-npm/workspacesRunning Mocha with
--reporter=json
then shows that rather the tests in the node_modules are picked up than the real working directory.This can lead to further problems when processing the test reports or in case external tooling relies on these paths.
The problem became visible while working on a VS Code Extension and tests from node_modules were listed.
CoderLine/mocha-vscode#1
The text was updated successfully, but these errors were encountered: