@sap-ux/project-access 1.22.0 → 1.22.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 { createApplicationAccess, createProjectAccess, findAllApps, findCapProjects, findFioriArtifacts, findProjectRoot, getAppRootFromWebappPath, getAppProgrammingLanguage, getAppType, getCapCustomPaths, getCapEnvironment, getCapModelAndServices, getCapProjectType, getCdsFiles, getCdsRoots, getCdsServices, getCapI18nFolderNames, getI18nPropertiesPaths, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getMtaPath, getNodeModulesPath, getProject, getProjectType, getWebappPath, isCapProject, isCapJavaProject, isCapNodeJsProject, loadModuleFromProject, readCapServiceMetadataEdmx, readUi5Yaml, toReferenceUri, clearCdsModuleCache } from './project';
3
+ export { addPackageDevDependency, createApplicationAccess, createProjectAccess, findAllApps, findCapProjects, findFioriArtifacts, findProjectRoot, getAppRootFromWebappPath, getAppProgrammingLanguage, getAppType, getCapCustomPaths, getCapEnvironment, getCapModelAndServices, getCapProjectType, getCdsFiles, getCdsRoots, getCdsServices, getCapI18nFolderNames, getI18nPropertiesPaths, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getMtaPath, getNodeModulesPath, getProject, getProjectType, getWebappPath, isCapProject, isCapJavaProject, isCapNodeJsProject, loadModuleFromProject, readCapServiceMetadataEdmx, readUi5Yaml, toReferenceUri, clearCdsModuleCache, updatePackageScript } 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.clearCdsModuleCache = exports.toReferenceUri = 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.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.getFilePaths = exports.FioriToolsSettings = exports.DirName = exports.FileName = void 0;
17
+ exports.updatePackageScript = exports.clearCdsModuleCache = exports.toReferenceUri = 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.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.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; } });
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "FioriToolsSettings", { enumerable: true, get: fu
22
22
  var file_1 = require("./file");
23
23
  Object.defineProperty(exports, "getFilePaths", { enumerable: true, get: function () { return file_1.getFilePaths; } });
24
24
  var project_1 = require("./project");
25
+ Object.defineProperty(exports, "addPackageDevDependency", { enumerable: true, get: function () { return project_1.addPackageDevDependency; } });
25
26
  Object.defineProperty(exports, "createApplicationAccess", { enumerable: true, get: function () { return project_1.createApplicationAccess; } });
26
27
  Object.defineProperty(exports, "createProjectAccess", { enumerable: true, get: function () { return project_1.createProjectAccess; } });
27
28
  Object.defineProperty(exports, "findAllApps", { enumerable: true, get: function () { return project_1.findAllApps; } });
@@ -56,6 +57,7 @@ Object.defineProperty(exports, "readCapServiceMetadataEdmx", { enumerable: true,
56
57
  Object.defineProperty(exports, "readUi5Yaml", { enumerable: true, get: function () { return project_1.readUi5Yaml; } });
57
58
  Object.defineProperty(exports, "toReferenceUri", { enumerable: true, get: function () { return project_1.toReferenceUri; } });
58
59
  Object.defineProperty(exports, "clearCdsModuleCache", { enumerable: true, get: function () { return project_1.clearCdsModuleCache; } });
60
+ Object.defineProperty(exports, "updatePackageScript", { enumerable: true, get: function () { return project_1.updatePackageScript; } });
59
61
  __exportStar(require("./types"), exports);
60
62
  __exportStar(require("./library"), exports);
61
63
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
1
  import type { Package } from '../types';
2
+ import type { Editor } from 'mem-fs-editor';
2
3
  /**
3
4
  * Helper to check for dependency/devDependency.
4
5
  *
@@ -17,4 +18,13 @@ export declare const hasDependency: (packageJson: Package, dependency: string) =
17
18
  * @returns - parent path of node_modules used by project or undefined if node module path was not found
18
19
  */
19
20
  export declare function getNodeModulesPath(projectRoot: string, module?: string): string | undefined;
21
+ /**
22
+ * Adds a new dev dependency to the package.json.
23
+ *
24
+ * @param basePath - the base path
25
+ * @param depName - the dependency name
26
+ * @param depVersion - the dependency version
27
+ * @param fs - optional memfs editor instance
28
+ */
29
+ export declare function addPackageDevDependency(basePath: string, depName: string, depVersion: string, fs?: Editor): Promise<void>;
20
30
  //# sourceMappingURL=dependencies.d.ts.map
@@ -1,9 +1,19 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNodeModulesPath = exports.hasDependency = void 0;
12
+ exports.addPackageDevDependency = exports.getNodeModulesPath = exports.hasDependency = void 0;
4
13
  const fs_1 = require("fs");
5
14
  const path_1 = require("path");
6
15
  const constants_1 = require("../constants");
16
+ const file_1 = require("../file");
7
17
  /**
8
18
  * Helper to check for dependency/devDependency.
9
19
  *
@@ -43,4 +53,25 @@ function getNodeModulesPath(projectRoot, module) {
43
53
  return modulesPath;
44
54
  }
45
55
  exports.getNodeModulesPath = getNodeModulesPath;
56
+ /**
57
+ * Adds a new dev dependency to the package.json.
58
+ *
59
+ * @param basePath - the base path
60
+ * @param depName - the dependency name
61
+ * @param depVersion - the dependency version
62
+ * @param fs - optional memfs editor instance
63
+ */
64
+ function addPackageDevDependency(basePath, depName, depVersion, fs) {
65
+ var _a;
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const filePath = (0, path_1.join)(basePath, constants_1.FileName.Package);
68
+ const packageJson = yield (0, file_1.readJSON)(filePath, fs);
69
+ packageJson.devDependencies = (_a = packageJson.devDependencies) !== null && _a !== void 0 ? _a : {};
70
+ if (!packageJson.devDependencies[depName]) {
71
+ packageJson.devDependencies[depName] = depVersion;
72
+ }
73
+ yield (0, file_1.updatePackageJSON)(filePath, packageJson, fs);
74
+ });
75
+ }
76
+ exports.addPackageDevDependency = addPackageDevDependency;
46
77
  //# sourceMappingURL=dependencies.js.map
@@ -1,5 +1,5 @@
1
1
  export { getCapCustomPaths, getCapModelAndServices, getCapProjectType, getCdsFiles, getCdsRoots, getCdsServices, isCapProject, isCapJavaProject, isCapNodeJsProject, getCapEnvironment, readCapServiceMetadataEdmx, toReferenceUri, clearCdsModuleCache } from './cap';
2
- export { getNodeModulesPath } from './dependencies';
2
+ export { addPackageDevDependency, getNodeModulesPath } from './dependencies';
3
3
  export { getCapI18nFolderNames, getI18nPropertiesPaths } from './i18n';
4
4
  export { getAppProgrammingLanguage, getAppType, getMinUI5VersionFromManifest, getMinUI5VersionAsArray, getMinimumUI5Version, getProject, getProjectType } from './info';
5
5
  export { loadModuleFromProject } from './module-loader';
@@ -7,4 +7,5 @@ export { findAllApps, findCapProjects, findFioriArtifacts, findProjectRoot, getA
7
7
  export { getWebappPath, readUi5Yaml } from './ui5-config';
8
8
  export { getMtaPath } from './mta';
9
9
  export { createApplicationAccess, createProjectAccess } from './access';
10
+ export { updatePackageScript } from './script';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createProjectAccess = exports.createApplicationAccess = exports.getMtaPath = exports.readUi5Yaml = exports.getWebappPath = 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.clearCdsModuleCache = exports.toReferenceUri = 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.updatePackageScript = exports.createProjectAccess = exports.createApplicationAccess = exports.getMtaPath = exports.readUi5Yaml = exports.getWebappPath = 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.clearCdsModuleCache = exports.toReferenceUri = 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; } });
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "readCapServiceMetadataEdmx", { enumerable: true,
16
16
  Object.defineProperty(exports, "toReferenceUri", { enumerable: true, get: function () { return cap_1.toReferenceUri; } });
17
17
  Object.defineProperty(exports, "clearCdsModuleCache", { enumerable: true, get: function () { return cap_1.clearCdsModuleCache; } });
18
18
  var dependencies_1 = require("./dependencies");
19
+ Object.defineProperty(exports, "addPackageDevDependency", { enumerable: true, get: function () { return dependencies_1.addPackageDevDependency; } });
19
20
  Object.defineProperty(exports, "getNodeModulesPath", { enumerable: true, get: function () { return dependencies_1.getNodeModulesPath; } });
20
21
  var i18n_1 = require("./i18n");
21
22
  Object.defineProperty(exports, "getCapI18nFolderNames", { enumerable: true, get: function () { return i18n_1.getCapI18nFolderNames; } });
@@ -44,4 +45,6 @@ Object.defineProperty(exports, "getMtaPath", { enumerable: true, get: function (
44
45
  var access_1 = require("./access");
45
46
  Object.defineProperty(exports, "createApplicationAccess", { enumerable: true, get: function () { return access_1.createApplicationAccess; } });
46
47
  Object.defineProperty(exports, "createProjectAccess", { enumerable: true, get: function () { return access_1.createProjectAccess; } });
48
+ var script_1 = require("./script");
49
+ Object.defineProperty(exports, "updatePackageScript", { enumerable: true, get: function () { return script_1.updatePackageScript; } });
47
50
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,11 @@
1
+ import type { Editor } from 'mem-fs-editor';
2
+ /**
3
+ * Updates the package.json with a new script.
4
+ *
5
+ * @param basePath - the base path
6
+ * @param scriptName - the script name
7
+ * @param script - the script content
8
+ * @param fs - optional memfs editor instance
9
+ */
10
+ export declare function updatePackageScript(basePath: string, scriptName: string, script: string, fs?: Editor): Promise<void>;
11
+ //# sourceMappingURL=script.d.ts.map
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.updatePackageScript = void 0;
13
+ const path_1 = require("path");
14
+ const constants_1 = require("../constants");
15
+ const file_1 = require("../file");
16
+ /**
17
+ * Updates the package.json with a new script.
18
+ *
19
+ * @param basePath - the base path
20
+ * @param scriptName - the script name
21
+ * @param script - the script content
22
+ * @param fs - optional memfs editor instance
23
+ */
24
+ function updatePackageScript(basePath, scriptName, script, fs) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const filePath = (0, path_1.join)(basePath, constants_1.FileName.Package);
27
+ const packageJson = yield (0, file_1.readJSON)(filePath, fs);
28
+ if (!packageJson.scripts) {
29
+ packageJson.scripts = {};
30
+ }
31
+ packageJson.scripts[scriptName] = script;
32
+ yield (0, file_1.updatePackageJSON)(filePath, packageJson, fs);
33
+ });
34
+ }
35
+ exports.updatePackageScript = updatePackageScript;
36
+ //# sourceMappingURL=script.js.map
@@ -13,7 +13,8 @@ export declare function getWebappPath(projectRoot: string, memFs?: Editor): Prom
13
13
  *
14
14
  * @param projectRoot - path to project root
15
15
  * @param fileName - name of yaml file to be read
16
+ * @param [memFs] - optional mem-fs editor instance
16
17
  * @returns {UI5Config} UI5 config file in yaml format
17
18
  */
18
- export declare function readUi5Yaml(projectRoot: string, fileName: string): Promise<UI5Config>;
19
+ export declare function readUi5Yaml(projectRoot: string, fileName: string, memFs?: Editor): Promise<UI5Config>;
19
20
  //# sourceMappingURL=ui5-config.d.ts.map
@@ -43,13 +43,14 @@ exports.getWebappPath = getWebappPath;
43
43
  *
44
44
  * @param projectRoot - path to project root
45
45
  * @param fileName - name of yaml file to be read
46
+ * @param [memFs] - optional mem-fs editor instance
46
47
  * @returns {UI5Config} UI5 config file in yaml format
47
48
  */
48
- function readUi5Yaml(projectRoot, fileName) {
49
+ function readUi5Yaml(projectRoot, fileName, memFs) {
49
50
  return __awaiter(this, void 0, void 0, function* () {
50
51
  const ui5YamlPath = (0, path_1.join)(projectRoot, fileName);
51
52
  if (yield (0, file_1.fileExists)(ui5YamlPath)) {
52
- const yamlString = yield (0, file_1.readFile)(ui5YamlPath);
53
+ const yamlString = yield (0, file_1.readFile)(ui5YamlPath, memFs);
53
54
  return yield ui5_config_1.UI5Config.newInstance(yamlString);
54
55
  }
55
56
  throw Error(`File '${fileName}' not found in project '${projectRoot}'`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-ux/project-access",
3
- "version": "1.22.0",
3
+ "version": "1.22.2",
4
4
  "description": "Library to access SAP Fiori tools projects",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,7 +30,7 @@
30
30
  "mem-fs-editor": "9.4.0",
31
31
  "semver": "7.5.4",
32
32
  "@sap-ux/i18n": "0.0.7",
33
- "@sap-ux/ui5-config": "0.22.7"
33
+ "@sap-ux/ui5-config": "0.22.9"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/mem-fs": "1.1.2",