trm-client 3.1.5 → 4.0.0

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.
Files changed (119) hide show
  1. package/README.md +2 -2
  2. package/dist/commands/alias.js +95 -53
  3. package/dist/commands/arguments/ConnectArguments.d.ts +6 -0
  4. package/dist/commands/arguments/FindDependenciesArguments.d.ts +1 -0
  5. package/dist/commands/arguments/InstallArguments.d.ts +14 -12
  6. package/dist/commands/arguments/PublishArguments.d.ts +18 -12
  7. package/dist/commands/check.js +18 -6
  8. package/dist/commands/commons/CommandContext.d.ts +8 -0
  9. package/dist/commands/commons/CommandContext.js +19 -0
  10. package/dist/commands/commons/index.d.ts +1 -1
  11. package/dist/commands/commons/index.js +1 -1
  12. package/dist/commands/commons/viewRegistryPackage.js +9 -5
  13. package/dist/commands/compare.js +40 -20
  14. package/dist/commands/createAlias.js +41 -22
  15. package/dist/commands/findDependencies.js +11 -6
  16. package/dist/commands/info.js +98 -15
  17. package/dist/commands/install.js +46 -85
  18. package/dist/commands/login.js +5 -5
  19. package/dist/commands/logout.js +2 -2
  20. package/dist/commands/prompts/connect.js +123 -20
  21. package/dist/commands/publish.js +48 -139
  22. package/dist/commands/unpublish.js +2 -2
  23. package/dist/commands/update.js +1 -1
  24. package/dist/commands/view.js +2 -2
  25. package/dist/commands/whoami.js +1 -1
  26. package/dist/index.js +66 -56
  27. package/dist/systemAlias/SystemAlias.d.ts +8 -4
  28. package/dist/systemAlias/SystemAlias.js +131 -30
  29. package/dist/systemAlias/SystemAliasData.d.ts +4 -2
  30. package/dist/utils/checkTrmDependencies.d.ts +1 -1
  31. package/dist/utils/checkTrmDependencies.js +23 -7
  32. package/dist/utils/executeCommand.js +5 -16
  33. package/dist/utils/getSystemConnector.d.ts +9 -0
  34. package/dist/utils/getSystemConnector.js +32 -0
  35. package/dist/utils/index.d.ts +1 -1
  36. package/dist/utils/index.js +1 -1
  37. package/dist/utils/logError.js +39 -39
  38. package/dist/utils/registerCommand.js +5 -3
  39. package/package.json +7 -4
  40. package/dist/commands/addRegistry.js.map +0 -1
  41. package/dist/commands/alias.js.map +0 -1
  42. package/dist/commands/arguments/AddRegistryArguments.js.map +0 -1
  43. package/dist/commands/arguments/AliasArguments.js.map +0 -1
  44. package/dist/commands/arguments/CheckArguments.js.map +0 -1
  45. package/dist/commands/arguments/CompareArguments.js.map +0 -1
  46. package/dist/commands/arguments/ConnectArguments.js.map +0 -1
  47. package/dist/commands/arguments/CreateAliasArguments.js.map +0 -1
  48. package/dist/commands/arguments/DeleteAliasArguments.js.map +0 -1
  49. package/dist/commands/arguments/FindDependenciesArguments.js.map +0 -1
  50. package/dist/commands/arguments/InfoArguments.js.map +0 -1
  51. package/dist/commands/arguments/InstallArguments.js.map +0 -1
  52. package/dist/commands/arguments/ListArguments.js.map +0 -1
  53. package/dist/commands/arguments/LoginArguments.js.map +0 -1
  54. package/dist/commands/arguments/LogoutArguments.js.map +0 -1
  55. package/dist/commands/arguments/PingArguments.js.map +0 -1
  56. package/dist/commands/arguments/PublishArguments.js.map +0 -1
  57. package/dist/commands/arguments/RemoveRegistryArguments.js.map +0 -1
  58. package/dist/commands/arguments/SettingsArgument.js.map +0 -1
  59. package/dist/commands/arguments/UnpublishArguments.js.map +0 -1
  60. package/dist/commands/arguments/UpdateArguments.js.map +0 -1
  61. package/dist/commands/arguments/ViewArguments.js.map +0 -1
  62. package/dist/commands/arguments/WhoAmIArguments.js.map +0 -1
  63. package/dist/commands/arguments/index.js.map +0 -1
  64. package/dist/commands/check.js.map +0 -1
  65. package/dist/commands/commons/CommandRegistry.d.ts +0 -5
  66. package/dist/commands/commons/CommandRegistry.js +0 -16
  67. package/dist/commands/commons/CommandRegistry.js.map +0 -1
  68. package/dist/commands/commons/index.js.map +0 -1
  69. package/dist/commands/commons/viewRegistryPackage.js.map +0 -1
  70. package/dist/commands/compare.js.map +0 -1
  71. package/dist/commands/createAlias.js.map +0 -1
  72. package/dist/commands/deleteAlias.js.map +0 -1
  73. package/dist/commands/findDependencies.js.map +0 -1
  74. package/dist/commands/index.js.map +0 -1
  75. package/dist/commands/info.js.map +0 -1
  76. package/dist/commands/install.js.map +0 -1
  77. package/dist/commands/list.js.map +0 -1
  78. package/dist/commands/login.js.map +0 -1
  79. package/dist/commands/logout.js.map +0 -1
  80. package/dist/commands/ping.js.map +0 -1
  81. package/dist/commands/prompts/connect.js.map +0 -1
  82. package/dist/commands/prompts/index.js.map +0 -1
  83. package/dist/commands/prompts/pickRegistry.js.map +0 -1
  84. package/dist/commands/publish.js.map +0 -1
  85. package/dist/commands/removeRegistry.js.map +0 -1
  86. package/dist/commands/settings.js.map +0 -1
  87. package/dist/commands/unpublish.js.map +0 -1
  88. package/dist/commands/update.js.map +0 -1
  89. package/dist/commands/view.js.map +0 -1
  90. package/dist/commands/whoami.js.map +0 -1
  91. package/dist/index.js.map +0 -1
  92. package/dist/registryAlias/RegistryAlias.js.map +0 -1
  93. package/dist/registryAlias/RegistryAliasData.js.map +0 -1
  94. package/dist/registryAlias/index.js.map +0 -1
  95. package/dist/settings/Settings.js.map +0 -1
  96. package/dist/settings/SettingsData.js.map +0 -1
  97. package/dist/settings/index.js.map +0 -1
  98. package/dist/systemAlias/SystemAlias.js.map +0 -1
  99. package/dist/systemAlias/SystemAliasData.js.map +0 -1
  100. package/dist/systemAlias/index.js.map +0 -1
  101. package/dist/utils/TrmDependencies.d.ts +0 -10
  102. package/dist/utils/TrmDependencies.js +0 -25
  103. package/dist/utils/TrmDependencies.js.map +0 -1
  104. package/dist/utils/checkCliUpdate.js.map +0 -1
  105. package/dist/utils/checkTrmDependencies.js.map +0 -1
  106. package/dist/utils/executeCommand.js.map +0 -1
  107. package/dist/utils/getClientDependencies.js.map +0 -1
  108. package/dist/utils/getClientPackage.js.map +0 -1
  109. package/dist/utils/getClientVersion.js.map +0 -1
  110. package/dist/utils/getLogFolder.js.map +0 -1
  111. package/dist/utils/getRoamingFolder.js.map +0 -1
  112. package/dist/utils/getRoamingPath.js.map +0 -1
  113. package/dist/utils/getSapLogonConnections.js.map +0 -1
  114. package/dist/utils/getTempFolder.js.map +0 -1
  115. package/dist/utils/getTrmDependencies.js.map +0 -1
  116. package/dist/utils/index.js.map +0 -1
  117. package/dist/utils/logError.js.map +0 -1
  118. package/dist/utils/registerCommand.js.map +0 -1
  119. package/dist/utils/xml2js.js.map +0 -1
@@ -37,103 +37,21 @@ const trm_core_1 = require("trm-core");
37
37
  const fs = __importStar(require("fs"));
38
38
  const utils_1 = require("../utils");
39
39
  const commons_1 = require("./commons");
40
- const _parseManifestArgument = (packageName, packageVersion, manifestArg) => {
41
- var manifest = {
42
- name: packageName,
43
- version: packageVersion
44
- };
45
- if (manifestArg) {
46
- manifestArg = manifestArg.trim();
47
- var sInputManifest;
48
- var oInputManifest;
49
- if (manifestArg[0] === '{') {
50
- sInputManifest = manifestArg;
51
- }
52
- else {
53
- sInputManifest = fs.readFileSync(manifestArg);
54
- }
40
+ const _parseDependenciesArg = (arg) => {
41
+ if (arg) {
55
42
  try {
56
- oInputManifest = JSON.parse(sInputManifest);
57
- }
58
- catch (e) {
59
- throw new Error('Input manifest: invalid JSON format.');
60
- }
61
- if (oInputManifest.private) {
62
- manifest.private = oInputManifest.private ? true : false;
63
- }
64
- if (oInputManifest.backwardsCompatible) {
65
- manifest.backwardsCompatible = oInputManifest.backwardsCompatible ? true : false;
66
- }
67
- if (oInputManifest.description && typeof (oInputManifest.description) === 'string') {
68
- manifest.description;
69
- }
70
- if (oInputManifest.git && typeof (oInputManifest.git) === 'string') {
71
- manifest.git;
72
- }
73
- if (oInputManifest.website && typeof (oInputManifest.website) === 'string') {
74
- manifest.website;
75
- }
76
- if (oInputManifest.license && typeof (oInputManifest.license) === 'string') {
77
- manifest.license;
78
- }
79
- if (oInputManifest.authors) {
80
- if (typeof (oInputManifest.authors) === 'string') {
81
- manifest.authors = oInputManifest.authors;
82
- }
83
- else if (Array.isArray(oInputManifest.authors)) {
84
- manifest.authors = [];
85
- oInputManifest.authors.forEach(o => {
86
- if (o.name || o.email) {
87
- manifest.authors.push({
88
- name: o.name,
89
- email: o.email
90
- });
91
- }
92
- });
93
- }
94
- }
95
- if (oInputManifest.keywords) {
96
- if (typeof (oInputManifest.keywords) === 'string') {
97
- manifest.keywords = oInputManifest.keywords;
98
- }
99
- else if (Array.isArray(oInputManifest.keywords)) {
100
- manifest.keywords = [];
101
- oInputManifest.keywords.forEach(o => {
102
- if (typeof (o) === 'string') {
103
- manifest.keywords.push(o);
104
- }
105
- });
106
- }
43
+ return JSON.parse(arg);
107
44
  }
108
- if (oInputManifest.keywords) {
109
- if (typeof (oInputManifest.keywords) === 'string') {
110
- manifest.keywords = oInputManifest.keywords;
111
- }
112
- else if (Array.isArray(oInputManifest.keywords)) {
113
- manifest.keywords = [];
114
- oInputManifest.keywords.forEach(o => {
115
- if (typeof (o) === 'string') {
116
- manifest.keywords.push(o);
117
- }
118
- });
119
- }
120
- }
121
- if (Array.isArray(oInputManifest.dependencies)) {
122
- manifest.dependencies = [];
123
- oInputManifest.dependencies.forEach(o => {
124
- if (o.name && o.version) {
125
- manifest.dependencies.push({
126
- name: o.name,
127
- version: o.version,
128
- registry: o.registry,
129
- integrity: o.integrity
130
- });
131
- }
132
- });
45
+ catch (e) { }
46
+ }
47
+ };
48
+ const _parseSapEntriesArg = (arg) => {
49
+ if (arg) {
50
+ try {
51
+ return JSON.parse(arg);
133
52
  }
134
- manifest.sapEntries = oInputManifest.sapEntries || {};
53
+ catch (e) { }
135
54
  }
136
- return manifest;
137
55
  };
138
56
  const _parseReadmeArg = (arg) => {
139
57
  if (arg) {
@@ -153,55 +71,46 @@ const _parseReleaseTimeoutArg = (arg) => {
153
71
  catch (e) { }
154
72
  }
155
73
  };
156
- const _parseCustTransportsArg = (arg) => {
157
- if (arg) {
158
- try {
159
- return arg.split(/\s+/);
160
- }
161
- catch (e) {
162
- return [];
163
- }
164
- }
165
- };
166
74
  function publish(commandArgs) {
167
75
  return __awaiter(this, void 0, void 0, function* () {
168
- const registry = commons_1.CommandRegistry.get();
169
- const packageName = commandArgs.package;
170
- const packageVersion = commandArgs.version || 'latest';
171
- const devclass = commandArgs.devclass;
172
- const target = commandArgs.target;
173
- const forceManifestInput = commandArgs.forceManifest;
174
- const skipLang = commandArgs.skipLang;
175
- const skipCust = commandArgs.skipCustomizing;
176
- const skipDependencies = commandArgs.skipDependencies;
177
- var skipEditSapEntries = commandArgs.skipEditSapEntries;
178
- var skipEditDependencies = commandArgs.skipEditDependencies;
179
- var skipReadme = commandArgs.skipReadme;
180
- const silent = commandArgs.silent;
181
- const manifest = _parseManifestArgument(packageName, packageVersion, commandArgs.manifest);
182
- const readme = _parseReadmeArg(commandArgs.readme);
183
- const releaseTimeout = _parseReleaseTimeoutArg(commandArgs.releaseTimeout);
184
- const customizingTransports = _parseCustTransportsArg(commandArgs.customizingTransports);
185
- const tmpFolder = (0, utils_1.getTempFolder)();
186
- const output = yield (0, trm_core_1.publish)({
187
- package: manifest,
188
- registry,
189
- devclass,
190
- target,
191
- forceManifestInput,
192
- customizingTransports,
193
- releaseTimeout,
194
- readme,
195
- skipCust,
196
- skipDependencies,
197
- skipEditDependencies,
198
- skipEditSapEntries,
199
- skipLang,
200
- skipReadme,
201
- tmpFolder,
202
- silent
76
+ const result = yield (0, trm_core_1.publish)({
77
+ contextData: {
78
+ logTemporaryFolder: (0, utils_1.getTempFolder)(),
79
+ systemPackages: commons_1.CommandContext.systemPackages,
80
+ noInquirer: commandArgs.noPrompts
81
+ },
82
+ packageData: {
83
+ name: commandArgs.package,
84
+ version: commandArgs.version,
85
+ devclass: commandArgs.devclass,
86
+ manifest: {
87
+ authors: commandArgs.authors,
88
+ backwardsCompatible: commandArgs.backwardsCompatible,
89
+ description: commandArgs.description,
90
+ git: commandArgs.git,
91
+ keywords: commandArgs.keywords,
92
+ license: commandArgs.license,
93
+ website: commandArgs.website,
94
+ dependencies: _parseDependenciesArg(commandArgs.dependencies),
95
+ sapEntries: _parseSapEntriesArg(commandArgs.sapEntries)
96
+ },
97
+ registry: commons_1.CommandContext.getRegistry()
98
+ },
99
+ publishData: {
100
+ private: commandArgs.private,
101
+ keepLatestReleaseManifestValues: commandArgs.keepLatestReleaseManifestValues,
102
+ noLanguageTransport: commandArgs.noLanguageTransport,
103
+ noDependenciesDetection: commandArgs.noDependenciesDetection,
104
+ skipCustomizingTransports: commandArgs.skipCustomizingTransports,
105
+ customizingTransports: commandArgs.customizingTransports,
106
+ readme: _parseReadmeArg(commandArgs.readme)
107
+ },
108
+ systemData: {
109
+ releaseTimeout: _parseReleaseTimeoutArg(commandArgs.releaseTimeout),
110
+ transportTarget: commandArgs.transportTarget
111
+ }
203
112
  });
204
- const sOutput = `+ ${output.manifest.get().name} ${output.manifest.get().version} on ${registry.name}`;
113
+ const sOutput = `+ ${result.trmPackage.manifest.get().name} ${result.trmPackage.manifest.get().version} on ${commons_1.CommandContext.getRegistry().name}`;
205
114
  trm_core_1.Logger.success(sOutput);
206
115
  });
207
116
  }
@@ -34,13 +34,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.unpublish = void 0;
36
36
  const semver = __importStar(require("semver"));
37
- const commons_1 = require("./commons");
38
37
  const trm_core_1 = require("trm-core");
38
+ const commons_1 = require("./commons");
39
39
  function unpublish(commandArgs) {
40
40
  return __awaiter(this, void 0, void 0, function* () {
41
41
  const packageName = commandArgs.package;
42
42
  const packageVersion = semver.clean(commandArgs.version || '');
43
- const registry = commons_1.CommandRegistry.get();
43
+ const registry = commons_1.CommandContext.getRegistry();
44
44
  if (!packageVersion) {
45
45
  throw new Error(`Invalid version.`);
46
46
  }
@@ -14,7 +14,7 @@ const install_1 = require("./install");
14
14
  function update(commandArgs) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
16
  var installArguments = commandArgs;
17
- installArguments.replaceAllowed = true;
17
+ installArguments.overwrite = true;
18
18
  yield (0, install_1.install)(installArguments);
19
19
  });
20
20
  }
@@ -16,7 +16,7 @@ const semver_1 = require("semver");
16
16
  const registryAlias_1 = require("../registryAlias");
17
17
  const _printHeaderSection = (packageName) => {
18
18
  trm_core_1.Logger.info(`Package name: ${packageName}`);
19
- trm_core_1.Logger.info(`Registry: ${commons_1.CommandRegistry.get().name}`);
19
+ trm_core_1.Logger.info(`Registry: ${commons_1.CommandContext.getRegistry().name}`);
20
20
  };
21
21
  const _printVersionSection = (systemPackage, registryView) => {
22
22
  if (!systemPackage && !registryView) {
@@ -124,7 +124,7 @@ function view(commandArgs) {
124
124
  const dest = trm_core_1.SystemConnector.getDest();
125
125
  trm_core_1.Logger.loading(`Reading system data...`);
126
126
  const aSystemPackages = yield trm_core_1.SystemConnector.getInstalledPackages(true);
127
- const oSystemView = aSystemPackages.find(o => o.compareName(packageName) && o.compareRegistry(commons_1.CommandRegistry.registry));
127
+ const oSystemView = aSystemPackages.find(o => o.compareName(packageName) && o.compareRegistry(commons_1.CommandContext.getRegistry()));
128
128
  const oRegistryView = yield (0, commons_1.viewRegistryPackage)(packageName, true);
129
129
  var authors;
130
130
  var keywords;
@@ -15,7 +15,7 @@ const commons_1 = require("./commons");
15
15
  function whoami(commandArgs) {
16
16
  return __awaiter(this, void 0, void 0, function* () {
17
17
  try {
18
- const whoAmI = yield commons_1.CommandRegistry.get().whoAmI();
18
+ const whoAmI = yield commons_1.CommandContext.getRegistry().whoAmI();
19
19
  trm_core_1.Logger.info(`Username: ${whoAmI.username}`);
20
20
  if (whoAmI.logonMessage) {
21
21
  trm_core_1.Logger.registryResponse(whoAmI.logonMessage);
package/dist/index.js CHANGED
@@ -55,7 +55,7 @@ const logout = program.command(`logout`)
55
55
  registryAuthBlacklist: [trm_registry_types_1.AuthenticationType.NO_AUTH]
56
56
  });
57
57
  const ping = program.command(`ping`)
58
- .description(`Test trm-server with ping RFC function.`);
58
+ .description(`Ping trm-server.`);
59
59
  (0, utils_1.registerCommand)(ping, {
60
60
  requiresConnection: true,
61
61
  requiresTrmDependencies: true
@@ -63,76 +63,85 @@ const ping = program.command(`ping`)
63
63
  const publish = program.command(`publish <package> [version]`)
64
64
  .description(`Publish package to registry.`)
65
65
  .addHelpText(`before`, `When no version is defined, it will automatically set to:
66
- - When it's the first release ever: 1.0.0
67
- - When it's already published: the latest available released with patch increased by 1
68
- When it's the first publish, full manifest definition is asked (unless running with flags that will disable it).
69
- When a release is already published, the latest available manifest is used and no overwrite is expected (unless specified by flags).
70
- Translation transport is only generated for packages that contain one or more objects with translations (unless skipped by flags).
71
- Customizing transport is only generated if a valid list of customizing transports is provided (unless skipped by flags).
66
+ - When it's the first publish: 1.0.0
67
+ - When it's already published: the latest available release with patch increased by 1
68
+ When it's the first publish, full manifest definition is asked.
69
+ When a release is already published, the latest available manifest is used but can be overwritten.
70
+ Translation transport is only generated for packages that contain one or more objects with translations (unless skipped by flag).
71
+ Customizing transport is only generated if a valid list of customizing transports is provided (unless skipped by flag).
72
72
  If a default manifest with dependencies is provided in conjunction with the automatic dependency generation, results will be merged.`)
73
- .option(`-d, --devclass <devclass>`, `Devclass (SAP package) that contains user custom developments to publish.`)
74
- .option(`-t, --target <target>`, `TMS Target (Used for transport release).`)
75
- .option(`-m, --manifest <manifestJson>`, `Path to JSON file or JSON string containing manifest publish default values.`)
76
- .option(`-rm, -readme <readme>`, `Path to or text containing the package default value for the readme.`)
77
- .option(`-fm, --forceManifest`, `Force manifest prompt even when it's not required.`, false)
78
- .option(`-sl, --skipLang`, `Skip translation transport.`, false)
79
- .option(`-sc, --skipCustomizing`, `Skip customizing transport.`, false)
80
- .option(`-ct, --customizingTransports`, `Customizing transports to include, separated by comma. Only root transports are required, tasks are automatically included.`)
81
- .option(`-sd, --skipDependencies`, `Skip automatic dependencies search.`, false)
82
- .option(`-ses, --skipEditSapEntries`, `Skip SAP entries edit prompt.`, false)
83
- .option(`-sed, --skipEditDependencies`, `Skip dependencies edit prompt.`, false)
84
- .option(`-srm, --skipReadme`, `Skip readme prompt.`, false)
85
- .option(`-s, --silent`, `No manual inputs.`, false)
86
- .option(`-to, --releaseTimeout <timeout>`, `Release timeout (in seconds).`, '180');
73
+ .option(`-np, --noPrompts`, `No prompts (will force some decisions).`, false)
74
+ .option(`-km, --keepLatestReleaseManifestValues`, `Keep the latest release (if exists) manifest values as defaults.`, true)
75
+ .option(`-nl, --noLanguageTransport`, `Skip language (translations) transport publish.`, false)
76
+ .option(`-nd, --noDependenciesDetection`, `Skip automatic dependencies detection.`, false)
77
+ .option(`-sc, --skipCustomizingTransports`, `Skip customizing transports input.`, false)
78
+ .option(`-to, --releaseTimeout <timeout>`, `Publish transports release timeout (in seconds).`, '180')
79
+ .option(`-d, --devclass <devclass>`, `ABAP package to publish.`)
80
+ .option(`-cust, --customizingTransports <customizingTransports>`, `Customizing transports (separated by comma).`)
81
+ .option(`-rm, --readme <readme>`, `Path to file or value of readme.`)
82
+ .option(`-tt, --transportTarget <transportTarget>`, `Publish transports target.`)
83
+ .option(`-bc, --backwardsCompatible`, `Indicates backwards compatibility with older releases.`, true)
84
+ .option(`-sd, --description`, `Short description of the package.`)
85
+ .option(`-gl, --git <link>`, `Git link.`)
86
+ .option(`-wl, --website <link>`, `Website link.`)
87
+ .option(`-pl, --license <license>`, `Package license.`)
88
+ .option(`-pa, --authors <authors>`, `Package authors (separated by comma).`)
89
+ .option(`-pk, --keywords <keywords>`, `Package keywords (separated by comma).`)
90
+ .option(`-pd, --dependencies <JSON>`, `Package dependencies (in JSON format).`)
91
+ .option(`-ps, --sapEntries <JSON>`, `Package SAP entries (in JSON format).`);
87
92
  (0, utils_1.registerCommand)(publish, {
88
93
  requiresConnection: true,
89
94
  requiresRegistry: true,
90
95
  requiresTrmDependencies: true
91
96
  });
92
- const unpublish = program.command(`unpublish <package> <version>`)
97
+ const unpublish = program.command(`unpublish <package> [version]`)
93
98
  .description(`Unpublish a package release from registry.`);
94
99
  (0, utils_1.registerCommand)(unpublish, {
95
100
  requiresRegistry: true
96
101
  });
97
102
  const install = program.command(`install <package> [version]`)
98
- .description(`Install package from registry to system.`)
99
- .addHelpText(`before`, `When no version is specified, the latest will be installed.
100
- This command won't let you update/downgrade a package unless specified differently with the appropriate flag.`)
101
- .option(`-tl, --transportLayer <transportLayer>`, `Transport layer used for package generation. (default: System default)`)
102
- .option(`-f, --force`, `Force install of the package: no checks on dependencies/SAP Entries or object types, overwrites if already exists.`, false)
103
- .option(`-k, --keepOriginals`, `Keep original package names (no checks if a package with the same name already exists).`, false)
104
- .option(`-to, --importTimeout <timeout>`, `Import timeout (in seconds).`, '180')
105
- .option(`-wg, --workbenchGen`, `Generate a workbench transport containing the package for later transport in the landscape.`, true)
106
- .option(`-ss, --skipSapEntries`, `Skip SAP Entries check (has no effect with flag force).`, false)
107
- .option(`-so, --skipObjectsCheck`, `Skip object types check (has no effect with flag force).`, false)
108
- .option(`-sl, --skipLang`, `Skip translation transport.`, false)
109
- .option(`-sc, --skipCustomizing`, `Skip customizing transport.`, false)
110
- .option(`-sd, --skipDependencies`, `Skip dependencies (has no effect with flag force).`, false)
111
- .option(`-wt, --workbenchTarget <target>`, `Workbench transport target system. Only used if workbench transport is set to generate. (default: None)`)
112
- .option(`-s, --silent`, `No manual inputs.`, false)
113
- .option(`-pr, --packageReplacements <mapJson>`, `Path to JSON file or JSON string containing package replacement map.`)
114
- .option(`-ra, --replaceAllowed`, `Allow package update/downgrade (has no effect with flag force).`, false);
103
+ .description(`Install package from registry into system.`)
104
+ .addHelpText(`before`, `When no version is specified, the latest will be installed.`)
105
+ .option(`-np, --noPrompts`, `No prompts (will force some decisions).`, false)
106
+ .option(`-ow, --overwrite`, `Overwrite installation (allow re-install).`, false)
107
+ .option(`-sf, --safe`, `Safe install (needs package integrity).`, false)
108
+ .option(`-nd, --noDependencies`, `Skip check/install of package dependencies.`, false)
109
+ .option(`-no, --noObjectTypes`, `Skip check of package object types.`, false)
110
+ .option(`-ns, --noSapEntries`, `Skip check of package SAP entries/objects.`, false)
111
+ .option(`-nl, --noLanguageTransport`, `Skip install of language (translations) transport (if exists).`, false)
112
+ .option(`-nc, --noCustomizingTransport`, `Skip install of customizing transport (if exists).`, false)
113
+ .option(`-to, --importTimeout <timeout>`, `Install transports import timeout (in seconds).`, '180')
114
+ .option(`-kd, --keepOriginalPackages`, `Keep original ABAP packages names.`, false)
115
+ .option(`-it, --createInstallTransport`, `Create/update install transport (used for landscape transports).`, true)
116
+ .option(`-r3, --r3transPath <path>`, `R3trans program path. (default: Environment variable R3TRANS_HOME)`)
117
+ .option(`-sha, --integrity <sha>`, `Package integrity.`)
118
+ .option(`-tl, --transportLayer <transportLayer>`, `ABAP packages transport layer. (default: System default)`)
119
+ .option(`-tl, --packageReplacements <JSON>`, `ABAP package replacements in JSON format.`)
120
+ .option(`-itt, --installTransportTargetSys <transportTarget>`, `Install transport target system.`);
115
121
  (0, utils_1.registerCommand)(install, {
116
122
  requiresConnection: true,
117
123
  requiresRegistry: true,
118
124
  requiresTrmDependencies: true
119
125
  });
120
126
  const update = program.command(`update <package> [version]`)
121
- .description(`Update package from registry to system.`)
127
+ .description(`Update package from registry into system.`)
128
+ .description(`Install package from registry into system.`)
122
129
  .addHelpText(`before`, `When no version is specified, the latest will be installed.`)
123
- .option(`-tl, --transportLayer <transportLayer>`, `Transport layer used for package generation. (default: System default)`)
124
- .option(`-f, --force`, `Force install of the package: no checks on dependencies/SAP Entries or object types, overwrites if already exists.`, false)
125
- .option(`-k, --keepOriginals`, `Keep original package names (no checks if a package with the same name already exists).`, false)
126
- .option(`-to, --importTimeout <timeout>`, `Import timeout (in seconds).`, '180')
127
- .option(`-wg, --workbenchGen`, `Generate a workbench transport containing the package for later transport in the landscape.`, true)
128
- .option(`-ss, --skipSapEntries`, `Skip SAP Entries check (has no effect with flag force).`, false)
129
- .option(`-so, --skipObjectsCheck`, `Skip object types check (has no effect with flag force).`, false)
130
- .option(`-sl, --skipLang`, `Skip translation transport.`, false)
131
- .option(`-sc, --skipCustomizing`, `Skip customizing transport.`, false)
132
- .option(`-sd, --skipDependencies`, `Skip dependencies (has no effect with flag force).`, false)
133
- .option(`-wt, --workbenchTarget <target>`, `Workbench transport target system. Only used if workbench transport is set to generate. (default: None)`)
134
- .option(`-s, --silent`, `No manual inputs.`, false)
135
- .option(`-pr, --packageReplacements <mapJson>`, `Path to JSON file or JSON string containing package replacement map.`);
130
+ .option(`-np, --noPrompts`, `No prompts (will force some decisions).`, false)
131
+ .option(`-sf, --safe`, `Safe install (needs package integrity).`, false)
132
+ .option(`-nd, --noDependencies`, `Skip check/install of package dependencies.`, false)
133
+ .option(`-no, --noObjectTypes`, `Skip check of package object types.`, false)
134
+ .option(`-ns, --noSapEntries`, `Skip check of package SAP entries/objects.`, false)
135
+ .option(`-nl, --noLanguageTransport`, `Skip install of language (translations) transport (if exists).`, false)
136
+ .option(`-nc, --noCustomizingTransport`, `Skip install of customizing transport (if exists).`, false)
137
+ .option(`-to, --importTimeout <timeout>`, `Install transports import timeout (in seconds).`, '180')
138
+ .option(`-kd, --keepOriginalPackages`, `Keep original ABAP packages names.`, false)
139
+ .option(`-it, --createInstallTransport`, `Create/update install transport (used for landscape transports).`, true)
140
+ .option(`-r3, --r3transPath <path>`, `R3trans program path. (default: Environment variable R3TRANS_HOME)`)
141
+ .option(`-sha, --integrity <sha>`, `Package integrity.`)
142
+ .option(`-tl, --transportLayer <transportLayer>`, `ABAP packages transport layer. (default: System default)`)
143
+ .option(`-tl, --packageReplacements <JSON>`, `ABAP package replacements in JSON format.`)
144
+ .option(`-itt, --installTransportTargetSys <transportTarget>`, `Install transport target system.`);
136
145
  (0, utils_1.registerCommand)(update, {
137
146
  requiresConnection: true,
138
147
  requiresRegistry: true,
@@ -161,15 +170,16 @@ const list = program.command(`list`)
161
170
  });
162
171
  const check = program.command(`check <package>`)
163
172
  .description(`Analyze installed package status on a system.`)
164
- .option(`-at, --analysisType`, `Analysis type.`);
173
+ .option(`-at, --analysisType`, `Analysis type (DEPENDENCIES, SAPENTRIES or ALL).`);
165
174
  (0, utils_1.registerCommand)(check, {
166
175
  requiresConnection: true,
167
176
  requiresRegistry: true,
168
177
  ignoreRegistryUnreachable: true
169
178
  });
170
179
  const findDependencies = program.command(`findDependencies <devclass>`)
171
- .description(`Find SAP package dependencies with custom packages/trm packages/SAP Entries.`)
172
- .option(`-se, --sapEntries`, `Show list of required SAP Entries.`, false);
180
+ .description(`Find SAP package dependencies with custom packages/trm packages/SAP entries/objects.`)
181
+ .option(`-se, --sapEntries`, `Show list of required SAP entries/objects.`, false)
182
+ .option(`-np, --noPrompts`, `No prompts (will force some decisions).`, false);
173
183
  (0, utils_1.registerCommand)(findDependencies, {
174
184
  requiresConnection: true
175
185
  });
@@ -1,14 +1,18 @@
1
- import { Connection, Login, ServerSystemConnector } from "trm-core";
1
+ import { SystemConnectorType } from "../utils";
2
2
  import { SystemAliasData } from "./SystemAliasData";
3
+ import { ISystemConnector, Login, RESTConnection, RFCConnection } from "trm-core";
4
+ import { ConnectArguments } from "../commands";
3
5
  export declare class SystemAlias {
6
+ type: SystemConnectorType;
4
7
  private _connection;
5
8
  private _login;
6
- constructor(_connection: Connection, _login: Login);
7
- getConnection(): ServerSystemConnector;
9
+ constructor(type: SystemConnectorType, _connection: RFCConnection | RESTConnection, _login: Login);
10
+ getConnection(): ISystemConnector;
8
11
  private static generateFile;
9
12
  private static getSystemAliasFilePath;
10
13
  static getAll(): SystemAliasData[];
11
14
  static get(name: string): SystemAlias;
12
- static create(name: string, connection: Connection, login: Login): SystemAlias;
15
+ static create(name: string, type: SystemConnectorType, connection: RFCConnection | RESTConnection, login: Login): SystemAlias;
13
16
  static delete(name: string): void;
17
+ static createIfNotExists(connArgs: ConnectArguments): Promise<void>;
14
18
  }