@cordxapp/lintydeps
Version:
Finds and reports missing or unused dependencies and dev dependencies
44 lines • 1.89 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildStatus = void 0;
const superagent_1 = __importDefault(require("superagent"));
const logger_1 = require("./logger");
const yargs_1 = __importDefault(require("yargs"));
const argv = yargs_1.default.option('token', {
type: 'string',
description: 'GitHub personal access token',
demandOption: true
}).argv;
/**
* Update the build status on GitHub using the GitHub API and Travis CI environment variables
* @param {BuildData} data - The build data
* @returns {Promise<void>}
*/
const buildStatus = async (data) => {
const ORG_NAME = process.env.TRAVIS_REPO_SLUG?.split('/')[0];
const REPO_NAME = process.env.TRAVIS_REPO_SLUG?.split('/')[1];
const COMMIT_SHA = process.env.TRAVIS_COMMIT;
const BUILD_ID = process.env.TRAVIS_BUILD_ID;
const AUTH_TOKEN = process.env[argv.token || 'GITHUB_PERSONAL_TOKEN'];
if (ORG_NAME && REPO_NAME && COMMIT_SHA && BUILD_ID && AUTH_TOKEN) {
const url = `https://api.github.com/repos/${ORG_NAME}/${REPO_NAME}/statuses/${COMMIT_SHA}`;
const body = {
state: data.state,
target_url: `https://travis-ci.com/${ORG_NAME}/${REPO_NAME}/builds/${BUILD_ID}`,
description: data.message,
context: '[lintydeps]: Dependency check'
};
try {
await superagent_1.default.post(url).set('Authorization', `token ${AUTH_TOKEN}`).send(body);
logger_1.logger.success(`Build status updated to ${data.state}`);
}
catch (error) {
logger_1.logger.error(`Failed to update build status: ${error.message}`);
}
}
};
exports.buildStatus = buildStatus;
//# sourceMappingURL=status.js.map