npm package diff
Package: @forge/cli
Versions: 10.13.5-next.0-experimental-4d5d98e - 10.13.5-next.0-experimental-f38fac9
File: package/out/command-line/controller/version-controller.js
Index: package/out/command-line/controller/version-controller.js
===================================================================
--- package/out/command-line/controller/version-controller.js
+++ package/out/command-line/controller/version-controller.js
@@ -1,121 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.VersionController = void 0;
-const tslib_1 = require("tslib");
-const fs_1 = require("fs");
-const diff = tslib_1.__importStar(require("diff"));
-class VersionController {
- versionService;
- view;
- constructor(versionService, view) {
- this.versionService = versionService;
- this.view = view;
- }
- async getAppVersionDiff({ environment, version1, version2, outFile }) {
- const [version1Details, version2Details] = await this.view.displayDiffProgress(() => Promise.all([
- this.versionService.getAppVersionDetails(environment, version1),
- this.versionService.getAppVersionDetails(environment, version2)
- ]));
- const omitRegions = (versionDetails) => {
- return {
- ...versionDetails,
- functions: versionDetails.functions?.map((f) => {
- const { regions, ...rest } = f;
- return rest;
- })
- };
- };
- if (outFile) {
- this.writeDiffToFile(omitRegions(version1Details), omitRegions(version2Details), outFile);
- }
- else {
- this.displayDiffInText(omitRegions(version1Details), omitRegions(version2Details), environment);
- }
- }
- async getAppVersionDetails({ environment, majorVersion, json = false, outFile, nonInteractive }) {
- const defaultProperties = ['appVersion', 'deploymentDateTime', 'environmentType'];
- let filteredProperties = [];
- if (!nonInteractive) {
- filteredProperties = await this.view.promptVersionDetailsProperties();
- }
- const request = this.versionService.getAppVersionDetails(environment, majorVersion);
- const versionDetails = nonInteractive ? await request : await this.view.displayDetailsProgress(() => request);
- if (filteredProperties.length === 0) {
- filteredProperties = Object.keys(versionDetails);
- }
- const filteredVersionDetails = Object.keys(versionDetails)
- .filter((key) => [...filteredProperties, ...defaultProperties].includes(key))
- .reduce((obj, key) => {
- obj[key] = versionDetails[key];
- return obj;
- }, {});
- if (outFile) {
- this.writeToFile(filteredVersionDetails, outFile);
- }
- else if (json) {
- this.displayInJson(filteredVersionDetails);
- }
- else {
- this.displayDetailsInTable(filteredVersionDetails, environment);
- }
- }
- writeToFile(data, outFile) {
- this.view.displayWriteToFile(outFile);
- (0, fs_1.writeFileSync)(outFile, JSON.stringify(data, null, 2));
- }
- displayInJson(data) {
- this.view.displayDataInJson(data);
- }
- displayDetailsInTable(details, environment) {
- this.view.displayVersionDetailsBanner(details.appVersion, environment, details.environmentType);
- this.view.displayDetailsAsTable(details);
- }
- displayDiffInText(version1, version2, environment) {
- this.view.displayDiffBanner(version1.appVersion, version2.appVersion, environment, version1.environmentType);
- this.view.displayDiffAsTable({ v1: version1.appVersion, v2: version2.appVersion }, [
- {
- key: 'scopes',
- diff: diff.diffJson(version1.scopes, version2.scopes)
- },
- {
- key: 'deployment date',
- diff: diff.diffJson(version1.deploymentDateTime, version2.deploymentDateTime)
- },
- {
- key: 'egress',
- diff: diff.diffJson(version1.egresses, version2.egresses)
- },
- { key: 'policies', diff: diff.diffJson(version1.policies || [], version2.policies || []) },
- { key: 'connect keys', diff: diff.diffJson(version1.connectKeys || [], version2.connectKeys || []) },
- {
- key: 'functions',
- diff: diff.diffJson(version1.functions || [], version2.functions || [])
- },
- { key: 'modules', diff: diff.diffJson(version1.modules || [], version2.modules || []) },
- { key: 'remotes', diff: diff.diffJson(version1.remotes || [], version2.remotes || []) },
- { key: 'license', diff: diff.diffJson('' + version1.requiresLicense, '' + version2.requiresLicense) }
- ]);
- }
- writeDiffToFile(version1, version2, outFile) {
- this.view.displayWriteToFile(outFile);
- const patch = diff.createTwoFilesPatch(`${version1.appVersion}`, `${version2.appVersion}`, JSON.stringify(version1, null, 2), JSON.stringify(version2, null, 2));
- (0, fs_1.writeFileSync)(outFile, patch);
- }
- async getVersionList({ environment, json, outFile, nonInteractive }) {
- const request = this.versionService.getAppVersionOverviewList(environment);
- const versionList = nonInteractive || json ? await request : await this.view.displayListProgress(() => request);
- if (!nonInteractive && !json) {
- this.view.displayListBanner(versionList.length, environment, versionList[0].environmentType);
- }
- if (outFile) {
- this.writeToFile(versionList, outFile);
- }
- else if (json) {
- this.displayInJson(versionList);
- }
- else {
- this.view.displayVersionList(versionList);
- }
- }
-}
-exports.VersionController = VersionController;