ava
ava copied to clipboard
Allow ignoring a resolved configuration
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.jsonand a rootava.config.json) - Add a
root: booleanoption 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],
Should the TypeScript examples switch to an ava.config.js file instead?