c8js
    Preparing search index...

    Interface Options

    interface Options {
        "100"?: boolean;
        all?: boolean;
        allowExternal?: boolean;
        branches?: number;
        c8Config?: string;
        checkCoverage?: boolean;
        clean?: boolean;
        cwd?: string | URL;
        encoding?: null | "buffer" | BufferEncoding;
        env?: ProcessEnv;
        exclude?: string | string[];
        excludeAfterRemap?: boolean;
        excludeNodeModules?: boolean;
        extension?: string | string[];
        functions?: number;
        gid?: number;
        include?: string | string[];
        killSignal?: number | Signals;
        lines?: number;
        maxBuffer?: number;
        mergeAsync?: boolean;
        omitRelative?: boolean;
        perFile?: boolean;
        reporter?: string | string[];
        reporterOptions?: Record<string, Record<string, unknown>>;
        reportsDirectory?: string;
        resolve?: string;
        silent?: boolean;
        skipFull?: boolean;
        src?: string | string[];
        statements?: number;
        tempDirectory?: string;
        throwExecError?: "never" | "early" | "late";
        timeout?: number;
        uid?: number;
        useC8Config?: boolean;
        watermarks?: Watermarks;
        wrapperLength?: number;
    }

    Hierarchy (View Summary)

    Index

    Properties

    "100"?: boolean

    Fails if coverage falls below 100%.

    false

    all?: boolean

    If true, all files specified with the options src, include, exclude and extension will be loaded into the report. If any of those files remain uncovered, they will be factored into the report with a default of 0% coverage.

    false

    allowExternal?: boolean
    branches?: number

    Percentage of branches that must be covered for the check to pass. This setting is ignored if option 100 is used.

    0

    c8Config?: string

    Path to c8 JSON configuration file. If not provided, c8js searches for files named '.c8rc', '.c8rc.json', '.nycrc', or '.nycrc.json', starting from cwd and walking up the filesystem tree. This setting is ignored if option useC8Config is set to false.

    checkCoverage?: boolean

    Whether to check that code coverage is within the specified thresholds. This setting is ignored if option 100 is used.

    false

    clean?: boolean

    If false, temporary V8 coverage files will not be deleted before subprocess execution.

    false

    cwd?: string | URL

    Current working directory of the subprocess, project root of reports and base directory for all relative paths. Must be an absolute path.

    process.cwd

    encoding?: null | "buffer" | BufferEncoding

    The character encoding used to decode the stdout and stderr output. If 'buffer', or an unrecognized character encoding is specified, Buffer objects will be returned instead of strings.

    'utf8'

    env?: ProcessEnv

    Environment key-value pairs.

    process.env

    exclude?: string | string[]

    Glob patterns matching files that should be excluded from coverage.

    await import('@istanbuljs/schema/default-exclude.js')

    excludeAfterRemap?: boolean

    Whether to apply exclusion logic after source maps are used to remap compiled to original source files, or before.

    false

    excludeNodeModules?: boolean

    Whether or not to exclude all 'node_module' folders.

    true

    extension?: string | string[]

    Only files matching these extensions will be included in coverage.

    ['.js', '.cjs', '.mjs', '.ts', '.tsx', '.jsx']

    functions?: number

    Percentage of functions that must be covered for the check to pass. This setting is ignored if option 100 is used.

    0

    gid?: number

    Sets the group identity of the process.

    include?: string | string[]

    Glob patterns matching files that should be included in coverage. An empty array matches all files.

    []

    killSignal?: number | Signals

    The signal value used to kill the subprocess in case of timeout, buffer overflow, or when the current process exits.

    'SIGTERM'

    lines?: number

    Percentage of lines that must be covered for the check to pass. This setting is ignored if option 100 is used.

    90

    maxBuffer?: number

    Largest amount of data in bytes allowed on stdout or stderr. If exceeded, the subprocess is terminated and any output is truncated.

    1024 * 1024

    mergeAsync?: boolean

    Merges all V8 coverage reports asynchronously and incrementally to avoid OOM issues.

    false

    omitRelative?: boolean
    perFile?: boolean

    Checks thresholds on a per-file basis.

    false

    reporter?: string | string[]

    Coverage reporter(s) to use.

    'text'

    reporterOptions?: Record<string, Record<string, unknown>>

    An object mapping reporter names to additional options passed directly to the respective reporters.

    reportsDirectory?: string

    Directory where coverage reports will be output to. The specified directory is ignored if none of the selected reports writes to disk. This option is used to determine the location of tempDirectory, if not specified.

    'coverage'

    resolve?: string
    silent?: boolean

    If true, stdin, stdout, and stderr of the subprocess will be piped to the current process, otherwise they will be inherited from the current process.

    false

    skipFull?: boolean

    If true, files with 100% statement, branch, and function coverage will not be shown by the text reporter.

    false

    src?: string | string[]

    Overrides cwd as the location where source files are looked for when the option all is specified. This allows for workspaces spanning multiple projects.

    statements?: number

    Percentage of statements that must be covered for the check to pass. This setting is ignored if option 100 is used.

    0

    tempDirectory?: string

    Directory where temporary V8 coverage files are written to and read from. This directory will be created if it does not exist. Defaults to a subdirectory named 'tmp' in the directory specified by reportsDirectory.

    throwExecError?: "never" | "early" | "late"

    Controls how an error during subprocess execution is reported to the caller.

    • 'early' causes an error during subprocess execution to throw an exception immediately.

    • 'late' causes an error during subprocess execution to throw an exception only after any subsequent operations - like generating a report or checking the code coverage - have finished successfully. If no operations are scheduled after subprocess execution, as when exec is called, this setting behaves very much like 'early'.

    • 'never' prevents an error during subprocess execution to throw an exception. Instead, if all subsequent operations finish successfully, the property error of the returned object will contain an Error object.

    An unrecognized value behaves like 'early'. In all cases, the Error object thrown or returned will be similar to the first argument passed to a callback of execFile.

    'early'

    timeout?: number

    The maximum amount of time the process is allowed to run in milliseconds. A non-positive value means no time limit.

    undefined

    uid?: number

    Sets the user identity of the process.

    useC8Config?: boolean

    If false, c8js will not load c8 options from a c8 section in 'package.json', or from a JSON configuration file on disk.

    true

    watermarks?: Watermarks

    Thresholds for low and high code coverage watermarks, exposed by some reporters.

    wrapperLength?: number