mirror of
https://github.com/chenasraf/DefinitelyTyped-tools.git
synced 2026-05-18 01:49:03 +00:00
Package publication works now.
Only a few fixes needed this time!
This commit is contained in:
@@ -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[] {
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user