Skip to content

Commit 4071a8b

Browse files
committed
Relax not-needed version condition
1 parent c112661 commit 4071a8b

File tree

3 files changed

+37
-41
lines changed

3 files changed

+37
-41
lines changed

packages/definitions-parser/src/check-parse-results.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ async function checkNpm(
161161
log(" yarn not-needed " + yarnargs.join(" "));
162162
log(` git add --all && git commit -m "${name}: Provides its own types" && git push -u origin not-needed-${name}`);
163163
log(` And comment PR: This will deprecate \`@types/${name}\` in favor of just \`${name}\`. CC ${contributorUrls}`);
164-
if (semver.gt(`${major}.${minor}.0`, firstTypedVersion)) {
164+
if (semver.gte(`${major}.${minor}.0`, firstTypedVersion)) {
165165
log(" WARNING: our version is greater!");
166166
}
167167
if (dependedOn.has(name)) {

packages/definitions-parser/src/git.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import {
2020
UncachedNpmInfoClient,
2121
NpmInfo,
2222
} from "@definitelytyped/utils";
23-
import * as semver from "semver";
2423
import { getAffectedPackages } from "./get-affected-packages";
2524

2625
export interface GitDiff {
@@ -130,8 +129,7 @@ export async function getAffectedPackagesFromDiff(
130129

131130
/**
132131
* 1. libraryName must exist on npm (SKIPPED and preferably/optionally have been the libraryName in just-deleted header)
133-
* 2. asOfVersion must be newer than `@types/name@latest` on npm
134-
* 3. `name@asOfVersion` must exist on npm
132+
* 2. `name@asOfVersion` must exist on npm
135133
*/
136134
export function checkNotNeededPackage(
137135
unneeded: NotNeededPackage,
@@ -145,15 +143,6 @@ export function checkNotNeededPackage(
145143
Unneeded packages have to be replaced with a package on npm.`
146144
);
147145
typings = assertDefined(typings, `Unexpected error: @types package not found for ${unneeded.fullNpmName}`);
148-
const latestTypings = assertDefined(
149-
typings.distTags.get("latest"),
150-
`Unexpected error: ${unneeded.fullNpmName} is missing the "latest" tag.`
151-
);
152-
assert(
153-
semver.gt(unneeded.version, latestTypings),
154-
`The specified version ${unneeded.version} of ${unneeded.libraryName} must be newer than the version
155-
it is supposed to replace, ${latestTypings} of ${unneeded.fullNpmName}.`
156-
);
157146
assert(
158147
source.versions.has(String(unneeded.version)),
159148
`The specified version ${unneeded.version} of ${unneeded.libraryName} is not on npm.`

packages/definitions-parser/test/git.test.ts

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -82,33 +82,6 @@ testo({
8282
"@types package not found for @types/jest"
8383
);
8484
},
85-
missingTypingsLatest() {
86-
expect(() => checkNotNeededPackage(jestNotNeeded[0], empty, empty)).toThrow(
87-
'@types/jest is missing the "latest" tag'
88-
);
89-
},
90-
deprecatedSameVersion() {
91-
expect(() => {
92-
checkNotNeededPackage(jestNotNeeded[0], empty, {
93-
homepage: "jest.com",
94-
distTags: new Map([["latest", "100.0.0"]]),
95-
versions: new Map(),
96-
time: new Map([["modified", ""]]),
97-
});
98-
}).toThrow(`The specified version 100.0.0 of jest must be newer than the version
99-
it is supposed to replace, 100.0.0 of @types/jest.`);
100-
},
101-
deprecatedOlderVersion() {
102-
expect(() => {
103-
checkNotNeededPackage(jestNotNeeded[0], empty, {
104-
homepage: "jest.com",
105-
distTags: new Map([["latest", "999.0.0"]]),
106-
versions: new Map(),
107-
time: new Map([["modified", ""]]),
108-
});
109-
}).toThrow(`The specified version 100.0.0 of jest must be newer than the version
110-
it is supposed to replace, 999.0.0 of @types/jest.`);
111-
},
11285
missingNpmVersion() {
11386
expect(() => {
11487
checkNotNeededPackage(jestNotNeeded[0], empty, {
@@ -138,7 +111,7 @@ it is supposed to replace, 999.0.0 of @types/jest.`);
138111
)
139112
).toThrow("The specified version 100.0.0 of jest is not on npm.");
140113
},
141-
ok() {
114+
deprecatedNewerVersion() {
142115
checkNotNeededPackage(
143116
jestNotNeeded[0],
144117
{
@@ -155,4 +128,38 @@ it is supposed to replace, 999.0.0 of @types/jest.`);
155128
}
156129
);
157130
},
131+
deprecatedOlderVersion() {
132+
checkNotNeededPackage(
133+
jestNotNeeded[0],
134+
{
135+
homepage: "jest.com",
136+
distTags: new Map(),
137+
versions: new Map([["100.0.0", {}]]),
138+
time: new Map([["modified", ""]]),
139+
},
140+
{
141+
homepage: "jest.com",
142+
distTags: new Map([["latest", "999.0.0"]]),
143+
versions: new Map(),
144+
time: new Map([["modified", ""]]),
145+
}
146+
);
147+
},
148+
deprecatedSameVersion() {
149+
checkNotNeededPackage(
150+
jestNotNeeded[0],
151+
{
152+
homepage: "jest.com",
153+
distTags: new Map(),
154+
versions: new Map([["100.0.0", {}]]),
155+
time: new Map([["modified", ""]]),
156+
},
157+
{
158+
homepage: "jest.com",
159+
distTags: new Map([["latest", "100.0.0"]]),
160+
versions: new Map(),
161+
time: new Map([["modified", ""]]),
162+
}
163+
);
164+
},
158165
});

0 commit comments

Comments
 (0)