Skip to content

Commit cfaa4c0

Browse files
committed
Add deprecated field to not-needed package.json
1 parent b7953cb commit cfaa4c0

File tree

4 files changed

+18
-52
lines changed

4 files changed

+18
-52
lines changed

packages/publisher/src/generate-packages.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -210,20 +210,19 @@ function dependencySemver(dependency: DependencyVersion): string {
210210
return dependency === "*" ? dependency : "^" + formatTypingVersion(dependency);
211211
}
212212

213-
export function createNotNeededPackageJSON({ libraryName, license, fullNpmName, version }: NotNeededPackage): string {
213+
export function createNotNeededPackageJSON(pkg: NotNeededPackage): string {
214214
const out = {
215-
name: fullNpmName,
216-
version: String(version),
217-
typings: null, // tslint:disable-line no-null-keyword
218-
description: `Stub TypeScript definitions entry for ${libraryName}, which provides its own types definitions`,
215+
name: pkg.fullNpmName,
216+
version: String(pkg.version),
217+
description: `Stub TypeScript definitions entry for ${pkg.libraryName}, which provides its own types definitions`,
219218
main: "",
220219
scripts: {},
221-
author: "",
222-
license,
220+
license: pkg.license,
223221
// No `typings`, that's provided by the dependency.
224222
dependencies: {
225-
[libraryName]: "*",
223+
[pkg.libraryName]: "*",
226224
},
225+
deprecated: pkg.deprecatedMessage(),
227226
};
228227
return JSON.stringify(out, undefined, 4);
229228
}

packages/publisher/src/lib/package-publisher.ts

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,10 @@ export async function publishNotNeededPackage(
3333
): Promise<void> {
3434
log(`Deprecating ${pkg.name}`);
3535
await common(client, pkg, log, dry);
36-
// Don't use a newline in the deprecation message because it will be displayed as "\n" and not as a newline.
37-
await deprecateNotNeededPackage(client, pkg, dry, log);
3836
}
3937

4038
async function common(client: NpmPublishClient, pkg: AnyPackage, log: Logger, dry: boolean): Promise<void> {
4139
const packageDir = outputDirectory(pkg);
4240
const packageJson = await readFileAndWarn("generate", joinPaths(packageDir, "package.json"));
4341
await client.publish(packageDir, packageJson, dry, log);
4442
}
45-
46-
export async function deprecateNotNeededPackage(
47-
client: NpmPublishClient,
48-
pkg: NotNeededPackage,
49-
dry = false,
50-
log: Logger
51-
): Promise<void> {
52-
const name = pkg.fullNpmName;
53-
if (dry) {
54-
log("(dry) Skip deprecate not needed package " + name + " at " + pkg.version);
55-
} else {
56-
log(`Deprecating ${name} at ${pkg.version} with message: ${pkg.deprecatedMessage()}.`);
57-
await client.deprecate(name, String(pkg.version), pkg.deprecatedMessage());
58-
}
59-
}

packages/publisher/src/publish-packages.ts

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import applicationinsights = require("applicationinsights");
22
import * as yargs from "yargs";
33

44
import { defaultLocalOptions } from "./lib/common";
5-
import { deprecateNotNeededPackage, publishNotNeededPackage, publishTypingsPackage } from "./lib/package-publisher";
5+
import { publishNotNeededPackage, publishTypingsPackage } from "./lib/package-publisher";
66
import { getDefinitelyTyped, AllPackages } from "@definitelytyped/definitions-parser";
77
import {
88
loggerWithErrors,
@@ -21,28 +21,14 @@ import { cacheDirPath } from "./lib/settings";
2121

2222
if (!module.parent) {
2323
const dry = !!yargs.argv.dry;
24-
const deprecateName = yargs.argv.deprecate as string | undefined;
2524
logUncaughtErrors(async () => {
2625
const dt = await getDefinitelyTyped(defaultLocalOptions, loggerWithErrors()[0]);
27-
if (deprecateName !== undefined) {
28-
// A '--deprecate' command is available in case types-publisher got stuck *while* trying to deprecate a package.
29-
// Normally this should not be needed.
30-
31-
const log = logger()[0];
32-
await deprecateNotNeededPackage(
33-
await NpmPublishClient.create(await getSecret(Secret.NPM_TOKEN), undefined),
34-
AllPackages.readSingleNotNeeded(deprecateName, dt),
35-
/*dry*/ false,
36-
log
37-
);
38-
} else {
39-
await publishPackages(
40-
await readChangedPackages(await AllPackages.read(dt)),
41-
dry,
42-
process.env.GH_API_TOKEN || "",
43-
new Fetcher()
44-
);
45-
}
26+
await publishPackages(
27+
await readChangedPackages(await AllPackages.read(dt)),
28+
dry,
29+
process.env.GH_API_TOKEN || "",
30+
new Fetcher()
31+
);
4632
});
4733
}
4834

packages/publisher/test/generate-packages.test.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,15 +141,14 @@ testo({
141141
expect(s).toEqual(`{
142142
"name": "@types/absalom",
143143
"version": "1.1.1",
144-
"typings": null,
145144
"description": "Stub TypeScript definitions entry for alternate, which provides its own types definitions",
146145
"main": "",
147146
"scripts": {},
148-
"author": "",
149147
"license": "MIT",
150148
"dependencies": {
151149
"alternate": "*"
152-
}
150+
},
151+
"deprecated": "This is a stub types definition. alternate provides its own type definitions, so you do not need this installed."
153152
}`);
154153
},
155154
scopedNotNeededPackageJson() {
@@ -158,15 +157,14 @@ testo({
158157
expect(s).toEqual(`{
159158
"name": "@types/google-cloud__pubsub",
160159
"version": "0.26.0",
161-
"typings": null,
162160
"description": "Stub TypeScript definitions entry for @google-cloud/chubdub, which provides its own types definitions",
163161
"main": "",
164162
"scripts": {},
165-
"author": "",
166163
"license": "MIT",
167164
"dependencies": {
168165
"@google-cloud/chubdub": "*"
169-
}
166+
},
167+
"deprecated": "This is a stub types definition. @google-cloud/chubdub provides its own type definitions, so you do not need this installed."
170168
}`);
171169
},
172170
});

0 commit comments

Comments
 (0)