UNPKG

@ts-dev-tools/core

Version:
48 lines (46 loc) 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.up = exports.MANAGED_CORE_VITEST_CONFIG = exports.VITEST_CONFIG_FILE_NAME = void 0; const node_path_1 = require("node:path"); const FileService_1 = require("../../services/FileService"); const PackageJson_1 = require("../../services/PackageJson"); const PackageManagerService_1 = require("../../services/PackageManagerService"); exports.VITEST_CONFIG_FILE_NAME = "vitest.config.ts"; exports.MANAGED_CORE_VITEST_CONFIG = `import { defineConfig } from "vitest/config"; export default defineConfig({ test: { coverage: { include: ["src/**/*.{ts,tsx,js,jsx}"], provider: "v8", }, environment: "node", globals: true, }, }); `; const up = async (absoluteProjectDir) => { const packageManager = PackageManagerService_1.PackageManagerService.detectPackageManager(absoluteProjectDir); const packageJson = PackageJson_1.PackageJson.fromDirPath(absoluteProjectDir); const packageJsonContent = packageJson.getContent(); delete packageJsonContent.jest; const scripts = { ...packageJsonContent.scripts, test: "vitest run", "test:ci": `${packageManager} run test:cov`, "test:cov": "vitest run --coverage", "test:watch": "vitest", vitest: "vitest", }; delete scripts.jest; packageJsonContent.scripts = scripts; packageJson.setContent(packageJsonContent); putManagedVitestConfig(absoluteProjectDir, exports.MANAGED_CORE_VITEST_CONFIG); }; exports.up = up; function putManagedVitestConfig(absoluteProjectDir, managedContent) { const vitestConfigFilePath = (0, node_path_1.join)(absoluteProjectDir, exports.VITEST_CONFIG_FILE_NAME); if (FileService_1.FileService.fileExists(vitestConfigFilePath)) { return; } FileService_1.FileService.putFileContent(vitestConfigFilePath, managedContent); }