@sap-ux/project-access 1.27.0 → 1.27.2

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 } from './constants';
2
2
  export { getFilePaths } from './file';
3
- export { addPackageDevDependency, clearCdsModuleCache, createApplicationAccess, createProjectAccess, findAllApps, findCapProjects, findFioriArtifacts, findProjectRoot, getAppRootFromWebappPath, getAppProgrammingLanguage, getAppType, getCapCustomPaths, getCapEnvironment, getCapModelAndServices, getCapProjectType, getCdsFiles, getCdsRoots, getCdsServices, getCapI18nFolderNames, getSpecification, getSpecificationPath, getI18nPropertiesPaths, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getMtaPath, getNodeModulesPath, getProject, getProjectType, getWebappPath, isCapProject, isCapJavaProject, isCapNodeJsProject, loadModuleFromProject, readCapServiceMetadataEdmx, readUi5Yaml, getCapServiceName, refreshSpecificationDistTags, toReferenceUri, filterDataSourcesByType, updatePackageScript, findCapProjectRoot } from './project';
3
+ export { addPackageDevDependency, clearCdsModuleCache, createApplicationAccess, createProjectAccess, findAllApps, findCapProjects, findFioriArtifacts, findProjectRoot, getAppRootFromWebappPath, getAppProgrammingLanguage, getAppType, getCapCustomPaths, getCapEnvironment, getCapModelAndServices, getCapProjectType, getCdsFiles, getCdsRoots, getCdsServices, getCapI18nFolderNames, getSpecification, getSpecificationPath, getI18nPropertiesPaths, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getMtaPath, getNodeModulesPath, getProject, getProjectType, getWebappPath, isCapProject, isCapJavaProject, isCapNodeJsProject, loadModuleFromProject, readCapServiceMetadataEdmx, readUi5Yaml, getCapServiceName, refreshSpecificationDistTags, toReferenceUri, filterDataSourcesByType, updatePackageScript, findCapProjectRoot, hasUI5CliV3, findRootsForPath } from './project';
4
4
  export * from './types';
5
5
  export * from './library';
6
6
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ 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.findCapProjectRoot = exports.updatePackageScript = exports.filterDataSourcesByType = exports.toReferenceUri = exports.refreshSpecificationDistTags = exports.getCapServiceName = exports.readUi5Yaml = exports.readCapServiceMetadataEdmx = exports.loadModuleFromProject = exports.isCapNodeJsProject = exports.isCapJavaProject = exports.isCapProject = exports.getWebappPath = exports.getProjectType = exports.getProject = exports.getNodeModulesPath = exports.getMtaPath = exports.getMinimumUI5Version = exports.getMinUI5VersionAsArray = exports.getMinUI5VersionFromManifest = exports.getI18nPropertiesPaths = exports.getSpecificationPath = exports.getSpecification = exports.getCapI18nFolderNames = exports.getCdsServices = exports.getCdsRoots = exports.getCdsFiles = exports.getCapProjectType = exports.getCapModelAndServices = exports.getCapEnvironment = exports.getCapCustomPaths = exports.getAppType = exports.getAppProgrammingLanguage = exports.getAppRootFromWebappPath = exports.findProjectRoot = exports.findFioriArtifacts = exports.findCapProjects = exports.findAllApps = exports.createProjectAccess = exports.createApplicationAccess = exports.clearCdsModuleCache = exports.addPackageDevDependency = exports.getFilePaths = exports.FioriToolsSettings = exports.DirName = exports.FileName = void 0;
17
+ exports.findRootsForPath = exports.hasUI5CliV3 = exports.findCapProjectRoot = exports.updatePackageScript = exports.filterDataSourcesByType = exports.toReferenceUri = exports.refreshSpecificationDistTags = exports.getCapServiceName = exports.readUi5Yaml = exports.readCapServiceMetadataEdmx = exports.loadModuleFromProject = exports.isCapNodeJsProject = exports.isCapJavaProject = exports.isCapProject = exports.getWebappPath = exports.getProjectType = exports.getProject = exports.getNodeModulesPath = exports.getMtaPath = exports.getMinimumUI5Version = exports.getMinUI5VersionAsArray = exports.getMinUI5VersionFromManifest = exports.getI18nPropertiesPaths = exports.getSpecificationPath = exports.getSpecification = exports.getCapI18nFolderNames = exports.getCdsServices = exports.getCdsRoots = exports.getCdsFiles = exports.getCapProjectType = exports.getCapModelAndServices = exports.getCapEnvironment = exports.getCapCustomPaths = exports.getAppType = exports.getAppProgrammingLanguage = exports.getAppRootFromWebappPath = exports.findProjectRoot = exports.findFioriArtifacts = exports.findCapProjects = exports.findAllApps = exports.createProjectAccess = exports.createApplicationAccess = exports.clearCdsModuleCache = exports.addPackageDevDependency = exports.getFilePaths = exports.FioriToolsSettings = exports.DirName = exports.FileName = void 0;
18
18
  var constants_1 = require("./constants");
19
19
  Object.defineProperty(exports, "FileName", { enumerable: true, get: function () { return constants_1.FileName; } });
20
20
  Object.defineProperty(exports, "DirName", { enumerable: true, get: function () { return constants_1.DirName; } });
@@ -64,6 +64,8 @@ Object.defineProperty(exports, "toReferenceUri", { enumerable: true, get: functi
64
64
  Object.defineProperty(exports, "filterDataSourcesByType", { enumerable: true, get: function () { return project_1.filterDataSourcesByType; } });
65
65
  Object.defineProperty(exports, "updatePackageScript", { enumerable: true, get: function () { return project_1.updatePackageScript; } });
66
66
  Object.defineProperty(exports, "findCapProjectRoot", { enumerable: true, get: function () { return project_1.findCapProjectRoot; } });
67
+ Object.defineProperty(exports, "hasUI5CliV3", { enumerable: true, get: function () { return project_1.hasUI5CliV3; } });
68
+ Object.defineProperty(exports, "findRootsForPath", { enumerable: true, get: function () { return project_1.findRootsForPath; } });
67
69
  __exportStar(require("./types"), exports);
68
70
  __exportStar(require("./library"), exports);
69
71
  //# sourceMappingURL=index.js.map
@@ -4,10 +4,10 @@ export { addPackageDevDependency, getNodeModulesPath } from './dependencies';
4
4
  export { getCapI18nFolderNames, getI18nPropertiesPaths } from './i18n';
5
5
  export { getAppProgrammingLanguage, getAppType, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getProject, getProjectType } from './info';
6
6
  export { loadModuleFromProject } from './module-loader';
7
- export { findAllApps, findCapProjects, findFioriArtifacts, findProjectRoot, getAppRootFromWebappPath, findCapProjectRoot } from './search';
7
+ export { findAllApps, findCapProjects, findFioriArtifacts, findProjectRoot, getAppRootFromWebappPath, findCapProjectRoot, findRootsForPath } from './search';
8
8
  export { getWebappPath, readUi5Yaml } from './ui5-config';
9
9
  export { getMtaPath } from './mta';
10
10
  export { createApplicationAccess, createProjectAccess } from './access';
11
- export { updatePackageScript } from './script';
11
+ export { updatePackageScript, hasUI5CliV3 } from './script';
12
12
  export { getSpecification, getSpecificationPath, refreshSpecificationDistTags } from './specification';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.refreshSpecificationDistTags = exports.getSpecificationPath = exports.getSpecification = exports.updatePackageScript = exports.createProjectAccess = exports.createApplicationAccess = exports.getMtaPath = exports.readUi5Yaml = exports.getWebappPath = 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.getI18nPropertiesPaths = exports.getCapI18nFolderNames = exports.getNodeModulesPath = exports.addPackageDevDependency = exports.filterDataSourcesByType = exports.clearCdsModuleCache = exports.toReferenceUri = exports.getCapServiceName = exports.readCapServiceMetadataEdmx = exports.getCapEnvironment = exports.isCapNodeJsProject = exports.isCapJavaProject = exports.isCapProject = exports.getCdsServices = exports.getCdsRoots = exports.getCdsFiles = exports.getCapProjectType = exports.getCapModelAndServices = exports.getCapCustomPaths = void 0;
3
+ exports.refreshSpecificationDistTags = exports.getSpecificationPath = exports.getSpecification = exports.hasUI5CliV3 = exports.updatePackageScript = exports.createProjectAccess = exports.createApplicationAccess = exports.getMtaPath = 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.getI18nPropertiesPaths = exports.getCapI18nFolderNames = exports.getNodeModulesPath = exports.addPackageDevDependency = exports.filterDataSourcesByType = exports.clearCdsModuleCache = exports.toReferenceUri = exports.getCapServiceName = exports.readCapServiceMetadataEdmx = exports.getCapEnvironment = exports.isCapNodeJsProject = exports.isCapJavaProject = exports.isCapProject = exports.getCdsServices = exports.getCdsRoots = exports.getCdsFiles = exports.getCapProjectType = exports.getCapModelAndServices = exports.getCapCustomPaths = void 0;
4
4
  var cap_1 = require("./cap");
5
5
  Object.defineProperty(exports, "getCapCustomPaths", { enumerable: true, get: function () { return cap_1.getCapCustomPaths; } });
6
6
  Object.defineProperty(exports, "getCapModelAndServices", { enumerable: true, get: function () { return cap_1.getCapModelAndServices; } });
@@ -41,6 +41,7 @@ Object.defineProperty(exports, "findFioriArtifacts", { enumerable: true, get: fu
41
41
  Object.defineProperty(exports, "findProjectRoot", { enumerable: true, get: function () { return search_1.findProjectRoot; } });
42
42
  Object.defineProperty(exports, "getAppRootFromWebappPath", { enumerable: true, get: function () { return search_1.getAppRootFromWebappPath; } });
43
43
  Object.defineProperty(exports, "findCapProjectRoot", { enumerable: true, get: function () { return search_1.findCapProjectRoot; } });
44
+ Object.defineProperty(exports, "findRootsForPath", { enumerable: true, get: function () { return search_1.findRootsForPath; } });
44
45
  var ui5_config_1 = require("./ui5-config");
45
46
  Object.defineProperty(exports, "getWebappPath", { enumerable: true, get: function () { return ui5_config_1.getWebappPath; } });
46
47
  Object.defineProperty(exports, "readUi5Yaml", { enumerable: true, get: function () { return ui5_config_1.readUi5Yaml; } });
@@ -51,6 +52,7 @@ Object.defineProperty(exports, "createApplicationAccess", { enumerable: true, ge
51
52
  Object.defineProperty(exports, "createProjectAccess", { enumerable: true, get: function () { return access_1.createProjectAccess; } });
52
53
  var script_1 = require("./script");
53
54
  Object.defineProperty(exports, "updatePackageScript", { enumerable: true, get: function () { return script_1.updatePackageScript; } });
55
+ Object.defineProperty(exports, "hasUI5CliV3", { enumerable: true, get: function () { return script_1.hasUI5CliV3; } });
54
56
  var specification_1 = require("./specification");
55
57
  Object.defineProperty(exports, "getSpecification", { enumerable: true, get: function () { return specification_1.getSpecification; } });
56
58
  Object.defineProperty(exports, "getSpecificationPath", { enumerable: true, get: function () { return specification_1.getSpecificationPath; } });
@@ -8,4 +8,11 @@ import type { Editor } from 'mem-fs-editor';
8
8
  * @param fs - optional memfs editor instance
9
9
  */
10
10
  export declare function updatePackageScript(basePath: string, scriptName: string, script: string, fs?: Editor): Promise<void>;
11
+ /**
12
+ * Check if dev dependencies contains @ui5/cli version greater than 2.
13
+ *
14
+ * @param devDependencies dev dependencies from package.json
15
+ * @returns boolean
16
+ */
17
+ export declare function hasUI5CliV3(devDependencies: any): boolean;
11
18
  //# sourceMappingURL=script.d.ts.map
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updatePackageScript = void 0;
6
+ exports.hasUI5CliV3 = exports.updatePackageScript = void 0;
4
7
  const path_1 = require("path");
5
8
  const constants_1 = require("../constants");
6
9
  const file_1 = require("../file");
10
+ const semver_1 = __importDefault(require("semver"));
7
11
  /**
8
12
  * Updates the package.json with a new script.
9
13
  *
@@ -22,4 +26,19 @@ async function updatePackageScript(basePath, scriptName, script, fs) {
22
26
  await (0, file_1.updatePackageJSON)(filePath, packageJson, fs);
23
27
  }
24
28
  exports.updatePackageScript = updatePackageScript;
29
+ /**
30
+ * Check if dev dependencies contains @ui5/cli version greater than 2.
31
+ *
32
+ * @param devDependencies dev dependencies from package.json
33
+ * @returns boolean
34
+ */
35
+ function hasUI5CliV3(devDependencies) {
36
+ let isV3 = false;
37
+ const ui5CliSemver = semver_1.default.coerce(devDependencies['@ui5/cli']);
38
+ if (ui5CliSemver && semver_1.default.gte(ui5CliSemver, '3.0.0')) {
39
+ isV3 = true;
40
+ }
41
+ return isV3;
42
+ }
43
+ exports.hasUI5CliV3 = hasUI5CliV3;
25
44
  //# sourceMappingURL=script.js.map
@@ -15,6 +15,25 @@ export declare function findProjectRoot(path: string, sapuxRequired?: boolean, s
15
15
  * @returns - root path of the application, where usually ui5.yaml and package.json are
16
16
  */
17
17
  export declare function getAppRootFromWebappPath(webappPath: string): Promise<string | null>;
18
+ /**
19
+ * Find the app root and project root folder for a given path. In case of apps in non CAP projects they are the same.
20
+ * This function also validates if an app is supported by tools considering Fiori elements apps and SAPUI5
21
+ * freestyle apps. Only if project root and app root can be determined, they are returned, otherwise null is returned.
22
+ * This function is used e.g. to get a filtered list of all manifest.json files in a workspace for tools
23
+ * supported apps and retrieve the respective root paths.
24
+ *
25
+ * This function makes following assumptions:
26
+ * - All applications have a package.json in root folder.
27
+ * - If sapux=true in package.json the app is NOT inside a CAP project.
28
+ * - Freestyle application (non CAP) has in package.json dependency to @sap/ux-ui5-tooling and <appRoot>/ui5-local.yaml.
29
+ *
30
+ * @param path - path to check, e.g. to the manifest.json
31
+ * @returns - in case a supported app is found this function returns the appRoot and projectRoot path
32
+ */
33
+ export declare function findRootsForPath(path: string): Promise<{
34
+ appRoot: string;
35
+ projectRoot: string;
36
+ } | null>;
18
37
  /**
19
38
  * Find CAP project root path.
20
39
  *
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findCapProjects = exports.findFioriArtifacts = exports.findAllApps = exports.findCapProjectRoot = exports.getAppRootFromWebappPath = exports.findProjectRoot = void 0;
3
+ exports.findCapProjects = exports.findFioriArtifacts = exports.findAllApps = exports.findCapProjectRoot = exports.findRootsForPath = exports.getAppRootFromWebappPath = exports.findProjectRoot = void 0;
4
4
  const path_1 = require("path");
5
5
  const constants_1 = require("../constants");
6
6
  const file_1 = require("../file");
@@ -186,6 +186,7 @@ async function findRootsForPath(path) {
186
186
  }
187
187
  return null;
188
188
  }
189
+ exports.findRootsForPath = findRootsForPath;
189
190
  /**
190
191
  * Find CAP project root path.
191
192
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-ux/project-access",
3
- "version": "1.27.0",
3
+ "version": "1.27.2",
4
4
  "description": "Library to access SAP Fiori tools projects",
5
5
  "repository": {
6
6
  "type": "git",