Allow ignoring a resolved configuration
tommy-mitchell opened this issue · 1 comments
tommy-mitchell commented
Feature Request
AVA should support a way to ignore a resolved configuration, for example a (mono-)repo's ava.config.js
.
Possible solutions:
- Have configurations in a directory take precedence over a parent configuration (e.g.
"ava"
field in apackage.json
and a rootava.config.json
) - Add a
root: boolean
option to configs that specifies not to search for parent configurations - Add a CLI flag to ignore parent configurations (e.g.
npx ava --ignore-parent-configs
) - If the resolved configuration contains the current test in its
"ignores"
, skip it
Rationale
I'm trying to update the examples to AVA 6 (#2993), but they resolve the repo's ava.config.js
when trying to run them:
…/examples/endpoint-testing
$ npx ava
⚠ Using configuration from …/ava.config.js
✘ Couldn’t find any files to test
$ npx ava test.js
⚠ Using configuration from …/ava.config.js
✔ get /user
─
1 tests passed
The TypeScript examples have a custom config:
// package.json
"ava": {
"typescript": {
"compile": "tsc",
"rewritePaths": {
"source/": "build/"
}
}
}
This results in the tests failing due to conflicting configs:
…/examples/typescript-basic
$ npx ava
✘ Conflicting configuration in ../../ava.config.js and package.json
Attempting to ignore the examples in ava.config.js
doesn't work:
- files: ['test/**', '!test/**/{fixtures,helpers}/**', ...skipWatchMode],
+ files: ['test/**', '!test/**/{fixtures,helpers}/**', '!examples', ...skipWatchMode],
novemberborn commented
Should the TypeScript examples switch to an ava.config.js
file instead?