package ava import "strings" // AVA Config Schema // // Configuration Schema for the JavaScript test runner AVA #Schema: { @jsonschema(schema="http://json-schema.org/draft-07/schema#") @jsonschema(id="https://json.schemastore.org/ava.json") close({ "files"?: #."array-of-paths" "ignoredByWatcher"?: #."array-of-paths" "match"?: #."array-of-paths" // Defaults to `true` to cache compiled files under // `node_modules/.cache/ava.` If `false`, files are cached in a // temporary directory instead "cache"?: bool // Max number of test files running at the same time (default: CPU // cores) "concurrency"?: number // Use worker threads to run tests (enabled by default). If // `false`, tests will run in child processes "workerThreads"?: bool // Stop running further tests once a test fails "failFast"?: bool // If `false`, does not fail a test if it doesn't run assertions "failWithoutAssertions"?: bool // environment variables // // Specifies environment variables to be made available to the // tests. The environment variables defined here override the // ones from `process.env` "environmentVariables"?: { [string]: string } // if `true`, prevents parallel execution of tests within a file "serial"?: bool // If `true`, enables the TAP reporter "tap"?: bool // If `true`, enables verbose output (though currently non-verbose // output is not supported) "verbose"?: bool "snapshotDir"?: #path // Extensions of test files. Setting this overrides the default // `["cjs", "mjs", "js"]` value, so make sure to include those // extensions in the list. Experimentally you can configure how // files are loaded "extensions"?: matchN(>=1, [#."array-of-strings", { {[=~"^(c|m)?js$"]: true} {[!~"^(c|m)?js$" & !~"^()$"]: "commonjs" | "module"} }]) "require"?: #."array-of-paths" // Timeouts in AVA behave differently than in other test // frameworks. AVA resets a timer after each test, forcing tests // to quit if no new test results were received within the // specified timeout. This can be used to handle stalled tests. // See our timeout documentation for more options "timeout"?: matchN(>=1, [>=0, =~"^(\\d+)(s|m)$"]) "nodeArguments"?: #."array-of-strings" // If `false`, disable parallel builds (default: `true`) "utilizeParallelBuilds"?: bool // configuration // // Configures @ava/typescript for projects that precompile // TypeScript. Alternatively, you can use `ts-node` to do live // testing without transpiling, in which case you shouldn't use // the `typescript` property "typescript"?: { "extensions"?: #."array-of-paths" // paths // // AVA searches your entire project for `*.js`, `*.cjs`, `*.mjs` // and `*.ts` files (or other extensions you've configured). It // will ignore such files found in the `rewritePaths` targets // (e.g. `build/`). If you use more specific paths, for instance // `build/main/`, you may need to change AVA's `files` // configuration to ignore other directories. Paths are relative // to your project directory "rewritePaths"?: { {[=~"/$"]: =~"/$"} ... } // If `false`, AVA will assume you have already compiled your // project. If set to `'tsc'`, AVA will run the TypeScript // compiler before running your tests. This can be inefficient // when using AVA in watch mode "compile"?: false | "tsc" ... } }) #: "array-of-paths": [...#path] #: "array-of-strings": [...string] #path: strings.MinRunes(1) }