trm-core 7.5.6 → 8.0.1

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 (61) hide show
  1. package/changelog.txt +15 -0
  2. package/dist/actions/checkPackageDependencies/analyze.js +5 -51
  3. package/dist/actions/checkPackageDependencies/index.d.ts +2 -5
  4. package/dist/actions/checkPackageDependencies/init.js +5 -7
  5. package/dist/actions/checkSapEntries/analyze.js +2 -2
  6. package/dist/actions/checkSapEntries/index.d.ts +2 -2
  7. package/dist/actions/checkSapEntries/init.js +1 -4
  8. package/dist/actions/findDependencies/index.d.ts +0 -2
  9. package/dist/actions/findDependencies/setTrmDependencies.js +11 -55
  10. package/dist/actions/install/addNamespace.js +14 -9
  11. package/dist/actions/install/checkAlreadyInstalled.js +2 -2
  12. package/dist/actions/install/checkDependencies.js +2 -16
  13. package/dist/actions/install/checkSapEntries.js +1 -1
  14. package/dist/actions/install/checkTransports.js +2 -2
  15. package/dist/actions/install/executePostActivities.js +3 -3
  16. package/dist/actions/install/generateInstallTransport.js +40 -5
  17. package/dist/actions/install/index.d.ts +6 -10
  18. package/dist/actions/install/index.js +2 -4
  19. package/dist/actions/install/init.js +37 -45
  20. package/dist/actions/install/installDependencies.js +0 -1
  21. package/dist/actions/install/setPackageIntegrity.js +1 -1
  22. package/dist/actions/install/setTrmServerUpgradeService.js +1 -1
  23. package/dist/actions/installDependency/findInstallRelease.js +18 -18
  24. package/dist/actions/installDependency/index.d.ts +0 -1
  25. package/dist/actions/installDependency/init.js +0 -7
  26. package/dist/actions/installDependency/installRelease.js +0 -1
  27. package/dist/actions/publish/findDependencies.js +0 -12
  28. package/dist/actions/publish/generateCustTransport.js +0 -3
  29. package/dist/actions/publish/generateDevcTransport.js +0 -4
  30. package/dist/actions/publish/generateLangTransport.js +0 -3
  31. package/dist/actions/publish/getSourceCode.js +1 -1
  32. package/dist/actions/publish/index.d.ts +1 -1
  33. package/dist/actions/publish/init.js +71 -95
  34. package/dist/actions/publish/setManifestValues.js +4 -13
  35. package/dist/commons/getAxiosInstance.d.ts +1 -1
  36. package/dist/manifest/Manifest.d.ts +2 -0
  37. package/dist/manifest/Manifest.js +47 -17
  38. package/dist/manifest/TrmManifestDependency.d.ts +0 -1
  39. package/dist/registry/AbstractRegistry.d.ts +7 -7
  40. package/dist/registry/FileSystem.d.ts +7 -6
  41. package/dist/registry/FileSystem.js +35 -34
  42. package/dist/registry/RegistryProvider.js +4 -4
  43. package/dist/registry/{Registry.d.ts → RegistryV2.d.ts} +11 -10
  44. package/dist/registry/{Registry.js → RegistryV2.js} +146 -74
  45. package/dist/registry/index.d.ts +1 -1
  46. package/dist/registry/index.js +1 -1
  47. package/dist/systemConnector/ISystemConnectorBase.d.ts +1 -1
  48. package/dist/systemConnector/SystemConnector.d.ts +1 -1
  49. package/dist/systemConnector/SystemConnector.js +3 -3
  50. package/dist/systemConnector/SystemConnectorBase.d.ts +1 -1
  51. package/dist/systemConnector/SystemConnectorBase.js +33 -11
  52. package/dist/transport/Transport.d.ts +4 -1
  53. package/dist/transport/Transport.js +54 -31
  54. package/dist/trmPackage/TrmArtifact.js +3 -5
  55. package/dist/trmPackage/TrmPackage.d.ts +0 -16
  56. package/dist/trmPackage/TrmPackage.js +10 -133
  57. package/dist/validators/validatePackageVisibility.d.ts +1 -1
  58. package/dist/validators/validatePackageVisibility.js +2 -16
  59. package/package.json +4 -3
  60. package/dist/actions/install/checkIntegrity.d.ts +0 -3
  61. package/dist/actions/install/checkIntegrity.js +0 -42
@@ -2,17 +2,11 @@ import { Manifest } from "../manifest";
2
2
  import { AbstractRegistry } from "../registry";
3
3
  import { TrmArtifact } from "./TrmArtifact";
4
4
  import { DEVCLASS } from "../client";
5
- import { R3transOptions } from "node-r3trans";
6
5
  import { Transport } from "../transport";
7
- export declare const DEFAULT_VERSION: string;
8
6
  export declare class TrmPackage {
9
7
  packageName: string;
10
8
  registry: AbstractRegistry;
11
9
  manifest?: Manifest;
12
- private _userAuthorizations;
13
- private _canPublishReleasesCause;
14
- private _remoteArtifacts;
15
- private _remoteContent;
16
10
  private _devclass;
17
11
  private _wbTransport;
18
12
  constructor(packageName: string, registry: AbstractRegistry, manifest?: Manifest);
@@ -20,22 +14,12 @@ export declare class TrmPackage {
20
14
  getDevclass(): DEVCLASS;
21
15
  setWbTransport(transport: Transport): TrmPackage;
22
16
  getWbTransport(): Promise<Transport>;
23
- exists(version?: string): Promise<boolean>;
24
- canPublishReleases(): Promise<{
25
- canPublishReleases: boolean;
26
- cause?: string;
27
- }>;
28
- fetchRemoteArtifact(version?: string): Promise<TrmArtifact>;
29
- fetchRemoteManifest(version?: string): Promise<Manifest>;
30
- fetchRemoteContent(version?: string, r3transConfig?: R3transOptions): Promise<any>;
31
17
  publish(data: {
32
18
  artifact: TrmArtifact;
33
19
  readme?: string;
34
20
  }): Promise<TrmPackage>;
35
21
  compareRegistry(registry: AbstractRegistry): boolean;
36
22
  compareName(name: string): boolean;
37
- private _viewLatest;
38
23
  static create(manifest: Manifest, registry: AbstractRegistry): Promise<TrmPackage>;
39
24
  static compare(o1: TrmPackage, o2: TrmPackage): boolean;
40
- static normalizeVersion(packageName: string, version: string, registry: AbstractRegistry): Promise<string>;
41
25
  }
@@ -1,37 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -42,19 +9,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
42
9
  });
43
10
  };
44
11
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.TrmPackage = exports.DEFAULT_VERSION = void 0;
46
- const semver = __importStar(require("semver"));
12
+ exports.TrmPackage = void 0;
47
13
  const trm_commons_1 = require("trm-commons");
48
14
  const manifest_1 = require("../manifest");
49
15
  const systemConnector_1 = require("../systemConnector");
50
- exports.DEFAULT_VERSION = "1.0.0";
51
16
  class TrmPackage {
52
17
  constructor(packageName, registry, manifest) {
53
18
  this.packageName = packageName;
54
19
  this.registry = registry;
55
20
  this.manifest = manifest;
56
- this._remoteArtifacts = {};
57
- this._remoteContent = {};
58
21
  }
59
22
  setDevclass(devclass) {
60
23
  this._devclass = devclass;
@@ -70,66 +33,18 @@ class TrmPackage {
70
33
  getWbTransport() {
71
34
  return __awaiter(this, void 0, void 0, function* () {
72
35
  if (this._wbTransport === undefined) {
73
- this._wbTransport = yield systemConnector_1.SystemConnector.getPackageWorkbenchTransport(this);
74
- }
75
- return this._wbTransport;
76
- });
77
- }
78
- exists() {
79
- return __awaiter(this, arguments, void 0, function* (version = 'latest') {
80
- return (yield this.registry.packageExists(this.packageName, version));
81
- });
82
- }
83
- canPublishReleases() {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- if (this._userAuthorizations === undefined) {
86
- var view;
87
- try {
88
- view = yield this._viewLatest();
36
+ const transports = yield systemConnector_1.SystemConnector.getWbTransports(this);
37
+ if (transports.length === 1) {
38
+ this._wbTransport = transports[0];
89
39
  }
90
- catch (e) {
91
- this._canPublishReleasesCause = e.message;
92
- if (e.response && typeof (e.response) === "object") {
93
- view = e.response;
94
- }
95
- else {
96
- throw e;
97
- }
40
+ else {
41
+ this._wbTransport = false;
98
42
  }
99
- this._userAuthorizations = view.userAuthorizations;
100
- }
101
- return {
102
- canPublishReleases: this._userAuthorizations.canCreateReleases,
103
- cause: this._canPublishReleasesCause
104
- };
105
- });
106
- }
107
- fetchRemoteArtifact() {
108
- return __awaiter(this, arguments, void 0, function* (version = 'latest') {
109
- if (!this._remoteArtifacts[version]) {
110
- this._remoteArtifacts[version] = yield this.registry.getArtifact(this.packageName, version);
111
43
  }
112
- return this._remoteArtifacts[version];
113
- });
114
- }
115
- fetchRemoteManifest() {
116
- return __awaiter(this, arguments, void 0, function* (version = 'latest') {
117
- const artifact = yield this.fetchRemoteArtifact(version);
118
- this.manifest = artifact.getManifest();
119
- this._remoteArtifacts[this.manifest.get().version] = this._remoteArtifacts[version];
120
- return this._remoteArtifacts[version].getManifest();
121
- });
122
- }
123
- fetchRemoteContent() {
124
- return __awaiter(this, arguments, void 0, function* (version = 'latest', r3transConfig) {
125
- if (!this._remoteContent[version]) {
126
- const artifact = yield this.fetchRemoteArtifact(version);
127
- const manifest = artifact.getManifest();
128
- const actualVersion = manifest.get().version;
129
- this._remoteArtifacts[version] = yield artifact.getContent(r3transConfig);
130
- this._remoteArtifacts[actualVersion] = this._remoteArtifacts[version];
44
+ if (this._wbTransport === false) {
45
+ return undefined;
131
46
  }
132
- return this._remoteArtifacts[version];
47
+ return this._wbTransport;
133
48
  });
134
49
  }
135
50
  publish(data) {
@@ -141,9 +56,8 @@ class TrmPackage {
141
56
  throw new Error(`Cannot publish package ${packageName}: expected name is ${this.packageName}`);
142
57
  }
143
58
  const packageVersion = trmManifest.version;
144
- const readme = data.readme || '';
145
59
  trm_commons_1.Logger.loading(`Publishing "${packageName}" ${packageVersion} to registry "${this.registry.name}"...`, false);
146
- yield this.registry.publishArtifact(packageName, packageVersion, artifact, readme);
60
+ yield this.registry.publish(packageName, packageVersion, artifact, data.readme);
147
61
  this.manifest = new manifest_1.Manifest(trmManifest);
148
62
  return this;
149
63
  });
@@ -154,11 +68,6 @@ class TrmPackage {
154
68
  compareName(name) {
155
69
  return this.packageName.trim().toUpperCase() === name.trim().toUpperCase();
156
70
  }
157
- _viewLatest() {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- return (yield this.registry.view(this.packageName, 'latest'));
160
- });
161
- }
162
71
  static create(manifest, registry) {
163
72
  return __awaiter(this, void 0, void 0, function* () {
164
73
  return new TrmPackage(manifest.get().name, registry, manifest);
@@ -167,37 +76,5 @@ class TrmPackage {
167
76
  static compare(o1, o2) {
168
77
  return o1.compareName(o2.packageName) && o1.compareRegistry(o2.registry);
169
78
  }
170
- static normalizeVersion(packageName, version, registry) {
171
- return __awaiter(this, void 0, void 0, function* () {
172
- const oPackage = new TrmPackage(packageName, registry);
173
- const usingLatest = version.trim().toLowerCase() === 'latest';
174
- if (!usingLatest) {
175
- version = semver.clean(version);
176
- if (!version) {
177
- throw new Error('Version not supported.');
178
- }
179
- }
180
- const exists = yield oPackage.exists();
181
- if (!exists) {
182
- if (usingLatest) {
183
- version = exports.DEFAULT_VERSION;
184
- }
185
- }
186
- else {
187
- if (!usingLatest) {
188
- const versionExists = yield oPackage.exists(version);
189
- if (versionExists) {
190
- throw new Error(`Package "${packageName}" versioned ${version} already published.`);
191
- }
192
- }
193
- else {
194
- const oManifest = yield oPackage.fetchRemoteManifest('latest');
195
- const latestPublishedManifest = oManifest.get();
196
- version = semver.inc(latestPublishedManifest.version, 'patch');
197
- }
198
- }
199
- return version;
200
- });
201
- }
202
79
  }
203
80
  exports.TrmPackage = TrmPackage;
@@ -1,2 +1,2 @@
1
1
  import { RegistryType } from "../registry";
2
- export declare function validatePackageVisibility(registryType: RegistryType, packageName: string, isPrivate: boolean, latestReleaseVisibility: boolean): string | true;
2
+ export declare function validatePackageVisibility(registryType: RegistryType, isPrivate: boolean, latestReleaseVisibility: boolean): string | true;
@@ -1,29 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validatePackageVisibility = validatePackageVisibility;
4
- const commons_1 = require("../commons");
5
4
  const registry_1 = require("../registry");
6
- function validatePackageVisibility(registryType, packageName, isPrivate, latestReleaseVisibility) {
5
+ function validatePackageVisibility(registryType, isPrivate, latestReleaseVisibility) {
7
6
  if (registryType === registry_1.RegistryType.PUBLIC) {
8
7
  if (latestReleaseVisibility !== undefined) {
9
8
  if (isPrivate !== latestReleaseVisibility) {
10
9
  return `Cannot change package visibility from ${isPrivate ? 'private' : 'public'} to ${latestReleaseVisibility ? 'private' : 'public'}.`;
11
10
  }
12
11
  }
13
- if (isPrivate) {
14
- const packageNameParsed = (0, commons_1.parsePackageName)({
15
- fullName: packageName
16
- });
17
- if (!packageNameParsed.organization) {
18
- return `Private packages on public registry need a scope!`;
19
- }
20
- else {
21
- return true;
22
- }
23
- }
24
- else {
25
- return true;
26
- }
12
+ return true;
27
13
  }
28
14
  else {
29
15
  return true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trm-core",
3
- "version": "7.5.6",
3
+ "version": "8.0.1",
4
4
  "description": "TRM (Transport Request Manager) Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -46,13 +46,14 @@
46
46
  "axios": "^1.7.9",
47
47
  "chalk": "^4.1.2",
48
48
  "cli-progress": "^3.12.0",
49
- "dotenv": "^16.3.1",
49
+ "dotenv": "^17.2.2",
50
50
  "email-validator": "^2.0.4",
51
51
  "express": "^4.18.2",
52
52
  "get-root-path": "^3.0.1",
53
53
  "get-stack-trace": "^3.1.1",
54
54
  "lodash": "^4.17.21",
55
55
  "minimatch": "^10.0.1",
56
+ "node-cache": "^5.1.2",
56
57
  "node-html-parser": "^7.0.1",
57
58
  "node-r3trans": "^2.0.1",
58
59
  "object-keys-normalizer": "^1.0.1",
@@ -62,7 +63,7 @@
62
63
  "semver": "^7.5.4",
63
64
  "semver-sort": "^1.0.0",
64
65
  "spdx-license-ids": "^3.0.13",
65
- "trm-registry-types": "^1.1.1",
66
+ "trm-registry-types": "^2.0.0",
66
67
  "uuid": "^9.0.1",
67
68
  "xml-beautify": "^1.2.3",
68
69
  "xml-js": "^1.6.11"
@@ -1,3 +0,0 @@
1
- import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { InstallWorkflowContext } from ".";
3
- export declare const checkIntegrity: Step<InstallWorkflowContext>;
@@ -1,42 +0,0 @@
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.checkIntegrity = void 0;
13
- const trm_commons_1 = require("trm-commons");
14
- exports.checkIntegrity = {
15
- name: 'check-integrity',
16
- run: (context) => __awaiter(void 0, void 0, void 0, function* () {
17
- trm_commons_1.Logger.log('Check integrity step', true);
18
- const inputIntegrity = context.rawInput.packageData.integrity;
19
- const safe = context.rawInput.installData.checks.safe;
20
- if (!inputIntegrity) {
21
- if (safe) {
22
- throw new Error(`Running in safe mode but no integrity checksum was provided.`);
23
- }
24
- else {
25
- return;
26
- }
27
- }
28
- const trmManifest = context.runtime.remotePackageData.trmManifest;
29
- const installIntegrity = context.runtime.remotePackageData.integrity;
30
- if (installIntegrity !== inputIntegrity) {
31
- trm_commons_1.Logger.warning(`ATTENTION!! Integrity check failed on package ${trmManifest.name}, version ${trmManifest.version}.`);
32
- trm_commons_1.Logger.warning(` Local: ${inputIntegrity}`);
33
- trm_commons_1.Logger.warning(` Remote: ${installIntegrity}`);
34
- if (safe) {
35
- trm_commons_1.Logger.warning(` Install will continue.`);
36
- }
37
- else {
38
- throw new Error(`Safe mode: package installation aborted due to integrity check failure.`);
39
- }
40
- }
41
- })
42
- };