@sap-ux/project-access 1.32.11 → 1.32.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { FileName, DirName, FioriToolsSettings, MinCdsPluginUi5Version, MinCdsVersion } from './constants';
2
2
  export { getFilePaths } from './file';
3
- export { addPackageDevDependency, clearCdsModuleCache, createApplicationAccess, createProjectAccess, deleteCapApp, filterDataSourcesByType, findAllApps, findCapProjectRoot, findCapProjects, findFioriArtifacts, findProjectRoot, findRootsForPath, getAllUi5YamlFileNames, getAppRootFromWebappPath, getAppProgrammingLanguage, getAppType, getCapCustomPaths, getCapEnvironment, getCapModelAndServices, getCapServiceName, getCapProjectType, getCdsFiles, getCdsRoots, getCdsServices, getCapI18nFolderNames, getSpecification, getSpecificationPath, getI18nPropertiesPaths, getI18nBundles, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getMtaPath, getMockServerConfig, getMockDataPath, getNodeModulesPath, getProject, getProjectType, getWebappPath, hasUI5CliV3, isCapProject, isCapJavaProject, isCapNodeJsProject, loadModuleFromProject, readCapServiceMetadataEdmx, readUi5Yaml, refreshSpecificationDistTags, toReferenceUri, updatePackageScript, getWorkspaceInfo, hasMinCdsVersion, checkCdsUi5PluginEnabled, readFlexChanges } from './project';
3
+ export { addPackageDevDependency, clearCdsModuleCache, createApplicationAccess, createProjectAccess, deleteCapApp, filterDataSourcesByType, findAllApps, findCapProjectRoot, findCapProjects, findFioriArtifacts, findProjectRoot, findRootsForPath, getAllUi5YamlFileNames, getAppRootFromWebappPath, getAppProgrammingLanguage, getAppType, getCapCustomPaths, getCapEnvironment, getCapModelAndServices, getCapServiceName, getCapProjectType, getCdsFiles, getCdsRoots, getCdsServices, getCapI18nFolderNames, getSpecification, getSpecificationPath, getI18nPropertiesPaths, getI18nBundles, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getMtaPath, getMockServerConfig, getMockDataPath, getNodeModulesPath, getPathMappings, getProject, getProjectType, getWebappPath, hasUI5CliV3, isCapProject, isCapJavaProject, isCapNodeJsProject, loadModuleFromProject, readCapServiceMetadataEdmx, readUi5Yaml, refreshSpecificationDistTags, toReferenceUri, updatePackageScript, getWorkspaceInfo, hasMinCdsVersion, checkCdsUi5PluginEnabled, readFlexChanges } from './project';
4
4
  export { execNpmCommand } from './command/npm-command';
5
5
  export * from './types';
6
6
  export * from './library';
package/dist/index.js CHANGED
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.loadModuleFromProject = exports.isCapNodeJsProject = exports.isCapJavaProject = exports.isCapProject = exports.hasUI5CliV3 = exports.getWebappPath = exports.getProjectType = exports.getProject = exports.getNodeModulesPath = exports.getMockDataPath = exports.getMockServerConfig = exports.getMtaPath = exports.getMinimumUI5Version = exports.getMinUI5VersionAsArray = exports.getMinUI5VersionFromManifest = exports.getI18nBundles = exports.getI18nPropertiesPaths = exports.getSpecificationPath = exports.getSpecification = exports.getCapI18nFolderNames = exports.getCdsServices = exports.getCdsRoots = exports.getCdsFiles = exports.getCapProjectType = exports.getCapServiceName = exports.getCapModelAndServices = exports.getCapEnvironment = exports.getCapCustomPaths = exports.getAppType = exports.getAppProgrammingLanguage = exports.getAppRootFromWebappPath = exports.getAllUi5YamlFileNames = exports.findRootsForPath = exports.findProjectRoot = exports.findFioriArtifacts = exports.findCapProjects = exports.findCapProjectRoot = exports.findAllApps = exports.filterDataSourcesByType = exports.deleteCapApp = exports.createProjectAccess = exports.createApplicationAccess = exports.clearCdsModuleCache = exports.addPackageDevDependency = exports.getFilePaths = exports.MinCdsVersion = exports.MinCdsPluginUi5Version = exports.FioriToolsSettings = exports.DirName = exports.FileName = void 0;
18
- exports.hasDependency = exports.execNpmCommand = exports.readFlexChanges = exports.checkCdsUi5PluginEnabled = exports.hasMinCdsVersion = exports.getWorkspaceInfo = exports.updatePackageScript = exports.toReferenceUri = exports.refreshSpecificationDistTags = exports.readUi5Yaml = exports.readCapServiceMetadataEdmx = void 0;
17
+ exports.isCapNodeJsProject = exports.isCapJavaProject = exports.isCapProject = exports.hasUI5CliV3 = exports.getWebappPath = exports.getProjectType = exports.getProject = exports.getPathMappings = exports.getNodeModulesPath = exports.getMockDataPath = exports.getMockServerConfig = exports.getMtaPath = exports.getMinimumUI5Version = exports.getMinUI5VersionAsArray = exports.getMinUI5VersionFromManifest = exports.getI18nBundles = exports.getI18nPropertiesPaths = exports.getSpecificationPath = exports.getSpecification = exports.getCapI18nFolderNames = exports.getCdsServices = exports.getCdsRoots = exports.getCdsFiles = exports.getCapProjectType = exports.getCapServiceName = exports.getCapModelAndServices = exports.getCapEnvironment = exports.getCapCustomPaths = exports.getAppType = exports.getAppProgrammingLanguage = exports.getAppRootFromWebappPath = exports.getAllUi5YamlFileNames = exports.findRootsForPath = exports.findProjectRoot = exports.findFioriArtifacts = exports.findCapProjects = exports.findCapProjectRoot = exports.findAllApps = exports.filterDataSourcesByType = exports.deleteCapApp = exports.createProjectAccess = exports.createApplicationAccess = exports.clearCdsModuleCache = exports.addPackageDevDependency = exports.getFilePaths = exports.MinCdsVersion = exports.MinCdsPluginUi5Version = exports.FioriToolsSettings = exports.DirName = exports.FileName = void 0;
18
+ exports.hasDependency = exports.execNpmCommand = exports.readFlexChanges = exports.checkCdsUi5PluginEnabled = exports.hasMinCdsVersion = exports.getWorkspaceInfo = exports.updatePackageScript = exports.toReferenceUri = exports.refreshSpecificationDistTags = exports.readUi5Yaml = exports.readCapServiceMetadataEdmx = exports.loadModuleFromProject = void 0;
19
19
  var constants_1 = require("./constants");
20
20
  Object.defineProperty(exports, "FileName", { enumerable: true, get: function () { return constants_1.FileName; } });
21
21
  Object.defineProperty(exports, "DirName", { enumerable: true, get: function () { return constants_1.DirName; } });
@@ -61,6 +61,7 @@ Object.defineProperty(exports, "getMtaPath", { enumerable: true, get: function (
61
61
  Object.defineProperty(exports, "getMockServerConfig", { enumerable: true, get: function () { return project_1.getMockServerConfig; } });
62
62
  Object.defineProperty(exports, "getMockDataPath", { enumerable: true, get: function () { return project_1.getMockDataPath; } });
63
63
  Object.defineProperty(exports, "getNodeModulesPath", { enumerable: true, get: function () { return project_1.getNodeModulesPath; } });
64
+ Object.defineProperty(exports, "getPathMappings", { enumerable: true, get: function () { return project_1.getPathMappings; } });
64
65
  Object.defineProperty(exports, "getProject", { enumerable: true, get: function () { return project_1.getProject; } });
65
66
  Object.defineProperty(exports, "getProjectType", { enumerable: true, get: function () { return project_1.getProjectType; } });
66
67
  Object.defineProperty(exports, "getWebappPath", { enumerable: true, get: function () { return project_1.getWebappPath; } });
@@ -278,9 +278,25 @@ class ProjectAccessImp {
278
278
  return Object.keys(this._project.apps);
279
279
  }
280
280
  /**
281
- * Returns an instance of an application for a given application ID. The contains information about the application, like paths and services.
281
+ * Get application ID (the relative path from project root to app root) for a given 'sap.app.id' from the manifest.
282
282
  *
283
- * @param appId - application ID
283
+ * @param manifestAppId - The 'sap.app.id' from the manifest
284
+ * @returns - application ID (the relative path from project root to app root) or undefined if not found
285
+ */
286
+ async getApplicationIdByManifestAppId(manifestAppId) {
287
+ for (const [appId, { manifest: manifestPath }] of Object.entries(this._project.apps)) {
288
+ const manifestContent = await (0, file_1.readJSON)(manifestPath, this.options?.memFs);
289
+ if (manifestContent['sap.app']?.id === manifestAppId) {
290
+ return appId;
291
+ }
292
+ }
293
+ return undefined;
294
+ }
295
+ /**
296
+ * Returns an instance of an application for a given application ID (the relative path from project root to app root, NOT the 'sap.app.id' from the manifest).
297
+ * It contains information about the application, like paths and services.
298
+ *
299
+ * @param appId - application ID (the relative path from project root to app root, NOT the 'sap.app.id' from the manifest)
284
300
  * @returns - Instance of ApplicationAccess that contains information about the application, like paths and services
285
301
  */
286
302
  getApplication(appId) {
@@ -334,15 +350,15 @@ function isEditor(argument) {
334
350
  */
335
351
  async function createApplicationAccess(appRoot, fs) {
336
352
  try {
337
- const apps = await (0, search_1.findAllApps)([appRoot]);
338
- const app = apps.find((app) => app.appRoot === appRoot);
339
- if (!app) {
340
- throw new Error(`Could not find app with root ${appRoot}`);
341
- }
342
353
  let options;
343
354
  if (fs) {
344
355
  options = isEditor(fs) ? { fs } : fs;
345
356
  }
357
+ const apps = await (0, search_1.findAllApps)([appRoot], options?.fs);
358
+ const app = apps.find((app) => app.appRoot === appRoot);
359
+ if (!app) {
360
+ throw new Error(`Could not find app with root ${appRoot}`);
361
+ }
346
362
  const project = await (0, info_1.getProject)(app.projectRoot, options?.fs);
347
363
  const appId = (0, node_path_1.relative)(project.root, appRoot);
348
364
  return new ApplicationAccessImp(project, appId, options);
@@ -5,7 +5,7 @@ export { getCapI18nFolderNames, getI18nPropertiesPaths, getI18nBundles } from '.
5
5
  export { getAppProgrammingLanguage, getAppType, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getProject, getProjectType } from './info';
6
6
  export { loadModuleFromProject } from './module-loader';
7
7
  export { findAllApps, findCapProjects, findFioriArtifacts, findProjectRoot, getAppRootFromWebappPath, findCapProjectRoot, findRootsForPath } from './search';
8
- export { getWebappPath, readUi5Yaml, getAllUi5YamlFileNames, getMockServerConfig, getMockDataPath } from './ui5-config';
8
+ export { getWebappPath, readUi5Yaml, getAllUi5YamlFileNames, getMockServerConfig, getMockDataPath, getPathMappings } from './ui5-config';
9
9
  export { getMtaPath } from './mta';
10
10
  export { createApplicationAccess, createProjectAccess } from './access';
11
11
  export { updatePackageScript, hasUI5CliV3 } from './script';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasUI5CliV3 = exports.updatePackageScript = exports.createProjectAccess = exports.createApplicationAccess = exports.getMtaPath = exports.getMockDataPath = exports.getMockServerConfig = exports.getAllUi5YamlFileNames = exports.readUi5Yaml = exports.getWebappPath = exports.findRootsForPath = exports.findCapProjectRoot = exports.getAppRootFromWebappPath = exports.findProjectRoot = exports.findFioriArtifacts = exports.findCapProjects = exports.findAllApps = exports.loadModuleFromProject = exports.getProjectType = exports.getProject = exports.getMinimumUI5Version = exports.getMinUI5VersionAsArray = exports.getMinUI5VersionFromManifest = exports.getAppType = exports.getAppProgrammingLanguage = exports.getI18nBundles = exports.getI18nPropertiesPaths = exports.getCapI18nFolderNames = exports.hasDependency = exports.getNodeModulesPath = exports.addPackageDevDependency = exports.filterDataSourcesByType = exports.checkCdsUi5PluginEnabled = exports.hasMinCdsVersion = exports.getWorkspaceInfo = exports.toReferenceUri = exports.readCapServiceMetadataEdmx = exports.isCapNodeJsProject = exports.isCapJavaProject = exports.isCapProject = exports.getCdsServices = exports.getCdsRoots = exports.getCdsFiles = exports.getCapServiceName = exports.getCapProjectType = exports.getCapModelAndServices = exports.getCapEnvironment = exports.getCapCustomPaths = exports.deleteCapApp = exports.clearCdsModuleCache = void 0;
4
- exports.readFlexChanges = exports.refreshSpecificationDistTags = exports.getSpecificationPath = exports.getSpecification = void 0;
3
+ exports.updatePackageScript = exports.createProjectAccess = exports.createApplicationAccess = exports.getMtaPath = exports.getPathMappings = exports.getMockDataPath = exports.getMockServerConfig = exports.getAllUi5YamlFileNames = exports.readUi5Yaml = exports.getWebappPath = exports.findRootsForPath = exports.findCapProjectRoot = exports.getAppRootFromWebappPath = exports.findProjectRoot = exports.findFioriArtifacts = exports.findCapProjects = exports.findAllApps = exports.loadModuleFromProject = exports.getProjectType = exports.getProject = exports.getMinimumUI5Version = exports.getMinUI5VersionAsArray = exports.getMinUI5VersionFromManifest = exports.getAppType = exports.getAppProgrammingLanguage = exports.getI18nBundles = exports.getI18nPropertiesPaths = exports.getCapI18nFolderNames = exports.hasDependency = exports.getNodeModulesPath = exports.addPackageDevDependency = exports.filterDataSourcesByType = exports.checkCdsUi5PluginEnabled = exports.hasMinCdsVersion = exports.getWorkspaceInfo = exports.toReferenceUri = exports.readCapServiceMetadataEdmx = exports.isCapNodeJsProject = exports.isCapJavaProject = exports.isCapProject = exports.getCdsServices = exports.getCdsRoots = exports.getCdsFiles = exports.getCapServiceName = exports.getCapProjectType = exports.getCapModelAndServices = exports.getCapEnvironment = exports.getCapCustomPaths = exports.deleteCapApp = exports.clearCdsModuleCache = void 0;
4
+ exports.readFlexChanges = exports.refreshSpecificationDistTags = exports.getSpecificationPath = exports.getSpecification = exports.hasUI5CliV3 = void 0;
5
5
  var cap_1 = require("./cap");
6
6
  Object.defineProperty(exports, "clearCdsModuleCache", { enumerable: true, get: function () { return cap_1.clearCdsModuleCache; } });
7
7
  Object.defineProperty(exports, "deleteCapApp", { enumerable: true, get: function () { return cap_1.deleteCapApp; } });
@@ -55,6 +55,7 @@ Object.defineProperty(exports, "readUi5Yaml", { enumerable: true, get: function
55
55
  Object.defineProperty(exports, "getAllUi5YamlFileNames", { enumerable: true, get: function () { return ui5_config_1.getAllUi5YamlFileNames; } });
56
56
  Object.defineProperty(exports, "getMockServerConfig", { enumerable: true, get: function () { return ui5_config_1.getMockServerConfig; } });
57
57
  Object.defineProperty(exports, "getMockDataPath", { enumerable: true, get: function () { return ui5_config_1.getMockDataPath; } });
58
+ Object.defineProperty(exports, "getPathMappings", { enumerable: true, get: function () { return ui5_config_1.getPathMappings; } });
58
59
  var mta_1 = require("./mta");
59
60
  Object.defineProperty(exports, "getMtaPath", { enumerable: true, get: function () { return mta_1.getMtaPath; } });
60
61
  var access_1 = require("./access");
@@ -1,6 +1,9 @@
1
1
  import type { Editor } from 'mem-fs-editor';
2
2
  import type { MockserverConfig } from '@sap-ux/ui5-config';
3
3
  import { UI5Config } from '@sap-ux/ui5-config';
4
+ type PathMappings = {
5
+ [key: string]: string | undefined;
6
+ };
4
7
  /**
5
8
  * Get path to webapp.
6
9
  *
@@ -9,6 +12,17 @@ import { UI5Config } from '@sap-ux/ui5-config';
9
12
  * @returns - path to webapp folder
10
13
  */
11
14
  export declare function getWebappPath(appRoot: string, memFs?: Editor): Promise<string>;
15
+ /**
16
+ * Get path mappings defined in 'ui5.yaml' depending on the project type defined in 'ui5.yaml'.
17
+ *
18
+ * @param appRoot - root to the application
19
+ * @param memFs - optional mem-fs editor instance
20
+ * @param fileName - optional name of yaml file to be read. Defaults to 'ui5.yaml'.
21
+ * @returns - path mappings
22
+ * @throws {Error} if ui5.yaml or 'type' cannot be read
23
+ * @throws {Error} if project type is not 'application', 'library', 'theme-library' or 'module'
24
+ */
25
+ export declare function getPathMappings(appRoot: string, memFs?: Editor, fileName?: string): Promise<PathMappings>;
12
26
  /**
13
27
  * Checks if UI5 config yaml file exists and returns its content.
14
28
  *
@@ -49,4 +63,5 @@ export declare function getMockServerConfig(projectRoot: string, fileName?: stri
49
63
  * @returns The mock data path as a string. Returns an empty string if not found.
50
64
  */
51
65
  export declare function getMockDataPath(projectRoot: string, fileName?: string): Promise<string>;
66
+ export {};
52
67
  //# sourceMappingURL=ui5-config.d.ts.map
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getWebappPath = getWebappPath;
4
+ exports.getPathMappings = getPathMappings;
4
5
  exports.readUi5Yaml = readUi5Yaml;
5
6
  exports.getAllUi5YamlFileNames = getAllUi5YamlFileNames;
6
7
  exports.getMockServerConfig = getMockServerConfig;
@@ -9,6 +10,23 @@ const node_path_1 = require("node:path");
9
10
  const ui5_config_1 = require("@sap-ux/ui5-config");
10
11
  const constants_1 = require("../constants");
11
12
  const file_1 = require("../file");
13
+ const PATH_MAPPING_DEFAULTS = {
14
+ application: { webapp: constants_1.DirName.Webapp },
15
+ library: { src: 'src', test: 'test' },
16
+ 'theme-library': { src: 'src', test: 'test' },
17
+ module: {}
18
+ };
19
+ /**
20
+ * Get base directory of the project where package.json is located.
21
+ *
22
+ * @param appRoot - root to the application
23
+ * @param memFs - optional mem-fs editor instance
24
+ * @returns - base directory of the project
25
+ */
26
+ async function getBaseDir(appRoot, memFs) {
27
+ const packageJsonPath = await (0, file_1.findFileUp)(constants_1.FileName.Package, appRoot, memFs);
28
+ return packageJsonPath ? (0, node_path_1.dirname)(packageJsonPath) : appRoot;
29
+ }
12
30
  /**
13
31
  * Get path to webapp.
14
32
  *
@@ -17,22 +35,52 @@ const file_1 = require("../file");
17
35
  * @returns - path to webapp folder
18
36
  */
19
37
  async function getWebappPath(appRoot, memFs) {
20
- const ui5YamlPath = (0, node_path_1.join)(appRoot, constants_1.FileName.Ui5Yaml);
21
- let webappPath = (0, node_path_1.join)(appRoot, constants_1.DirName.Webapp);
22
- if (await (0, file_1.fileExists)(ui5YamlPath, memFs)) {
23
- const yamlString = await (0, file_1.readFile)(ui5YamlPath, memFs);
24
- const ui5Config = await ui5_config_1.UI5Config.newInstance(yamlString);
25
- const relativeWebappPath = ui5Config.getConfiguration()?.paths?.webapp;
26
- if (relativeWebappPath) {
27
- // Search for folder with package.json inside
28
- const packageJsonPath = await (0, file_1.findFileUp)(constants_1.FileName.Package, appRoot, memFs);
29
- if (packageJsonPath) {
30
- const packageJsonDirPath = (0, node_path_1.dirname)(packageJsonPath);
31
- webappPath = (0, node_path_1.join)(packageJsonDirPath, relativeWebappPath);
32
- }
38
+ let pathMappings = {};
39
+ try {
40
+ pathMappings = await getPathMappings(appRoot, memFs);
41
+ }
42
+ catch {
43
+ // For backward compatibility ignore errors and use default
44
+ }
45
+ return pathMappings?.webapp ?? (0, node_path_1.join)(appRoot, constants_1.DirName.Webapp);
46
+ }
47
+ /**
48
+ * Get path mappings defined in 'ui5.yaml' depending on the project type defined in 'ui5.yaml'.
49
+ *
50
+ * @param appRoot - root to the application
51
+ * @param memFs - optional mem-fs editor instance
52
+ * @param fileName - optional name of yaml file to be read. Defaults to 'ui5.yaml'.
53
+ * @returns - path mappings
54
+ * @throws {Error} if ui5.yaml or 'type' cannot be read
55
+ * @throws {Error} if project type is not 'application', 'library', 'theme-library' or 'module'
56
+ */
57
+ async function getPathMappings(appRoot, memFs, fileName = constants_1.FileName.Ui5Yaml) {
58
+ let ui5Config;
59
+ let configuration;
60
+ let type;
61
+ try {
62
+ ui5Config = await readUi5Yaml(appRoot, fileName, memFs);
63
+ configuration = ui5Config.getConfiguration();
64
+ type = ui5Config.getType();
65
+ }
66
+ catch {
67
+ throw new Error(`Could not read 'type' from ${fileName} in project root: ${appRoot}`);
68
+ }
69
+ if (!(type in PATH_MAPPING_DEFAULTS)) {
70
+ throw new Error(`Unsupported project type for path mappings: ${type}`);
71
+ }
72
+ const baseDir = await getBaseDir(appRoot, memFs);
73
+ const pathMappings = {};
74
+ for (const [key, value] of Object.entries(configuration?.paths || {})) {
75
+ pathMappings[key] = (0, node_path_1.join)(baseDir, value ?? PATH_MAPPING_DEFAULTS[type][key]);
76
+ }
77
+ //Add defaults if no specific value exists
78
+ for (const [key, defaultValue] of Object.entries(PATH_MAPPING_DEFAULTS[type] ?? {})) {
79
+ if (!pathMappings[key]) {
80
+ pathMappings[key] = (0, node_path_1.join)(baseDir, defaultValue);
33
81
  }
34
82
  }
35
- return webappPath;
83
+ return pathMappings;
36
84
  }
37
85
  /**
38
86
  * Checks if UI5 config yaml file exists and returns its content.
@@ -146,8 +146,27 @@ export interface ProjectAccessOptions {
146
146
  memFs?: Editor;
147
147
  }
148
148
  export interface ProjectAccess extends BaseAccess {
149
+ /**
150
+ * Returns list of application IDs.
151
+ *
152
+ * @returns - array of application IDs. For single application projects it will return ['']
153
+ */
149
154
  getApplicationIds: () => string[];
155
+ /**
156
+ * Returns an instance of an application for a given application ID (the relative path from project root to app root, NOT the 'sap.app.id' from the manifest).
157
+ * It contains information about the application, like paths and services.
158
+ *
159
+ * @param appId - application ID (the relative path from project root to app root, NOT the 'sap.app.id' from the manifest)
160
+ * @returns - Instance of ApplicationAccess that contains information about the application, like paths and services
161
+ */
150
162
  getApplication: (appId: string) => ApplicationAccess;
163
+ /**
164
+ * Get application ID (the relative path from project root to app root) for a given 'sap.app.id' from the manifest.
165
+ *
166
+ * @param manifestAppId - The 'sap.app.id' from the manifest
167
+ * @returns - application ID (the relative path from project root to app root) or undefined if not found
168
+ */
169
+ getApplicationIdByManifestAppId: (manifestAppId: string) => Promise<string | undefined>;
151
170
  }
152
171
  export {};
153
172
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-ux/project-access",
3
- "version": "1.32.11",
3
+ "version": "1.32.14",
4
4
  "description": "Library to access SAP Fiori tools projects",
5
5
  "repository": {
6
6
  "type": "git",