Package publication works now.

Only a few fixes needed this time!
This commit is contained in:
Nathan Shively-Sanders
2023-05-12 14:41:35 -07:00
parent 7bca052a32
commit 1749d27ebc
5 changed files with 22 additions and 25 deletions

View File

@@ -116,7 +116,7 @@ export class AllPackages {
tryGetTypingsData({ name, version }: PackageId): TypingsData | undefined {
const versions = this.data.get(getMangledNameForScopedPackage(name));
return versions && versions.tryGet(new semver.Range(version === "*" ? "*" : `^${version.major}${version.minor ?? ""}`));
return versions && versions.tryGet(new semver.Range(version === "*" ? "*" : `^${version.major}.${version.minor ?? ""}`));
}
allPackages(): readonly AnyPackage[] {

View File

@@ -12,12 +12,17 @@ import {
} from "@definitelytyped/utils";
import { fetchTypesPackageVersionInfo } from "@definitelytyped/retag";
import * as pacote from "pacote";
import yargs = require("yargs");
if (!module.parent) {
const log = loggerWithErrors()[0];
const options = { ...defaultLocalOptions };
if (yargs.argv.path) {
options.definitelyTypedPath = yargs.argv.path as string;
}
logUncaughtErrors(async () =>
calculateVersions(
await getDefinitelyTyped(process.env.GITHUB_ACTIONS ? defaultRemoteOptions : defaultLocalOptions, log),
await getDefinitelyTyped(process.env.GITHUB_ACTIONS ? defaultRemoteOptions : options, log),
log
)
);
@@ -51,7 +56,7 @@ async function computeChangedPackages(allPackages: AllPackages, log: LoggerWithE
const { version, needsPublish } = await fetchTypesPackageVersionInfo(pkg, /*publish*/ true, log);
if (needsPublish) {
log.info(`Need to publish: ${pkg.desc}@${version}`);
for (const [ name ] of Object.keys(pkg.packageJsonDependencies)) {
for (const name of Object.keys(pkg.packageJsonDependencies)) {
// Assert that dependencies exist on npm.
// Also checked when we install the dependencies, in dtslint-runner.
await pacote.manifest(name, { cache: cacheDir }).catch((reason) => {

View File

@@ -38,7 +38,11 @@ if (!module.parent) {
const tgz = !!yargs.argv.tgz;
logUncaughtErrors(async () => {
const log = loggerWithErrors()[0];
const dt = await getDefinitelyTyped(defaultLocalOptions, log);
const options = { ...defaultLocalOptions, definitelyTypedPath: outputDirPath, parseInParallel: true };
if (yargs.argv.path) {
options.definitelyTypedPath = yargs.argv.path as string;
}
const dt = await getDefinitelyTyped(options, log);
const allPackages = await AllPackages.read(dt);
await generatePackages(dt, await readChangedPackages(allPackages), tgz);
});

View File

@@ -37,7 +37,7 @@ export async function readChangedPackages(allPackages: AllPackages): Promise<Cha
const json = (await readDataFile("calculate-versions", versionsFilename)) as ChangedPackagesJson;
return {
changedTypings: json.changedTypings.map(
({ id, version, latestVersion }): ChangedTyping => ({
({ id, version, latestVersion }) => ({
pkg: allPackages.getTypingsData(id),
version,
latestVersion,

View File

@@ -19,7 +19,11 @@ import { getSecret, Secret } from "./lib/secrets";
if (!module.parent) {
const dry = !!yargs.argv.dry;
logUncaughtErrors(async () => {
const dt = await getDefinitelyTyped(defaultLocalOptions, loggerWithErrors()[0]);
const options = { ...defaultLocalOptions, parseInParallel: true };
if (yargs.argv.path) {
options.definitelyTypedPath = yargs.argv.path as string;
}
const dt = await getDefinitelyTyped(options, loggerWithErrors()[0]);
await publishPackages(
await readChangedPackages(await AllPackages.read(dt)),
dry,
@@ -72,6 +76,9 @@ export default async function publishPackages(
fetcher
)) as { items: { number: number }[] };
let latestPr = 0;
if (!prs.items) {
console.log(prs)
}
for (const pr of prs.items) {
if (pr.number > latestPr) {
latestPr = pr.number;
@@ -86,8 +93,6 @@ export default async function publishPackages(
githubAccessToken,
fetcher
)) as { merged_at: string };
const latency = Date.now() - new Date(latest.merged_at).valueOf();
const commitlatency = Date.now() - new Date(commits[0].commit.author.date).valueOf();
log("Current date is " + new Date(Date.now()).toString());
log(" Merge date is " + new Date(latest.merged_at).toString());
@@ -106,23 +111,6 @@ export default async function publishPackages(
);
log("From github: " + JSON.stringify(commented).slice(0, 200));
}
if (dry) {
log("(dry) Not logging latency");
} else {
applicationinsights.defaultClient.trackEvent({
name: "publish package",
properties: {
name: cp.pkg.desc,
latency: latency.toString(),
commitLatency: commitlatency.toString(),
authorCommit: commits[0].sha,
pr: latestPr.toString(),
},
});
applicationinsights.defaultClient.trackMetric({ name: "publish latency", value: latency });
applicationinsights.defaultClient.trackMetric({ name: "author commit latency", value: commitlatency });
log("Done logging latency");
}
}
}