diff --git a/docs/.vitepress/style/main.css b/docs/.vitepress/style/main.css
index 251138d12..d46ffcd6a 100644
--- a/docs/.vitepress/style/main.css
+++ b/docs/.vitepress/style/main.css
@@ -37,31 +37,37 @@ button:focus:not(:focus-visible) {
html:not(.dark) .custom-block.tip code {
color: var(--vitest-custom-block-tip-code-text) !important;
}
+
html:not(.dark) .custom-block.info code {
color: var(--vitest-custom-block-info-code-text) !important;
}
+
.custom-block.tip a:hover,
-.vp-doc .custom-block.tip a:hover > code {
+.vp-doc .custom-block.tip a:hover>code {
color: var(--vp-c-brand-1) !important;
opacity: 1;
}
+
.custom-block.info a:hover,
-.vp-doc .custom-block.info a:hover > code {
+.vp-doc .custom-block.info a:hover>code {
color: var(--vp-c-brand-1) !important;
opacity: 1;
}
+
html:not(.dark) .custom-block.info a:hover,
-html:not(.dark) .vp-doc .custom-block.info a:hover > code {
+html:not(.dark) .vp-doc .custom-block.info a:hover>code {
color: var(--vitest-custom-block-info-code-text) !important;
opacity: 1;
}
+
.custom-block.warning a:hover,
-.vp-doc .custom-block.warning a:hover > code {
+.vp-doc .custom-block.warning a:hover>code {
color: var(--vp-c-warning-1) !important;
opacity: 1;
}
+
.custom-block.danger a:hover,
-.vp-doc .custom-block.danger a:hover > code {
+.vp-doc .custom-block.danger a:hover>code {
color: var(--vp-c-danger-1) !important;
opacity: 1;
}
@@ -70,6 +76,7 @@ html:not(.dark) .vp-doc .custom-block.info a:hover > code {
:not(.dark) .title-icon {
opacity: 1 !important;
}
+
.dark .title-icon {
opacity: 0.67 !important;
}
@@ -81,6 +88,7 @@ html:not(.dark) .vp-doc .custom-block.info a:hover > code {
.vp-doc a {
text-decoration-style: dotted;
}
+
.custom-block a:focus,
.custom-block a:active,
.custom-block a:hover,
@@ -92,7 +100,8 @@ html:not(.dark) .vp-doc .custom-block.info a:hover > code {
text-decoration: underline;
}
-.vp-doc th, .vp-doc td {
+.vp-doc th,
+.vp-doc td {
padding: 6px 10px;
border: 1px solid #8882;
}
@@ -113,14 +122,17 @@ img.resizable-img {
.VPTeamMembersItem.medium .profile .data .affiliation {
min-height: unset;
}
+
.VPTeamMembersItem.medium .profile .data .desc {
min-height: unset;
}
+
/* fix height ~ 2 lines of text: 3 cards per row */
@media (min-width: 648px) {
.VPTeamMembersItem.medium .profile .data .affiliation {
min-height: 4rem;
}
+
.VPTeamMembersItem.medium .profile .data .desc {
min-height: 4rem;
}
@@ -130,6 +142,7 @@ img.resizable-img {
.VPTeamMembersItem.small .profile .data .affiliation {
min-height: 3rem;
}
+
.VPTeamMembersItem.small .profile .data .desc {
min-height: 3rem;
}
@@ -139,33 +152,40 @@ img.resizable-img {
.VPTeamMembersItem.small .profile .data .affiliation {
min-height: 4rem;
}
+
.VPTeamMembersItem.small .profile .data .desc {
min-height: 4rem;
}
}
+
/* fix height ~ 3 lines of text: 3 cards per row */
@media (min-width: 815px) and (max-width: 875px) {
.VPTeamMembersItem.small .profile .data .affiliation {
min-height: 4rem;
}
+
.VPTeamMembersItem.small .profile .data .desc {
min-height: 4rem;
}
}
+
/* fix height ~ 3 lines of text: 2 cards per row */
@media (max-width: 612px) {
.VPTeamMembersItem.small .profile .data .affiliation {
min-height: 4rem;
}
+
.VPTeamMembersItem.small .profile .data .desc {
min-height: 4rem;
}
}
+
/* fix height: one card per row */
@media (max-width: 568px) {
.VPTeamMembersItem.small .profile .data .affiliation {
min-height: unset;
}
+
.VPTeamMembersItem.small .profile .data .desc {
min-height: unset;
}
@@ -176,3 +196,30 @@ img.resizable-img {
transition: background-color 0.5s;
display: inline-block;
}
+
+/* credit goes to https://dylanatsmith.com/wrote/styling-the-kbd-element */
+html:not(.dark) kbd {
+ --kbd-color-background: #f7f7f7;
+ --kbd-color-border: #cbcccd;
+ --kbd-color-text: #222325;
+}
+
+kbd {
+ --kbd-color-background: #898b90;
+ --kbd-color-border: #3d3e42;
+ --kbd-color-text: #222325;
+
+ background-color: var(--kbd-color-background);
+ color: var(--kbd-color-text);
+ border-radius: 0.25rem;
+ border: 1px solid var(--kbd-color-border);
+ box-shadow: 0 2px 0 1px var(--kbd-color-border);
+ font-family: var(--font-family-sans-serif);
+ font-size: 0.75em;
+ line-height: 1;
+ min-width: 0.75rem;
+ text-align: center;
+ padding: 2px 5px;
+ position: relative;
+ top: -1px;
+}
\ No newline at end of file
diff --git a/docs/api/advanced/plugin.md b/docs/api/advanced/plugin.md
index e5b609b9c..6308bf6ee 100644
--- a/docs/api/advanced/plugin.md
+++ b/docs/api/advanced/plugin.md
@@ -142,7 +142,7 @@ Define a generator that will be applied before hashing the cache key.
Use this to make sure Vitest generates correct hash. It is a good idea to define this function if your plugin can be registered with different options.
-This is called only if [`experimental.fsModuleCache`](/config/experimental#fsmodulecache) is defined.
+This is called only if [`experimental.fsModuleCache`](/config/experimental#experimental-fsmodulecache) is defined.
```ts
interface PluginOptions {
diff --git a/docs/api/advanced/test-module.md b/docs/api/advanced/test-module.md
index 95a3ae8da..b85f476d6 100644
--- a/docs/api/advanced/test-module.md
+++ b/docs/api/advanced/test-module.md
@@ -120,3 +120,7 @@ interface ImportDuration {
totalTime: number
}
```
+
+## viteEnvironment 4.0.15 {#viteenvironment}
+
+This is a Vite's [`DevEnvironment`](https://vite.dev/guide/api-environment) that transforms all files inside of the test module.
diff --git a/docs/api/advanced/vitest.md b/docs/api/advanced/vitest.md
index ff2739820..bcfcac9d4 100644
--- a/docs/api/advanced/vitest.md
+++ b/docs/api/advanced/vitest.md
@@ -564,7 +564,7 @@ function getSeed(): number | null
Returns the seed, if tests are running in a random order.
-## experimental_parseSpecification 4.0.0 experimental {#parsespecification}
+## experimental_parseSpecification 4.0.0 {#parsespecification}
```ts
function experimental_parseSpecification(
@@ -595,7 +595,7 @@ Vitest will only collect tests defined in the file. It will never follow imports
Vitest collects all `it`, `test`, `suite` and `describe` definitions even if they were not imported from the `vitest` entry point.
:::
-## experimental_parseSpecifications 4.0.0 experimental {#parsespecifications}
+## experimental_parseSpecifications 4.0.0 {#parsespecifications}
```ts
function experimental_parseSpecifications(
@@ -608,10 +608,67 @@ function experimental_parseSpecifications(
This method will [collect tests](#parsespecification) from an array of specifications. By default, Vitest will run only `os.availableParallelism()` number of specifications at a time to reduce the potential performance degradation. You can specify a different number in a second argument.
-## experimental_clearCache 4.0.11 experimental {#clearcache}
+## experimental_clearCache 4.0.11 {#clearcache}
```ts
function experimental_clearCache(): Promise
```
Deletes all Vitest caches, including [`experimental.fsModuleCache`](/config/experimental#experimental-fsmodulecache).
+
+## experimental_getSourceModuleDiagnostic 4.0.15 {#getsourcemodulediagnostic}
+
+```ts
+export function experimental_getSourceModuleDiagnostic(
+ moduleId: string,
+ testModule?: TestModule,
+): Promise
+```
+
+::: details Types
+```ts
+export interface ModuleDefinitionLocation {
+ line: number
+ column: number
+}
+
+export interface SourceModuleLocations {
+ modules: ModuleDefinitionDiagnostic[]
+ untracked: ModuleDefinitionDiagnostic[]
+}
+
+export interface ModuleDefinitionDiagnostic {
+ start: ModuleDefinitionLocation
+ end: ModuleDefinitionLocation
+ startIndex: number
+ endIndex: number
+ url: string
+ resolvedId: string
+}
+
+export interface ModuleDefinitionDurationsDiagnostic extends ModuleDefinitionDiagnostic {
+ selfTime: number
+ totalTime: number
+ external?: boolean
+}
+
+export interface UntrackedModuleDefinitionDiagnostic {
+ url: string
+ resolvedId: string
+ selfTime: number
+ totalTime: number
+ external?: boolean
+}
+
+export interface SourceModuleDiagnostic {
+ modules: ModuleDefinitionDurationsDiagnostic[]
+ untrackedModules: UntrackedModuleDefinitionDiagnostic[]
+}
+```
+:::
+
+Returns module's diagnostic. If [`testModule`](/api/advanced/test-module) is not provided, `selfTime` and `totalTime` will be aggregated across all tests that were running the last time. If the module was not transformed or executed, the diagnostic will be empty.
+
+::: warning
+At the moment, the [browser](/guide/browser/) modules are not supported.
+:::
diff --git a/docs/config/experimental.md b/docs/config/experimental.md
index f87fcb71e..ab0107169 100644
--- a/docs/config/experimental.md
+++ b/docs/config/experimental.md
@@ -137,3 +137,21 @@ export default defineConfig({
::: warning
It's important that Node can process `sdkPath` content because it is not transformed by Vitest. See [the guide](/guide/open-telemetry) on how to work with OpenTelemetry inside of Vitest.
:::
+
+## experimental.printImportBreakdown 4.0.15 {#experimental-printimportbreakdown}
+
+- **Type:** `boolean`
+- **Default:** `false`
+
+Show import duration breakdown after tests have finished running. This option only works with [`default`](/guide/reporters#default), [`verbose`](/guide/reporters#verbose), or [`tree`](/guide/reporters#tree) reporters.
+
+- Self: the time it took to import the module, excluding static imports;
+- Total: the time it took to import the module, including static imports. Note that this does not include `transform` time of the current module.
+
+
+
+Note that if the file path is too long, Vitest will truncate it at the start until it fits 45 character limit.
+
+::: info
+[Vitest UI](/guide/ui#import-breakdown) shows a breakdown of imports automatically if at least one file took longer than 500 milliseconds to load. You can manually set this option to `false` to disable this.
+:::
diff --git a/docs/guide/open-telemetry.md b/docs/guide/open-telemetry.md
index f9c555650..4f54c832b 100644
--- a/docs/guide/open-telemetry.md
+++ b/docs/guide/open-telemetry.md
@@ -8,7 +8,7 @@ If enabled, Vitest integration generates spans that are scoped to your test's wo
OpenTelemetry initialization increases the startup time of every test unless Vitest runs without [isolation](/config/isolate). You can see it as the `vitest.runtime.traces` span inside `vitest.worker.start`.
:::
-To start using OpenTelemetry in Vitest, specify an SDK module path via [`experimental.openTelemetry.sdkPath`](/config/experimental#opentelemetry) and set `experimental.openTelemetry.enabled` to `true`. Vitest will automatically instrument the whole process and each individual test worker.
+To start using OpenTelemetry in Vitest, specify an SDK module path via [`experimental.openTelemetry.sdkPath`](/config/experimental#experimental-opentelemetry) and set `experimental.openTelemetry.enabled` to `true`. Vitest will automatically instrument the whole process and each individual test worker.
Make sure to export the SDK as a default export, so that Vitest can flush the network requests before the process is closed. Note that Vitest doesn't automatically call `start`.
diff --git a/docs/guide/ui.md b/docs/guide/ui.md
index 3219a7b9b..c4cf2dc16 100644
--- a/docs/guide/ui.md
+++ b/docs/guide/ui.md
@@ -52,3 +52,92 @@ npx vite preview --outDir ./html
You can configure output with [`outputFile`](/config/#outputfile) config option. You need to specify `.html` path there. For example, `./html/index.html` is the default value.
:::
+
+## Module Graph
+
+Module Graph's tab displays the module graph of the selected test file.
+
+::: info
+All of the provided images use [Zammad](https://github.com/zammad/zammad) repository as an example.
+:::
+
+
+
+
+If there are more than 50 modules, the module graph displays only the first two levels of the graph to reduce the visual clutter. You can always click on "Show Full Graph" icon to preview the full graph.
+
+
+
+
+
+
+::: warning
+Note that if your graph is too big, it may take some time before the node positions are stabilized.
+:::
+
+You can always restore the entry module graph by clicking on "Reset". To expand the module graph, right-click or hold Shift while clicking the node that interests you. It will display all nodes related to the selected one.
+
+By default, Vitest doesn't show the modules from `node_modules`. Usually, these modules are externalized. You can enable them by deselecting "Hide node_modules".
+
+### Module Info
+
+By left-clicking on the module node, you open the Module Info view.
+
+
+
+
+This view is separated into two parts. The top part shows the full module ID and some diagnostics about the module. If [`experimental.fsModuleCache`](/config/experimental#experimental-fsmodulecache) is enabled, there will be a "cached" or "not cached" badge. On the right you can see time diagnostics:
+
+- Self Time: the time it took to import the module, excluding static imports.
+- Total Time: the time it took to import the module, including static imports. Note that this does not include `transform` time of the current module.
+- Transform: the time it took to transform the module.
+
+If you opened this view by clicking on an import, you will also see a "Back" button at the start that will take you to the previous module.
+
+The bottom part depends on the module type. If the module is external, you will only see the source code of that file. You will not be able to traverse the module graph any further, and you won't see how long it took to import static imports.
+
+
+
+
+If the module was inlined, you will see three more windows:
+
+- Source: unchanged source code of the module
+- Transformed: the transformed code that Vitest executes using Vite's [module runner](https://vite.dev/guide/api-environment-runtimes#modulerunner)
+- Source Map (v3): source map mappings
+
+All static imports in the "Source" window show a total time it took to evaluate them by the current module. If the import was already evaluated in the module graph, it will show `0ms` because it is cached by that point.
+
+If the module took longer than 500 milliseconds to load, the time will be displayed in red. If the module took longer than 100 milliseconds, the time will be displayed in orange.
+
+You can click on an import source to jump into that module and traverse the graph further (note `./support/assertions/index.ts` below).
+
+
+
+
+::: warning
+Note that type-only imports are not executed at runtime and do not display a total duration. They also cannot be opened.
+:::
+
+If another plugin injects a module import during transformation, those imports will be displayed at the start of the module in gray colour (for example, modules injected by `import.meta.glob`). They also show the total time and can be traversed further.
+
+
+
+
+::: tip
+If you are developing a custom integration on top of Vitest, you can use [`vitest.experimental_getSourceModuleDiagnostic`](/api/advanced/vitest#getsourcemodulediagnostic) to retrieve this information.
+:::
+
+### Import Breakdown
+
+The Module Graph tab also provides an Import Breakdown with a list of modules that take the longest time to load (top 10 by default, but you can press "Show more" to load 10 more), sorted by Total Time.
+
+
+
+
+You can click on the module to see the Module Info. If the module is external, it will have the yellow color (the same color in the module graph).
+
+The breakdown shows a list of modules with self time, total time, and a percentage relative to the time it took to load the whole test file.
+
+The "Show Import Breakdown" icon will have a red color if there is at least one file that took longer than 500 milliseconds to load, and it will be orange if there is at least one file that took longer than 100 milliseconds.
+
+By default, Vitest shows the breakdown automatically if there is at least one module that took longer than 500 milliseconds to load. You can control the behaviour by setting the [`experimental.printImportBreakdown`](/config/experimental#experimental-printimportbreakdown) option.
diff --git a/docs/public/reporter-import-breakdown.png b/docs/public/reporter-import-breakdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1d851d88b470e20d29315a34df08588eb73008c
GIT binary patch
literal 191014
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