npm package diff

Package: @forge/cli-shared

Versions: 6.6.2-next.5 - 6.6.2-next.6

File: package/out/config/config-file.js

Index: package/out/config/config-file.js
===================================================================
--- package/out/config/config-file.js
+++ package/out/config/config-file.js
@@ -1,7 +1,7 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.ConfigFile = exports.findUIKit1Modules = exports.ResourceDefinitionMissingError = exports.InvalidManifestError = void 0;
+exports.RawConfigFile = exports.ConfigFile = exports.findUIKit1Modules = exports.InvalidConfigAppId = exports.ResourceDefinitionMissingError = exports.InvalidManifestError = void 0;
 const tslib_1 = require("tslib");
 const yaml_1 = require("yaml");
 const ui_1 = require("../ui");
 const _1 = require("./");
@@ -10,8 +10,9 @@
 const manifest_1 = require("@forge/manifest");
 const url_1 = require("url");
 const shared_1 = require("../shared");
 const runtimes_1 = require("../runtimes");
+const ari_1 = require("@forge/util/packages/ari");
 class InvalidManifestError extends shared_1.ValidationError {
     constructor() {
         super(ui_1.Text.artifact.error.invalidYaml(_1.manifestFileName));
     }
@@ -22,8 +23,14 @@
         super(ui_1.Text.error.resourceDefinitionMissing(resources));
     }
 }
 exports.ResourceDefinitionMissingError = ResourceDefinitionMissingError;
+class InvalidConfigAppId extends shared_1.UserError {
+    constructor(appId) {
+        super(ui_1.Text.config.appId.invalid(appId));
+    }
+}
+exports.InvalidConfigAppId = InvalidConfigAppId;
 const isUIKit1 = (module) => {
     return (typeof module === 'object' &&
         module !== null &&
         module.hasOwnProperty('function') &&
@@ -99,8 +106,17 @@
         this.fileReader = fileReader;
         this.fileWriter = fileWriter;
         this.manifestParser = new manifest_1.ManifestParserBuilder().withInterpolators().build();
     }
+    async readAppId() {
+        const manifestFileContents = await this.readConfig();
+        try {
+            return ari_1.EcosystemAppAri.parse(manifestFileContents.app?.id);
+        }
+        catch {
+            throw new InvalidConfigAppId(manifestFileContents.app?.id);
+        }
+    }
     async getAppHandlers() {
         const config = await this.readConfig();
         const functions = config.modules?.function ?? [];
         const handlers = Array.from(new Set(functions.map((f) => f.handler)));
@@ -285,4 +301,16 @@
         return linkedModule.render === 'native' ? 'nativeUI' : 'customUI';
     }
 }
 exports.ConfigFile = ConfigFile;
+class RawConfigFile extends ConfigFile {
+    rawFileReader;
+    constructor(fileReader, fileWriter) {
+        super(fileReader, fileWriter);
+        this.rawFileReader = fileReader;
+    }
+    async readConfig() {
+        const manifest = this.rawFileReader.readFile(_1.manifestFileName);
+        return (0, yaml_1.parse)(manifest);
+    }
+}
+exports.RawConfigFile = RawConfigFile;