From 8d382fb05f593b1208ff874284991c480636b448 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Mon, 9 Jan 2023 08:14:54 -0800 Subject: [PATCH] fix(vite): do not include vitest types in tsconfig.json (#14200) --- packages/vite/src/utils/generator-utils.ts | 37 +++++++++------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/packages/vite/src/utils/generator-utils.ts b/packages/vite/src/utils/generator-utils.ts index b831bd3b0243f..61227d747f3be 100644 --- a/packages/vite/src/utils/generator-utils.ts +++ b/packages/vite/src/utils/generator-utils.ts @@ -342,49 +342,42 @@ export function editTsConfig(tree: Tree, options: Schema) { const config = readJson(tree, `${projectConfig.root}/tsconfig.json`); + const commonCompilerOptions = { + target: 'ESNext', + useDefineForClassFields: true, + module: 'ESNext', + strict: true, + moduleResolution: 'Node', + resolveJsonModule: true, + isolatedModules: true, + types: ['vite/client'], + noEmit: true, + }; + switch (options.uiFramework) { case 'react': config.compilerOptions = { - target: 'ESNext', - useDefineForClassFields: true, - module: 'ESNext', + ...commonCompilerOptions, lib: ['DOM', 'DOM.Iterable', 'ESNext'], allowJs: false, - skipLibCheck: true, esModuleInterop: false, + skipLibCheck: true, allowSyntheticDefaultImports: true, - strict: true, forceConsistentCasingInFileNames: true, - moduleResolution: 'Node', - resolveJsonModule: true, - isolatedModules: true, - noEmit: true, jsx: 'react-jsx', - types: options.includeVitest - ? ['vite/client', 'vitest'] - : ['vite/client'], }; config.include = [...config.include, 'src']; break; case 'none': config.compilerOptions = { - target: 'ESNext', - useDefineForClassFields: true, - module: 'ESNext', + ...commonCompilerOptions, lib: ['ESNext', 'DOM'], skipLibCheck: true, esModuleInterop: true, strict: true, - moduleResolution: 'Node', - resolveJsonModule: true, - isolatedModules: true, - noEmit: true, noUnusedLocals: true, noUnusedParameters: true, noImplicitReturns: true, - types: options.includeVitest - ? ['vite/client', 'vitest'] - : ['vite/client'], }; config.include = [...config.include, 'src']; break;