electron/script/release/find-github-release.ts
Samuel Attard fc9cda72d2
build: convert all release scripts to typescript (#44059)
* build: convert all release scripts to typescript (#44035)

* build: convert all release scripts to typescript

* fix test imports

* build: fix version bumper export

* refactor: use as const

* spec: fix bad type spec

* build: use ts-node to spawn the version-bumper (#44057)

Missed this in the tsification, we should probably call this via API instead of spawning a sub-proc?

* build: still colors
2024-10-01 12:04:22 +02:00

49 lines
1.1 KiB
TypeScript

import { Octokit } from '@octokit/rest';
import { createGitHubTokenStrategy } from './github-token';
import { ELECTRON_ORG, ELECTRON_REPO, ElectronReleaseRepo, NIGHTLY_REPO } from './types';
if (process.argv.length < 3) {
console.log('Usage: find-release version');
process.exit(1);
}
const version = process.argv[2];
const targetRepo = findRepo();
const octokit = new Octokit({
authStrategy: createGitHubTokenStrategy(targetRepo)
});
function findRepo (): ElectronReleaseRepo {
return version.indexOf('nightly') > 0 ? NIGHTLY_REPO : ELECTRON_REPO;
}
async function findRelease () {
const releases = await octokit.repos.listReleases({
owner: ELECTRON_ORG,
repo: targetRepo
});
const targetRelease = releases.data.find(release => release.tag_name === version);
let returnObject = {};
if (targetRelease) {
returnObject = {
id: targetRelease.id,
draft: targetRelease.draft,
exists: true
};
} else {
returnObject = {
exists: false,
draft: false
};
}
console.log(JSON.stringify(returnObject));
}
findRelease()
.catch((err) => {
console.error(err);
process.exit(1);
});