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) }