# Default ignores from @wordpress/scripts (build, node_modules, vendor) plus
# repo-specific generated, report, and tooling directories.
#
# Why this file is required even though .eslintrc.json has `ignorePatterns`:
# wp-scripts lint-js passes `--ext js,cjs,mjs,jsx,ts,cts,mts,tsx`, so when
# lint-staged invokes it on a single file path it still recursively enumerates
# every directory containing JS — including minified bundles in coverage-html/
# (jquery.min.js, d3.min.js, ...). With --fix on, ESLint tries to rewrite
# those minified files and the process hangs indefinitely, which is why
# pre-commit "always seems to fail on the linting of js".
#
# `ignorePatterns` in .eslintrc.json is consulted *after* file enumeration, so
# it does not prevent the traversal cost. .eslintignore is what gates the
# file-enumerator stage, which is the actual culprit.

build
node_modules
vendor

# Generated reports / coverage (also gitignored)
coverage-html
playwright-report
test-results
.playwright-mcp

# Local/scratch areas not part of the shipped plugin source
playground
todo
stubs

# Design handoff snapshots (also excluded in .eslintrc.json ignorePatterns)
better-chat
design_handoff_chat_redesign
design_handoff_chat_widget_redesign

# Tests are linted via their own e2e tooling, not wp-scripts lint-js
tests
