diff --git a/docs/config/index.md b/docs/config/index.md index 9d170178c..364e12b90 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -339,3 +339,9 @@ export default defineConfig({ }, }) ``` + +### snapshotFormat + +- **Type:** `PrettyFormatOptions` + +Format options for snapshot testing. \ No newline at end of file diff --git a/packages/vitest/src/node/config.ts b/packages/vitest/src/node/config.ts index 796e974ac..7260e19e5 100644 --- a/packages/vitest/src/node/config.ts +++ b/packages/vitest/src/node/config.ts @@ -91,6 +91,7 @@ export function resolveConfig( const CI = !!process.env.CI const UPDATE_SNAPSHOT = resolved.update || process.env.UPDATE_SNAPSHOT resolved.snapshotOptions = { + snapshotFormat: resolved.snapshotFormat || {}, updateSnapshot: CI && !UPDATE_SNAPSHOT ? 'none' : UPDATE_SNAPSHOT diff --git a/packages/vitest/src/types/config.ts b/packages/vitest/src/types/config.ts index 97f647f1e..2a3a6fad7 100644 --- a/packages/vitest/src/types/config.ts +++ b/packages/vitest/src/types/config.ts @@ -1,4 +1,5 @@ import type { CommonServerOptions } from 'vite' +import type { PrettyFormatOptions } from 'pretty-format' import type { BuiltinReporters } from '../reporters' import type { C8Options, ResolvedC8Options } from '../coverage' import type { JSDOMOptions } from './jsdom-options' @@ -253,6 +254,11 @@ export interface InlineConfig { */ web?: RegExp[] } + + /** + * Format options for snapshot testing. + */ + snapshotFormat?: PrettyFormatOptions } export interface UserConfig extends InlineConfig {