@jobgetapp/rush-needs-deploy-plugin
Version:
Utility to list all deployable projects with changes.
66 lines • 2.79 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.terminal = void 0;
const node_core_library_1 = require("@rushstack/node-core-library");
const rush_sdk_1 = require("@rushstack/rush-sdk");
const ChangeManager_1 = require("@rushstack/rush-sdk/lib/logic/ChangeManager");
const services_1 = require("./services");
exports.terminal = new node_core_library_1.Terminal(new node_core_library_1.ConsoleTerminalProvider());
process.exitCode = 1;
const paramsToConfig = (argv) => {
const config = {};
let index = 0;
while (index < argv.length - 1) {
const paramFlag = argv[index];
const paramValue = argv[index + 1];
if (paramFlag === '-p' || paramFlag === '--version-policy') {
config.versionPolicyName = paramValue;
index += 2; // Consume flag and value
}
else if (paramFlag === '-m' || paramFlag === '--path-pattern') {
config.pathPattern = paramValue;
index += 2; // Consume flag and value
}
else {
index += 1; // Next arg
}
}
return config;
};
function main() {
return __awaiter(this, void 0, void 0, function* () {
try {
const rushConfiguration = rush_sdk_1.RushConfiguration.loadFromDefaultLocation({
startingFolder: process.cwd()
});
const changeManager = new ChangeManager_1.ChangeManager(rushConfiguration, new Set());
const changeService = new services_1.ChangeService(rushConfiguration, changeManager, exports.terminal);
const changes = yield changeService.getChangedProjects(paramsToConfig(process.argv));
exports.terminal.writeLine(JSON.stringify(changes, null, 2));
}
catch (error) {
if (error.message) {
exports.terminal.writeErrorLine(error.message);
}
else {
throw error;
}
}
});
}
main()
.then(() => {
process.exitCode = 0;
})
.catch(console.error);
//# sourceMappingURL=index.js.map