diff --git a/packages/perf/src/measure/measurePerf.ts b/packages/perf/src/measure/measurePerf.ts
index 8ee58a631f..a663e87510 100644
--- a/packages/perf/src/measure/measurePerf.ts
+++ b/packages/perf/src/measure/measurePerf.ts
@@ -257,7 +257,8 @@ function getLatestTypesVersionForTypeScriptVersion(
 ): string | undefined {
   const tsVersion = Semver.parse(typeScriptVersion.replace(/-dev.*$/, ""));
   for (let i = typesVersions.length - 1; i > 0; i--) {
-    const typesVersion = Semver.parse(typesVersions[i]);
+    const [major, minor] = typesVersions[i].split(".").map(Number); // e.g. '3.5'
+    const typesVersion = new Semver(major, minor, 0);
     if (tsVersion.greaterThan(typesVersion)) {
       return typesVersions[i];
     }
diff --git a/packages/utils/src/semver.ts b/packages/utils/src/semver.ts
index f54d45c559..854c626288 100644
--- a/packages/utils/src/semver.ts
+++ b/packages/utils/src/semver.ts
@@ -8,7 +8,7 @@ export class Semver {
     return result;
   }
 
-  static fromRaw({ major, minor, patch }: Semver): Semver {
+  static fromRaw({ major, minor, patch }: { major: number; minor: number; patch: number }): Semver {
     return new Semver(major, minor, patch);
   }