MCPcopy
hub / github.com/vitest-dev/vitest / create

Function create

packages/vitest/src/create/browser/creator.ts:337–490  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

335}
336
337export async function create(): Promise<void> {
338 log(c.cyan('◼'), 'This utility will help you set up a browser testing environment.\n')
339
340 const pkgJsonPath = resolve(process.cwd(), 'package.json')
341 const pkg = readPkgJson(pkgJsonPath) || {}
342 const dependencies = {
343 ...pkg.dependencies,
344 ...pkg.devDependencies,
345 }
346
347 const defaults = getPossibleDefaults(dependencies)
348
349 const { lang } = await prompt({
350 type: 'select',
351 name: 'lang',
352 message: 'Choose a language for your tests',
353 choices: sort(getLanguageOptions(), defaults?.lang),
354 })
355
356 if (!lang) {
357 return fail()
358 }
359
360 const { provider } = await prompt({
361 type: 'select',
362 name: 'provider',
363 message: 'Choose a browser provider. Vitest will use its API to control the testing environment',
364 choices: sort(getProviderOptions(), defaults?.provider),
365 })
366 if (!provider) {
367 return fail()
368 }
369
370 const { browsers } = await prompt({
371 type: 'multiselect',
372 name: 'browsers',
373 message: 'Choose a browser',
374 choices: getBrowserNames(provider).map(browser => ({
375 title: browser,
376 value: browser,
377 })),
378 })
379 if (!provider) {
380 return fail()
381 }
382
383 const { framework } = await prompt({
384 type: 'select',
385 name: 'framework',
386 message: 'Choose your framework',
387 choices: sort(getFramework(), defaults?.framework),
388 })
389 if (!framework) {
390 return fail()
391 }
392
393 let installPlaywright = false
394 if (provider === 'playwright') {

Callers 1

initFunction · 0.50

Calls 15

generateExampleFilesFunction · 0.90
logFunction · 0.85
readPkgJsonFunction · 0.85
getPossibleDefaultsFunction · 0.85
sortFunction · 0.85
getLanguageOptionsFunction · 0.85
getProviderOptionsFunction · 0.85
getBrowserNamesFunction · 0.85
getFrameworkFunction · 0.85
getFrameworkTestPackageFunction · 0.85
installPackagesFunction · 0.85

Tested by

no test coverage detected