Skip to content

Commit b628cb6

Browse files
authored
feat: promote parseSpecifications out of experimental (#11087)
1 parent 130f79b commit b628cb6

3 files changed

Lines changed: 19 additions & 6 deletions

File tree

docs/api/advanced/vitest.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -584,10 +584,10 @@ Vitest will only collect tests defined in the file. It will never follow imports
584584
Vitest collects all `it`, `test`, `suite` and `describe` definitions even if they were not imported from the `vitest` entry point.
585585
:::
586586
587-
## experimental_parseSpecifications <Version type="experimental">4.0.0</Version> <Experimental /> {#parsespecifications}
587+
## parseSpecifications <Version>5.0.0</Version> {#parsespecifications}
588588
589589
```ts
590-
function experimental_parseSpecifications(
590+
function parseSpecifications(
591591
specifications: TestSpecification[],
592592
options?: {
593593
concurrency?: number
@@ -597,6 +597,8 @@ function experimental_parseSpecifications(
597597

598598
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.
599599

600+
This was available since Vitest 4.0.0 as experimental `experimental_parseSpecifications` method.
601+
600602
## experimental_clearCache <Version type="experimental">4.0.11</Version> <Experimental /> {#clearcache}
601603

602604
```ts

packages/vitest/src/node/core.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ export class Vitest {
791791
}
792792

793793
if (options?.staticParse) {
794-
const testModules = await this.experimental_parseSpecifications(files, {
794+
const testModules = await this.parseSpecifications(files, {
795795
concurrency: options.staticParseConcurrency,
796796
})
797797
return { testModules, unhandledErrors: [] }
@@ -855,7 +855,7 @@ export class Vitest {
855855

856856
if (this.config.experimental.preParse) {
857857
// This populates specification.testModule with parsed information
858-
await this.experimental_parseSpecifications(specifications)
858+
await this.parseSpecifications(specifications)
859859
specifications = specifications.filter(({ testModule }) => {
860860
return !testModule || testModule.task.mode !== 'skip'
861861
})
@@ -1115,7 +1115,18 @@ export class Vitest {
11151115
)
11161116
}
11171117

1118-
public async experimental_parseSpecifications(specifications: TestSpecification[], options?: {
1118+
/**
1119+
* @deprecated Use `parseSpecifications` instead
1120+
*/
1121+
public experimental_parseSpecifications(specifications: TestSpecification[], options?: {
1122+
/** @default os.availableParallelism() */
1123+
concurrency?: number
1124+
}): Promise<TestModule[]> {
1125+
this.logger.deprecate(`The "experimental_parseSpecifications" method is deprecated. Use "parseSpecifications" instead.`)
1126+
return this.parseSpecifications(specifications, options)
1127+
}
1128+
1129+
public async parseSpecifications(specifications: TestSpecification[], options?: {
11191130
/** @default os.availableParallelism() */
11201131
concurrency?: number
11211132
}): Promise<TestModule[]> {

test/e2e/test/pre-parse.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ test('test 4', { meta: { ran: true } }, () => {})
299299
project.createSpecification(fs.resolveFile('./b.test.js')),
300300
]
301301

302-
await vitest.experimental_parseSpecifications(specifications)
302+
await vitest.parseSpecifications(specifications)
303303

304304
expect(buildTree(t => t.task.mode)).toMatchInlineSnapshot(`
305305
{

0 commit comments

Comments
 (0)