diff --git a/docs/api/advanced/vitest.md b/docs/api/advanced/vitest.md index d8c058f0b..e2d5f11d2 100644 --- a/docs/api/advanced/vitest.md +++ b/docs/api/advanced/vitest.md @@ -584,10 +584,10 @@ 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 {#parsespecifications} +## parseSpecifications 5.0.0 {#parsespecifications} ```ts -function experimental_parseSpecifications( +function parseSpecifications( specifications: TestSpecification[], options?: { concurrency?: number @@ -597,6 +597,8 @@ 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. +This was available since Vitest 4.0.0 as experimental `experimental_parseSpecifications` method. + ## experimental_clearCache 4.0.11 {#clearcache} ```ts diff --git a/packages/vitest/src/node/core.ts b/packages/vitest/src/node/core.ts index 45c47d514..3b7fea5b3 100644 --- a/packages/vitest/src/node/core.ts +++ b/packages/vitest/src/node/core.ts @@ -791,7 +791,7 @@ export class Vitest { } if (options?.staticParse) { - const testModules = await this.experimental_parseSpecifications(files, { + const testModules = await this.parseSpecifications(files, { concurrency: options.staticParseConcurrency, }) return { testModules, unhandledErrors: [] } @@ -855,7 +855,7 @@ export class Vitest { if (this.config.experimental.preParse) { // This populates specification.testModule with parsed information - await this.experimental_parseSpecifications(specifications) + await this.parseSpecifications(specifications) specifications = specifications.filter(({ testModule }) => { return !testModule || testModule.task.mode !== 'skip' }) @@ -1115,7 +1115,18 @@ export class Vitest { ) } - public async experimental_parseSpecifications(specifications: TestSpecification[], options?: { + /** + * @deprecated Use `parseSpecifications` instead + */ + public experimental_parseSpecifications(specifications: TestSpecification[], options?: { + /** @default os.availableParallelism() */ + concurrency?: number + }): Promise { + this.logger.deprecate(`The "experimental_parseSpecifications" method is deprecated. Use "parseSpecifications" instead.`) + return this.parseSpecifications(specifications, options) + } + + public async parseSpecifications(specifications: TestSpecification[], options?: { /** @default os.availableParallelism() */ concurrency?: number }): Promise { diff --git a/test/e2e/test/pre-parse.test.ts b/test/e2e/test/pre-parse.test.ts index 75b400016..71e0531bf 100644 --- a/test/e2e/test/pre-parse.test.ts +++ b/test/e2e/test/pre-parse.test.ts @@ -299,7 +299,7 @@ test('test 4', { meta: { ran: true } }, () => {}) project.createSpecification(fs.resolveFile('./b.test.js')), ] - await vitest.experimental_parseSpecifications(specifications) + await vitest.parseSpecifications(specifications) expect(buildTree(t => t.task.mode)).toMatchInlineSnapshot(` {