From 76cbaa23101b5faf4a31ec3c2d2f8e433695f1b1 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 2 Apr 2025 14:27:12 -0700 Subject: [PATCH 1/3] Warn on unsupported versions but validate, skip tests --- .changeset/dull-balloons-look.md | 6 ++++++ packages/dtslint/src/index.ts | 9 +++++++-- packages/header-parser/src/index.ts | 9 +++++---- 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 .changeset/dull-balloons-look.md diff --git a/.changeset/dull-balloons-look.md b/.changeset/dull-balloons-look.md new file mode 100644 index 0000000000..79f124c07b --- /dev/null +++ b/.changeset/dull-balloons-look.md @@ -0,0 +1,6 @@ +--- +"@definitelytyped/header-parser": patch +"@definitelytyped/dtslint": patch +--- + +Warn on unsupported versions but validate, skip tests diff --git a/packages/dtslint/src/index.ts b/packages/dtslint/src/index.ts index 791104c020..dfd45c0478 100644 --- a/packages/dtslint/src/index.ts +++ b/packages/dtslint/src/index.ts @@ -208,8 +208,13 @@ async function runTests( // associated ts3.2, ts3.5, ts3.6 directories, for // <=3.2, <=3.5, <=3.6 respectively; the root level is for 3.7 and above. // so this code needs to generate ranges [lowest-3.2, 3.3-3.5, 3.6-3.6, 3.7-latest] - const lows = [TypeScriptVersion.lowest, ...typesVersions.map(next)]; - const his = [...typesVersions, TypeScriptVersion.latest]; + const supportedTypesVersions = typesVersions.filter(TypeScriptVersion.isSupported); + if (supportedTypesVersions.length !== typesVersions.length) { + const unsupportedTypesVersions = typesVersions.filter((v) => !TypeScriptVersion.isSupported(v)); + warnings.push(`Package ${packageName} has unsupported TypeScript versions that will not be tested: ${unsupportedTypesVersions.join(", ")}`); + } + const lows = [TypeScriptVersion.lowest, ...supportedTypesVersions.map(next)]; + const his = [...supportedTypesVersions, TypeScriptVersion.latest]; assert.strictEqual(lows.length, his.length); for (let i = 0; i < lows.length; i++) { const low = maxVersion(minVersion, lows[i]); diff --git a/packages/header-parser/src/index.ts b/packages/header-parser/src/index.ts index cf6b880452..8d3d2c60c1 100644 --- a/packages/header-parser/src/index.ts +++ b/packages/header-parser/src/index.ts @@ -327,7 +327,7 @@ export function validatePackageJson( } } -export function getTypesVersions(dirPath: string): readonly TypeScriptVersion[] { +export function getTypesVersions(dirPath: string): readonly AllTypeScriptVersion[] { return mapDefined(fs.readdirSync(dirPath), (name) => { if (name === "tsconfig.json") { return undefined; @@ -340,9 +340,10 @@ export function getTypesVersions(dirPath: string): readonly TypeScriptVersion[] if (!TypeScriptVersion.isTypeScriptVersion(version)) { throw new Error(`There is an entry named ${name}, but ${version} is not a valid TypeScript version.`); } - if (!TypeScriptVersion.isSupported(version)) { - throw new Error(`At ${dirPath}/${name}: TypeScript version ${version} is not supported on Definitely Typed.`); - } + // if (!TypeScriptVersion.isSupported(version)) { + // // return undefined; + // throw new Error(`At ${dirPath}/${name}: TypeScript version ${version} is not supported on Definitely Typed.`); + // } return version; }); } From 4edee49918c88554647bfd2cefb3cf7de6b23b7c Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 2 Apr 2025 14:28:16 -0700 Subject: [PATCH 2/3] Fix --- packages/dtslint/src/index.ts | 4 +++- packages/header-parser/src/index.ts | 5 +---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/dtslint/src/index.ts b/packages/dtslint/src/index.ts index dfd45c0478..69380537e7 100644 --- a/packages/dtslint/src/index.ts +++ b/packages/dtslint/src/index.ts @@ -211,7 +211,9 @@ async function runTests( const supportedTypesVersions = typesVersions.filter(TypeScriptVersion.isSupported); if (supportedTypesVersions.length !== typesVersions.length) { const unsupportedTypesVersions = typesVersions.filter((v) => !TypeScriptVersion.isSupported(v)); - warnings.push(`Package ${packageName} has unsupported TypeScript versions that will not be tested: ${unsupportedTypesVersions.join(", ")}`); + warnings.push( + `Package ${packageName} has unsupported TypeScript versions that will not be tested: ${unsupportedTypesVersions.join(", ")}`, + ); } const lows = [TypeScriptVersion.lowest, ...supportedTypesVersions.map(next)]; const his = [...supportedTypesVersions, TypeScriptVersion.latest]; diff --git a/packages/header-parser/src/index.ts b/packages/header-parser/src/index.ts index 8d3d2c60c1..c07e59877e 100644 --- a/packages/header-parser/src/index.ts +++ b/packages/header-parser/src/index.ts @@ -340,10 +340,7 @@ export function getTypesVersions(dirPath: string): readonly AllTypeScriptVersion if (!TypeScriptVersion.isTypeScriptVersion(version)) { throw new Error(`There is an entry named ${name}, but ${version} is not a valid TypeScript version.`); } - // if (!TypeScriptVersion.isSupported(version)) { - // // return undefined; - // throw new Error(`At ${dirPath}/${name}: TypeScript version ${version} is not supported on Definitely Typed.`); - // } + return version; }); } From 6ae14288b0e68bbae30faaf910c10d478f4dc354 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 3 Apr 2025 08:28:29 -0700 Subject: [PATCH 3/3] Comment out instead --- packages/header-parser/src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/header-parser/src/index.ts b/packages/header-parser/src/index.ts index c07e59877e..0847c31bfe 100644 --- a/packages/header-parser/src/index.ts +++ b/packages/header-parser/src/index.ts @@ -340,7 +340,9 @@ export function getTypesVersions(dirPath: string): readonly AllTypeScriptVersion if (!TypeScriptVersion.isTypeScriptVersion(version)) { throw new Error(`There is an entry named ${name}, but ${version} is not a valid TypeScript version.`); } - + // if (!TypeScriptVersion.isSupported(version)) { + // throw new Error(`At ${dirPath}/${name}: TypeScript version ${version} is not supported on Definitely Typed.`); + // } return version; }); }