trm-core 9.10.0 → 9.10.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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2023 RegestaItalia
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) 2023 RegestaItalia
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
package/README.md CHANGED
@@ -1,55 +1,55 @@
1
- # <a href="https://docs.trmregistry.com/"><img src="https://docs.trmregistry.com/logo.png" height="40" alt="TRM"></a>
2
-
3
- [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-1.3.0-4baaaa.svg)](https://github.com/RegestaItalia/trm-docs/blob/main/CODE_OF_CONDUCT.md)
4
- [![Core License](https://img.shields.io/github/license/RegestaItalia/trm-core)](https://github.com/RegestaItalia/trm-core)
5
- [![Core Latest version](https://img.shields.io/npm/v/trm-core)](https://www.npmjs.com/package/trm-core)
6
- [![Core Installs](https://img.shields.io/npm/dt/trm-core)](https://www.npmjs.com/package/trm-core)
7
- [![View Code Wiki](https://assets.codewiki.google/readme-badge/static.svg)](https://codewiki.google/github.com/regestaitalia/trm-docs)
8
-
9
- | 🚀 This project is funded and maintained by 🏦 | 🔗 |
10
- |-------------------------------------------------|----------------------------------------------------------------|
11
- | Regesta S.p.A. | [https://www.regestaitalia.eu/](https://www.regestaitalia.eu/) |
12
- | Clarex S.r.l. | [https://www.clarex.it/](https://www.clarex.it/) |
13
-
14
- [trm-core](https://www.npmjs.com/package/trm-core) is the server-side component of TRM.
15
-
16
- 🚚 **TRM (Transport Request Manager)** is a package manager inspired solution built leveraging CTS that simplifies SAP ABAP transports.
17
-
18
- <p align="center">
19
- <img src="https://docs.trmregistry.com/logo.png" alt="TRM Logo" />
20
- </p>
21
-
22
- TRM introduces **package-based software delivery** to the SAP ecosystem, bringing with it semantic versioning, dependency management, and automated deployment activities.
23
-
24
- # Requirements
25
-
26
- - [Node >=22.12.0](https://github.com/nodejs/node/releases/tag/v22.12.0)
27
-
28
- # Documentation
29
-
30
- Full documentation can be seen at [https://docs.trmregistry.com/](https://docs.trmregistry.com).
31
-
32
- # Usage
33
-
34
- `trm-core` is a low-level library and is **not intended to be used directly** by end users.
35
-
36
- In order to interact with SAP systems, `trm-core` must be consumed by a compatible client implementation.
37
-
38
- ## CLI Client
39
-
40
- Install the official CLI client via npm:
41
-
42
- ```bash
43
- npm install trm-client -g
44
- ```
45
-
46
- # Contributing
47
- Like every other TRM open-source projects, contributions are always welcomed ❤️.
48
-
49
- Make sure to open an issue first.
50
-
51
- Contributions will be merged upon approval.
52
-
53
- [Click here](https://docs.trmregistry.com/#/CONTRIBUTING) for the full list of TRM contribution guidelines.
54
-
55
- [<img src="https://trmregistry.com/public/contributors?image=true">](https://docs.trmregistry.com/#/?id=contributors)
1
+ # <a href="https://docs.trmregistry.com/"><img src="https://docs.trmregistry.com/logo.png" height="40" alt="TRM"></a>
2
+
3
+ [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-1.3.0-4baaaa.svg)](https://github.com/RegestaItalia/trm-docs/blob/main/CODE_OF_CONDUCT.md)
4
+ [![Core License](https://img.shields.io/github/license/RegestaItalia/trm-core)](https://github.com/RegestaItalia/trm-core)
5
+ [![Core Latest version](https://img.shields.io/npm/v/trm-core)](https://www.npmjs.com/package/trm-core)
6
+ [![Core Installs](https://img.shields.io/npm/dt/trm-core)](https://www.npmjs.com/package/trm-core)
7
+ [![View Code Wiki](https://assets.codewiki.google/readme-badge/static.svg)](https://codewiki.google/github.com/regestaitalia/trm-docs)
8
+
9
+ | 🚀 This project is funded and maintained by 🏦 | 🔗 |
10
+ |-------------------------------------------------|----------------------------------------------------------------|
11
+ | Regesta S.p.A. | [https://www.regestaitalia.eu/](https://www.regestaitalia.eu/) |
12
+ | Clarex S.r.l. | [https://www.clarex.it/](https://www.clarex.it/) |
13
+
14
+ [trm-core](https://www.npmjs.com/package/trm-core) is the server-side component of TRM.
15
+
16
+ 🚚 **TRM (Transport Request Manager)** is a package manager inspired solution built leveraging CTS that simplifies SAP ABAP transports.
17
+
18
+ <p align="center">
19
+ <img src="https://docs.trmregistry.com/logo.png" alt="TRM Logo" />
20
+ </p>
21
+
22
+ TRM introduces **package-based software delivery** to the SAP ecosystem, bringing with it semantic versioning, dependency management, and automated deployment activities.
23
+
24
+ # Requirements
25
+
26
+ - [Node >=22.12.0](https://github.com/nodejs/node/releases/tag/v22.12.0)
27
+
28
+ # Documentation
29
+
30
+ Full documentation can be seen at [https://docs.trmregistry.com/](https://docs.trmregistry.com).
31
+
32
+ # Usage
33
+
34
+ `trm-core` is a low-level library and is **not intended to be used directly** by end users.
35
+
36
+ In order to interact with SAP systems, `trm-core` must be consumed by a compatible client implementation.
37
+
38
+ ## CLI Client
39
+
40
+ Install the official CLI client via npm:
41
+
42
+ ```bash
43
+ npm install trm-client -g
44
+ ```
45
+
46
+ # Contributing
47
+ Like every other TRM open-source projects, contributions are always welcomed ❤️.
48
+
49
+ Make sure to open an issue first.
50
+
51
+ Contributions will be merged upon approval.
52
+
53
+ [Click here](https://docs.trmregistry.com/#/CONTRIBUTING) for the full list of TRM contribution guidelines.
54
+
55
+ [<img src="https://trmregistry.com/public/contributors?image=true">](https://docs.trmregistry.com/#/?id=contributors)
package/changelog.txt CHANGED
@@ -1,377 +1,385 @@
1
- trm-core changelog
2
- =================
3
-
4
- Legend
5
- ------
6
- * : fixed
7
- ! : changed
8
- + : added
9
- - : removed
10
-
11
- 2026-07-22 v9.10.0
12
- -------------------
13
- + changelog publish support
14
- ! trm-registry-types ^2.4.0
15
- + async publish
16
-
17
- 2026-07-20 v9.9.0
18
- -------------------
19
- * rest package update
20
- + error message on unauthenticated publish in public registry
21
- ! trm-server ^6.4.1
22
-
23
- 2026-07-20 v9.8.5
24
- -------------------
25
- ! audit
26
-
27
- 2026-07-05 v9.8.4
28
- -------------------
29
- * trm-rest install (temporary package)
30
- ! moved transport install generation as final step of install
31
- ! trm-registry-types ^2.2.0
32
-
33
- 2026-07-05 v9.8.3
34
- -------------------
35
- * rest client get installed packages
36
-
37
- 2026-07-05 v9.8.2
38
- -------------------
39
- * rest client response parsing
40
-
41
- 2026-07-05 v9.8.1
42
- -------------------
43
- - uuid dependency
44
-
45
- 2026-06-15 v9.8.0
46
- -------------------
47
- ! guard table read result fields order
48
- ! sanitize package contents from registry
49
-
50
- 2026-05-26 v9.7.0
51
- -------------------
52
- * install of trm-server and trm-rest
53
- ! trm-commons ^5.0.0
54
-
55
- 2026-05-08 v9.5.1
56
- -------------------
57
- * install of trm-server and trm-rest
58
-
59
- 2026-05-07 v9.5.0
60
- -------------------
61
- * avoid usage of r3trans when entries are provided by registry
62
- ! registry return type on publish
63
- ! trm-commons ^4.2.0
64
-
65
- 2026-04-29 v9.4.0
66
- -------------------
67
- ! trm-commons ^4.1.0
68
- * upgrade of trm-server/trm-rest post /ATRM/ package replacements
69
- ! usage of temporary packages instead of namespace
70
- ! avoid usage of r3trans when entries are provided by registry
71
-
72
- 2026-04-21 v9.3.0
73
- -------------------
74
- * avoid useless transport unpack for reading transport number
75
- ! usage with devc transport import when replacements are like original
76
- * ignore namespace import error when doesnt exist
77
- + optional filter installed packages
78
- - optional log parameter
79
- * install transport update in table
80
- + confirm overwrite on dirty package
81
- ! trm-server ^6.1.0
82
- ! trm-commons ^4.0.0
83
- ! node-r3trans ^2.0.2
84
-
85
- 2026-04-21 v9.1.0
86
- -------------------
87
- ! abstract registry log for downloads
88
- ! abstract registry contents endpoint (wip)
89
- ! skip usage of r3trans when registry provides content (wip)
90
-
91
- 2026-04-14 v9.0.0
92
- -------------------
93
- ! moved to namespace /ATRM/
94
- ! trm-commons ^3.7.1
95
- * polling progress bar
96
- * transport icon
97
- ! release check before TADIR transport (in publish)
98
- - sap entries in transport documentation
99
- ! release on transport install
100
- ! multiple customizing transports allowed
101
-
102
- 2026-03-11 v8.5.3
103
- -------------------
104
- + refresh transport text in cg3z
105
-
106
- 2026-03-11 v8.5.2
107
- -------------------
108
- + check transport existance in cg3y
109
-
110
- 2026-03-10 v8.5.1
111
- -------------------
112
- + stateless indicator in system connector
113
-
114
- 2026-03-09 v8.5.0
115
- -------------------
116
- + cg3z/cg3y actions
117
- + warning that indicates a process that should not be stopped
118
- * rest reconnect
119
-
120
- 2026-03-05 v8.4.4
121
- -------------------
122
- ! removed emoji in transport log
123
-
124
- 2026-03-04 v8.4.3
125
- -------------------
126
- ! temp: progress bar glue
127
-
128
- 2026-03-04 v8.4.2
129
- -------------------
130
- ! temp: progress bar in package dependency detection
131
-
132
- 2026-03-03 v8.4.1
133
- -------------------
134
- * rfc debug logger hide buffers
135
-
136
- 2026-03-03 v8.4.0
137
- -------------------
138
- * print message on install
139
- ! removed buffer from registry debug log output
140
- ! added manifest to all trm transports
141
- ! package replacement uses installed package namespace (if in update)
142
- ! trm-server ^5.2.0
143
- + import status logging
144
- ! pass global npm path to avoid useless calls
145
-
146
- 2026-02-17 v8.3.1
147
- -------------------
148
- + temp change to timeout (waiting for proper change)
149
-
150
- 2026-02-17 v8.3.0
151
- -------------------
152
- * npm global path
153
-
154
- 2026-02-17 v8.2.3
155
- -------------------
156
- * find dependencies in publish action
157
-
158
- 2026-02-17 v8.2.2
159
- -------------------
160
- * customer package indicator
161
-
162
- 2026-02-17 v8.2.1
163
- -------------------
164
- ! object dependency structure
165
-
166
- 2026-02-11 v8.2.0
167
- -------------------
168
- ! dependency detection moved to trm-server
169
- ! trm-server ^5.1.0
170
- ! package.json detection
171
-
172
- 2025-11-16 v8.1.4
173
- -------------------
174
- + execute trm-server post activities if necessary
175
-
176
- 2025-11-15 v8.1.3
177
- -------------------
178
- * multiple dependencies detected for same object
179
-
180
- 2025-11-07 v8.1.2
181
- -------------------
182
- - encode uri in registry endpoint
183
- + placeholder for lockfile parsing
184
-
185
- 2025-11-04 v8.1.1
186
- -------------------
187
- + moved lock file generation to core
188
- + lock file can be used to determine dependency version
189
- + package visibility to test publish endpoint
190
- + release tags
191
- ! getPackageHierarchy ignore multiple roots in setDevclass method
192
-
193
- 2025-10-30 v8.0.2
194
- -------------------
195
- * fix no dependency detection comparison with latest release
196
-
197
- 2025-10-24 v8.0.1
198
- -------------------
199
- * fix transport relevant for dependency detection issue
200
-
201
- 2025-10-21 v8.0.0
202
- -------------------
203
- ! implement registry v2
204
- - misuse of integrity
205
- * error messages on publish rollback
206
- ! trm-registry-types ^2.0.0
207
- ! transport rc read
208
- ! get workbench method
209
- + handle install transport for same package local/remote
210
- ! manifest.json keys order
211
-
212
- 2025-10-01 v7.5.5
213
- -------------------
214
- ! trm-commons ^3.4.2
215
-
216
- 2025-10-01 v7.5.4
217
- -------------------
218
- ! trm-commons ^3.4.0
219
-
220
- 2025-09-24 v7.5.3
221
- -------------------
222
- ! trm-commons ^3.3.2
223
-
224
- 2025-09-16 v7.5.2
225
- -------------------
226
- + DOMA senvi parser
227
-
228
- 2025-09-03 v7.5.1
229
- -------------------
230
- ! trm-commons ^3.2.0
231
-
232
- 2025-09-03 v7.5.0
233
- -------------------
234
- ! trm-commons ^3.1.0
235
- * npm global path
236
- + rfc closeConnection method
237
- ! private/protected methods/attributes
238
-
239
- 2025-08-27 v7.4.6
240
- -------------------
241
- * template manifest values
242
-
243
- 2025-08-17 v7.4.5
244
- -------------------
245
- ! node-r3trans ^2.0.1
246
- * r3trans options in getContent method
247
-
248
- 2025-07-30 v7.4.4
249
- -------------------
250
- ! node-r3trans ^2.0.0
251
-
252
- 2025-07-30 v7.4.3
253
- -------------------
254
- ! trm-commons ^2.0.0 as peer dependency
255
-
256
- 2025-07-29 v7.4.2
257
- -------------------
258
- ! enforce node engine >=22.12.0 with post install script
259
- ! protocol-registry ^2.0.0
260
-
261
- 2025-07-29 7.4.1
262
- -------------------
263
- ! trm-commons ^2.0.0
264
-
265
- 2025-07-29 7.4.0
266
- -------------------
267
- - dependency install doesn't ask for cust/lang/package replacements anymore if not needed
268
- ! install asks for cust/lang/package replacements when not provided by default parameter
269
- ! import logger shows package name
270
- ! trm-commons ^1.1.0
271
- ! trm-server ^5.0.0
272
- ! set/overwrite dependencies with or without automatic detection
273
- + manifest template for post activities, trm dependency and sap entries
274
- * local package install
275
-
276
- 2025-07-08 v7.3.0
277
- -------------------
278
- + enforce node engine ^22.12.0 with post install script
279
- * install package hierarchy
280
-
281
- 2025-06-04 v7.2.1
282
- -------------------
283
- * inquirer/logger prefix on install dependency
284
- + removed useless wb transport find on package first install
285
-
286
- 2025-06-03 v7.2.0
287
- -------------------
288
- * find dependency with custom object not found without devc reference
289
-
290
- 2025-06-03 v7.1.0
291
- -------------------
292
- * change tr owner on install tr update
293
-
294
- 2025-06-03 v7.0.0
295
- -------------------
296
- ! trm-server ^4.0.0
297
- + change tr owner on install tr update
298
-
299
- 2025-05-29 v6.9.1
300
- -------------------
301
- * remote function for updating server
302
- + confirm if objects exists but no root sap package found
303
-
304
- 2025-05-29 v6.9.0
305
- -------------------
306
- ! check server api auth before install and publish
307
- ! trm-server ^3.1.0
308
- ! read wb transport from package
309
-
310
- 2025-05-27 v6.8.0
311
- -------------------
312
- ! on install transport update, check tasks before add object attempt
313
- * commit before post activity run on RFC
314
- * post activity error log
315
- + node-rfc #327 -> device or resource busy, added workaround
316
-
317
- 2025-05-20 v6.7.1
318
- -------------------
319
- ! get installed packages from backend with trm-server version check
320
-
321
- 2025-05-14 v6.7.0
322
- -------------------
323
- ! trm-server ^3.0.0
324
- * abapgit ignored objects
325
- + post activity pre check
326
- + get installed packages from backend where possible
327
- + regen SAPLZTRM before post activity
328
- * rest sap-client
329
- + keep track of post activities based on latest release
330
-
331
- 2025-05-08 v6.6.0
332
- -------------------
333
- * no integrity with trm-server/trm-rest dependency allowed
334
- ! REST Client and RFC Client error generic -> specific
335
- ! REST Client error xml body parsing with title as message
336
- ! trm-server ^2.2.2
337
-
338
- 2025-05-08 v6.5.1
339
- -------------------
340
- ! rest error handling
341
-
342
- 2025-05-05 v6.5.0
343
- -------------------
344
- ! trm-commons ^1.0.0
345
- * upgrade trm-server fixes
346
- * core package.json location find
347
-
348
- 2025-04-28 v6.4.1
349
- -------------------
350
-
351
- ! node-r3trans ^1.5.0
352
-
353
- 2025-04-28 v6.4.0
354
- -------------------
355
-
356
- + post activities in abap manifest
357
- * return exception type for REST client
358
-
359
- 2025-02-06 v6.3.0
360
- -------------------
361
-
362
- * upgrading package remove previous ZTRM comments in workbench (import) transport
363
- + fetch package remote content
364
- * fix translation transport generation
365
- + move trm package dependencies to core
366
- + transport migration on overwrite
367
- ! DEVC, CUST and LANG are now TRM relevant
368
- * root superpackage on devc tr import blank
369
- + clear state on package install (remove from skipped transports)
370
- + add abapgit source code to TRM artifact
371
- + skip ignored objects listed in .abapgit.xml
372
- + add namespace in manifest
373
- ! abstract registry for custom implementation
374
- + add file system registry for local publish and install
375
- + add post activities
376
- ! cache transports in dependency detection for performance issues on big packages
377
- * check object existance before install
1
+ trm-core changelog
2
+ =================
3
+
4
+ Legend
5
+ ------
6
+ * : fixed
7
+ ! : changed
8
+ + : added
9
+ - : removed
10
+
11
+ 2026-07-29 v9.10.2
12
+ -------------------
13
+ * rest delete from tms
14
+
15
+ 2026-07-23 v9.10.1
16
+ -------------------
17
+ + node package for bundled solutions
18
+
19
+ 2026-07-22 v9.10.0
20
+ -------------------
21
+ + changelog publish support
22
+ ! trm-registry-types ^2.4.0
23
+ + async publish
24
+
25
+ 2026-07-20 v9.9.0
26
+ -------------------
27
+ * rest package update
28
+ + error message on unauthenticated publish in public registry
29
+ ! trm-server ^6.4.1
30
+
31
+ 2026-07-20 v9.8.5
32
+ -------------------
33
+ ! audit
34
+
35
+ 2026-07-05 v9.8.4
36
+ -------------------
37
+ * trm-rest install (temporary package)
38
+ ! moved transport install generation as final step of install
39
+ ! trm-registry-types ^2.2.0
40
+
41
+ 2026-07-05 v9.8.3
42
+ -------------------
43
+ * rest client get installed packages
44
+
45
+ 2026-07-05 v9.8.2
46
+ -------------------
47
+ * rest client response parsing
48
+
49
+ 2026-07-05 v9.8.1
50
+ -------------------
51
+ - uuid dependency
52
+
53
+ 2026-06-15 v9.8.0
54
+ -------------------
55
+ ! guard table read result fields order
56
+ ! sanitize package contents from registry
57
+
58
+ 2026-05-26 v9.7.0
59
+ -------------------
60
+ * install of trm-server and trm-rest
61
+ ! trm-commons ^5.0.0
62
+
63
+ 2026-05-08 v9.5.1
64
+ -------------------
65
+ * install of trm-server and trm-rest
66
+
67
+ 2026-05-07 v9.5.0
68
+ -------------------
69
+ * avoid usage of r3trans when entries are provided by registry
70
+ ! registry return type on publish
71
+ ! trm-commons ^4.2.0
72
+
73
+ 2026-04-29 v9.4.0
74
+ -------------------
75
+ ! trm-commons ^4.1.0
76
+ * upgrade of trm-server/trm-rest post /ATRM/ package replacements
77
+ ! usage of temporary packages instead of namespace
78
+ ! avoid usage of r3trans when entries are provided by registry
79
+
80
+ 2026-04-21 v9.3.0
81
+ -------------------
82
+ * avoid useless transport unpack for reading transport number
83
+ ! usage with devc transport import when replacements are like original
84
+ * ignore namespace import error when doesnt exist
85
+ + optional filter installed packages
86
+ - optional log parameter
87
+ * install transport update in table
88
+ + confirm overwrite on dirty package
89
+ ! trm-server ^6.1.0
90
+ ! trm-commons ^4.0.0
91
+ ! node-r3trans ^2.0.2
92
+
93
+ 2026-04-21 v9.1.0
94
+ -------------------
95
+ ! abstract registry log for downloads
96
+ ! abstract registry contents endpoint (wip)
97
+ ! skip usage of r3trans when registry provides content (wip)
98
+
99
+ 2026-04-14 v9.0.0
100
+ -------------------
101
+ ! moved to namespace /ATRM/
102
+ ! trm-commons ^3.7.1
103
+ * polling progress bar
104
+ * transport icon
105
+ ! release check before TADIR transport (in publish)
106
+ - sap entries in transport documentation
107
+ ! release on transport install
108
+ ! multiple customizing transports allowed
109
+
110
+ 2026-03-11 v8.5.3
111
+ -------------------
112
+ + refresh transport text in cg3z
113
+
114
+ 2026-03-11 v8.5.2
115
+ -------------------
116
+ + check transport existance in cg3y
117
+
118
+ 2026-03-10 v8.5.1
119
+ -------------------
120
+ + stateless indicator in system connector
121
+
122
+ 2026-03-09 v8.5.0
123
+ -------------------
124
+ + cg3z/cg3y actions
125
+ + warning that indicates a process that should not be stopped
126
+ * rest reconnect
127
+
128
+ 2026-03-05 v8.4.4
129
+ -------------------
130
+ ! removed emoji in transport log
131
+
132
+ 2026-03-04 v8.4.3
133
+ -------------------
134
+ ! temp: progress bar glue
135
+
136
+ 2026-03-04 v8.4.2
137
+ -------------------
138
+ ! temp: progress bar in package dependency detection
139
+
140
+ 2026-03-03 v8.4.1
141
+ -------------------
142
+ * rfc debug logger hide buffers
143
+
144
+ 2026-03-03 v8.4.0
145
+ -------------------
146
+ * print message on install
147
+ ! removed buffer from registry debug log output
148
+ ! added manifest to all trm transports
149
+ ! package replacement uses installed package namespace (if in update)
150
+ ! trm-server ^5.2.0
151
+ + import status logging
152
+ ! pass global npm path to avoid useless calls
153
+
154
+ 2026-02-17 v8.3.1
155
+ -------------------
156
+ + temp change to timeout (waiting for proper change)
157
+
158
+ 2026-02-17 v8.3.0
159
+ -------------------
160
+ * npm global path
161
+
162
+ 2026-02-17 v8.2.3
163
+ -------------------
164
+ * find dependencies in publish action
165
+
166
+ 2026-02-17 v8.2.2
167
+ -------------------
168
+ * customer package indicator
169
+
170
+ 2026-02-17 v8.2.1
171
+ -------------------
172
+ ! object dependency structure
173
+
174
+ 2026-02-11 v8.2.0
175
+ -------------------
176
+ ! dependency detection moved to trm-server
177
+ ! trm-server ^5.1.0
178
+ ! package.json detection
179
+
180
+ 2025-11-16 v8.1.4
181
+ -------------------
182
+ + execute trm-server post activities if necessary
183
+
184
+ 2025-11-15 v8.1.3
185
+ -------------------
186
+ * multiple dependencies detected for same object
187
+
188
+ 2025-11-07 v8.1.2
189
+ -------------------
190
+ - encode uri in registry endpoint
191
+ + placeholder for lockfile parsing
192
+
193
+ 2025-11-04 v8.1.1
194
+ -------------------
195
+ + moved lock file generation to core
196
+ + lock file can be used to determine dependency version
197
+ + package visibility to test publish endpoint
198
+ + release tags
199
+ ! getPackageHierarchy ignore multiple roots in setDevclass method
200
+
201
+ 2025-10-30 v8.0.2
202
+ -------------------
203
+ * fix no dependency detection comparison with latest release
204
+
205
+ 2025-10-24 v8.0.1
206
+ -------------------
207
+ * fix transport relevant for dependency detection issue
208
+
209
+ 2025-10-21 v8.0.0
210
+ -------------------
211
+ ! implement registry v2
212
+ - misuse of integrity
213
+ * error messages on publish rollback
214
+ ! trm-registry-types ^2.0.0
215
+ ! transport rc read
216
+ ! get workbench method
217
+ + handle install transport for same package local/remote
218
+ ! manifest.json keys order
219
+
220
+ 2025-10-01 v7.5.5
221
+ -------------------
222
+ ! trm-commons ^3.4.2
223
+
224
+ 2025-10-01 v7.5.4
225
+ -------------------
226
+ ! trm-commons ^3.4.0
227
+
228
+ 2025-09-24 v7.5.3
229
+ -------------------
230
+ ! trm-commons ^3.3.2
231
+
232
+ 2025-09-16 v7.5.2
233
+ -------------------
234
+ + DOMA senvi parser
235
+
236
+ 2025-09-03 v7.5.1
237
+ -------------------
238
+ ! trm-commons ^3.2.0
239
+
240
+ 2025-09-03 v7.5.0
241
+ -------------------
242
+ ! trm-commons ^3.1.0
243
+ * npm global path
244
+ + rfc closeConnection method
245
+ ! private/protected methods/attributes
246
+
247
+ 2025-08-27 v7.4.6
248
+ -------------------
249
+ * template manifest values
250
+
251
+ 2025-08-17 v7.4.5
252
+ -------------------
253
+ ! node-r3trans ^2.0.1
254
+ * r3trans options in getContent method
255
+
256
+ 2025-07-30 v7.4.4
257
+ -------------------
258
+ ! node-r3trans ^2.0.0
259
+
260
+ 2025-07-30 v7.4.3
261
+ -------------------
262
+ ! trm-commons ^2.0.0 as peer dependency
263
+
264
+ 2025-07-29 v7.4.2
265
+ -------------------
266
+ ! enforce node engine >=22.12.0 with post install script
267
+ ! protocol-registry ^2.0.0
268
+
269
+ 2025-07-29 7.4.1
270
+ -------------------
271
+ ! trm-commons ^2.0.0
272
+
273
+ 2025-07-29 7.4.0
274
+ -------------------
275
+ - dependency install doesn't ask for cust/lang/package replacements anymore if not needed
276
+ ! install asks for cust/lang/package replacements when not provided by default parameter
277
+ ! import logger shows package name
278
+ ! trm-commons ^1.1.0
279
+ ! trm-server ^5.0.0
280
+ ! set/overwrite dependencies with or without automatic detection
281
+ + manifest template for post activities, trm dependency and sap entries
282
+ * local package install
283
+
284
+ 2025-07-08 v7.3.0
285
+ -------------------
286
+ + enforce node engine ^22.12.0 with post install script
287
+ * install package hierarchy
288
+
289
+ 2025-06-04 v7.2.1
290
+ -------------------
291
+ * inquirer/logger prefix on install dependency
292
+ + removed useless wb transport find on package first install
293
+
294
+ 2025-06-03 v7.2.0
295
+ -------------------
296
+ * find dependency with custom object not found without devc reference
297
+
298
+ 2025-06-03 v7.1.0
299
+ -------------------
300
+ * change tr owner on install tr update
301
+
302
+ 2025-06-03 v7.0.0
303
+ -------------------
304
+ ! trm-server ^4.0.0
305
+ + change tr owner on install tr update
306
+
307
+ 2025-05-29 v6.9.1
308
+ -------------------
309
+ * remote function for updating server
310
+ + confirm if objects exists but no root sap package found
311
+
312
+ 2025-05-29 v6.9.0
313
+ -------------------
314
+ ! check server api auth before install and publish
315
+ ! trm-server ^3.1.0
316
+ ! read wb transport from package
317
+
318
+ 2025-05-27 v6.8.0
319
+ -------------------
320
+ ! on install transport update, check tasks before add object attempt
321
+ * commit before post activity run on RFC
322
+ * post activity error log
323
+ + node-rfc #327 -> device or resource busy, added workaround
324
+
325
+ 2025-05-20 v6.7.1
326
+ -------------------
327
+ ! get installed packages from backend with trm-server version check
328
+
329
+ 2025-05-14 v6.7.0
330
+ -------------------
331
+ ! trm-server ^3.0.0
332
+ * abapgit ignored objects
333
+ + post activity pre check
334
+ + get installed packages from backend where possible
335
+ + regen SAPLZTRM before post activity
336
+ * rest sap-client
337
+ + keep track of post activities based on latest release
338
+
339
+ 2025-05-08 v6.6.0
340
+ -------------------
341
+ * no integrity with trm-server/trm-rest dependency allowed
342
+ ! REST Client and RFC Client error generic -> specific
343
+ ! REST Client error xml body parsing with title as message
344
+ ! trm-server ^2.2.2
345
+
346
+ 2025-05-08 v6.5.1
347
+ -------------------
348
+ ! rest error handling
349
+
350
+ 2025-05-05 v6.5.0
351
+ -------------------
352
+ ! trm-commons ^1.0.0
353
+ * upgrade trm-server fixes
354
+ * core package.json location find
355
+
356
+ 2025-04-28 v6.4.1
357
+ -------------------
358
+
359
+ ! node-r3trans ^1.5.0
360
+
361
+ 2025-04-28 v6.4.0
362
+ -------------------
363
+
364
+ + post activities in abap manifest
365
+ * return exception type for REST client
366
+
367
+ 2025-02-06 v6.3.0
368
+ -------------------
369
+
370
+ * upgrading package remove previous ZTRM comments in workbench (import) transport
371
+ + fetch package remote content
372
+ * fix translation transport generation
373
+ + move trm package dependencies to core
374
+ + transport migration on overwrite
375
+ ! DEVC, CUST and LANG are now TRM relevant
376
+ * root superpackage on devc tr import blank
377
+ + clear state on package install (remove from skipped transports)
378
+ + add abapgit source code to TRM artifact
379
+ + skip ignored objects listed in .abapgit.xml
380
+ + add namespace in manifest
381
+ ! abstract registry for custom implementation
382
+ + add file system registry for local publish and install
383
+ + add post activities
384
+ ! cache transports in dependency detection for performance issues on big packages
385
+ * check object existance before install
@@ -45,23 +45,23 @@ exports.setChangelog = {
45
45
  when: (hash) => {
46
46
  return hash.editChangelog;
47
47
  },
48
- default: `${context.rawInput.packageData.name} changelog
49
- =================
50
-
51
- Legend
52
- ------
53
- \`\`\`
54
- * : fixed
55
- ! : changed
56
- + : added
57
- - : removed
58
- \`\`\`
59
-
60
- ${new Date().toISOString().split('T')[0]} v${context.runtime.trmPackage.manifest.version}
61
- -------------------
62
- \`\`\`
63
- ...
64
- \`\`\`
48
+ default: `${context.rawInput.packageData.name} changelog
49
+ =================
50
+
51
+ Legend
52
+ ------
53
+ \`\`\`
54
+ * : fixed
55
+ ! : changed
56
+ + : added
57
+ - : removed
58
+ \`\`\`
59
+
60
+ ${new Date().toISOString().split('T')[0]} v${context.runtime.trmPackage.manifest.version}
61
+ -------------------
62
+ \`\`\`
63
+ ...
64
+ \`\`\`
65
65
  `
66
66
  }])).changelog;
67
67
  }
@@ -548,7 +548,7 @@ class RESTClient {
548
548
  }
549
549
  deleteTmsTransport(trkorr, system) {
550
550
  return __awaiter(this, void 0, void 0, function* () {
551
- yield this._axiosInstance.delete('/delete_transport', {
551
+ yield this._axiosInstance.delete('/delete_tms_transport', {
552
552
  data: {
553
553
  trkorr,
554
554
  system
@@ -5,6 +5,17 @@ const node_fs_1 = require("node:fs");
5
5
  const node_path_1 = require("node:path");
6
6
  const trm_commons_1 = require("trm-commons");
7
7
  function getNodePackage(globalPath, packageName) {
8
+ if (process.env.TRM_PREFER_BUNDLED_PACKAGES === '1') {
9
+ const parts = __dirname.split(node_path_1.sep);
10
+ const index = parts.lastIndexOf('node_modules');
11
+ const requestedPackage = packageName || 'trm-core';
12
+ if (index !== -1) {
13
+ try {
14
+ return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(parts.slice(0, index + 1).join(node_path_1.sep), requestedPackage, 'package.json'), 'utf8'));
15
+ }
16
+ catch (_a) { }
17
+ }
18
+ }
8
19
  if (!globalPath) {
9
20
  globalPath = (0, trm_commons_1.getGlobalNodeModules)();
10
21
  }
@@ -15,20 +26,20 @@ function getNodePackage(globalPath, packageName) {
15
26
  try {
16
27
  return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(parts.slice(0, index + 1).join(node_path_1.sep), packageName, 'package.json'), 'utf8'));
17
28
  }
18
- catch (_a) { }
29
+ catch (_b) { }
19
30
  try {
20
31
  const data = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)((0, node_path_1.resolve)(parts.slice(0, index + 1).join(node_path_1.sep), '..'), 'package.json'), 'utf8'));
21
32
  if (data.name === packageName) {
22
33
  return data;
23
34
  }
24
35
  }
25
- catch (_b) { }
36
+ catch (_c) { }
26
37
  }
27
38
  else {
28
39
  try {
29
40
  return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(parts.slice(0, index + 1).join(node_path_1.sep), 'trm-core', 'package.json'), 'utf8'));
30
41
  }
31
- catch (_c) { }
42
+ catch (_d) { }
32
43
  }
33
44
  }
34
45
  else {
@@ -41,19 +52,19 @@ function getNodePackage(globalPath, packageName) {
41
52
  return data;
42
53
  }
43
54
  }
44
- catch (_d) { }
55
+ catch (_e) { }
45
56
  try {
46
57
  return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(process.cwd(), 'node_modules', packageName, 'package.json'), 'utf8'));
47
58
  }
48
- catch (_e) { }
59
+ catch (_f) { }
49
60
  try {
50
61
  return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)((0, node_path_1.resolve)(process.cwd(), ".."), packageName, 'package.json'), 'utf8'));
51
62
  }
52
- catch (_f) { }
63
+ catch (_g) { }
53
64
  try {
54
65
  return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)((0, node_path_1.resolve)(process.cwd(), ".."), 'node_modules', packageName, 'package.json'), 'utf8'));
55
66
  }
56
- catch (_g) { }
67
+ catch (_h) { }
57
68
  }
58
69
  throw new Error(`Couldn't find "${packageName}" package.json!`);
59
70
  }
package/package.json CHANGED
@@ -1,92 +1,92 @@
1
- {
2
- "name": "trm-core",
3
- "version": "9.10.0",
4
- "description": "TRM (Transport Request Manager) Core",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "files": [
8
- "changelog.txt",
9
- "dist",
10
- "!dist/test.js",
11
- "!dist/test.js.map",
12
- "!dist/test.d.ts",
13
- "!dist/.env",
14
- "!dist/dev_rfc.log"
15
- ],
16
- "scripts": {
17
- "cleanBuild": "rimraf dist/",
18
- "build": "npm run cleanBuild && tsc --sourceMap false",
19
- "prepublishOnly": "npm run build",
20
- "postinstall": "node dist/scripts/checkEngine.js"
21
- },
22
- "keywords": [
23
- "trm",
24
- "abap"
25
- ],
26
- "homepage": "https://www.trmregistry.com",
27
- "repository": {
28
- "type": "git",
29
- "url": "git+https://github.com/RegestaItalia/trm-core.git"
30
- },
31
- "author": {
32
- "name": "Simone Gaffurini",
33
- "email": "simone.gaffurini@regestaitalia.it"
34
- },
35
- "license": "MIT",
36
- "trmDependencies": {
37
- "trm-server": "^6.4.1"
38
- },
39
- "dependencies": {
40
- "@esm2cjs/normalize-url": "^8.0.0",
41
- "@inquirer/prompts": "^7.8.1",
42
- "@simonegaffurini/sammarksworkflow": "^1.3.2-fork",
43
- "@xmldom/xmldom": "^0.9.8",
44
- "adm-zip": "^0.6.0",
45
- "axios": "^1.7.9",
46
- "chalk": "^4.1.2",
47
- "dotenv": "^17.2.2",
48
- "email-validator": "^2.0.4",
49
- "express": "^4.18.2",
50
- "get-root-path": "^3.0.1",
51
- "get-stack-trace": "^3.1.1",
52
- "lodash": "^4.17.21",
53
- "luxon": "^3.7.2",
54
- "minimatch": "^10.0.1",
55
- "node-cache": "^5.1.2",
56
- "node-html-parser": "^7.0.1",
57
- "node-r3trans": "^2.0.3",
58
- "object-keys-normalizer": "^1.0.1",
59
- "opener": "^1.5.2",
60
- "parse-multipart-data": "^1.5.0",
61
- "protocol-registry": "^2.0.0",
62
- "semver": "^7.5.4",
63
- "semver-sort": "^1.0.0",
64
- "spdx-license-ids": "^3.0.13",
65
- "trm-registry-types": "^2.4.0",
66
- "xml-beautify": "^1.2.3",
67
- "xml-js": "^1.6.11"
68
- },
69
- "peerDependencies": {
70
- "trm-commons": "^5.0.1"
71
- },
72
- "devDependencies": {
73
- "@types/adm-zip": "^0.5.0",
74
- "@types/debug": "^4.1.12",
75
- "@types/express": "^4.17.17",
76
- "@types/inquirer": "^9.0.3",
77
- "@types/lodash": "^4.14.202",
78
- "@types/luxon": "^3.7.1",
79
- "@types/node": "^20.4.4",
80
- "@types/opener": "^1.4.0",
81
- "@types/semver": "^7.5.0",
82
- "@types/semver-sort": "^0.0.1",
83
- "@types/stack-trace": "^0.0.33",
84
- "rimraf": "^6.0.1",
85
- "trm-commons": "^5.0.0",
86
- "ts-node": "^10.9.2",
87
- "typescript": "^5.8.2"
88
- },
89
- "engines": {
90
- "node": ">=22.12.0"
91
- }
92
- }
1
+ {
2
+ "name": "trm-core",
3
+ "version": "9.10.2",
4
+ "description": "TRM (Transport Request Manager) Core",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "changelog.txt",
9
+ "dist",
10
+ "!dist/test.js",
11
+ "!dist/test.js.map",
12
+ "!dist/test.d.ts",
13
+ "!dist/.env",
14
+ "!dist/dev_rfc.log"
15
+ ],
16
+ "scripts": {
17
+ "cleanBuild": "rimraf dist/",
18
+ "build": "npm run cleanBuild && tsc --sourceMap false",
19
+ "prepublishOnly": "npm run build",
20
+ "postinstall": "node dist/scripts/checkEngine.js"
21
+ },
22
+ "keywords": [
23
+ "trm",
24
+ "abap"
25
+ ],
26
+ "homepage": "https://www.trmregistry.com",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/RegestaItalia/trm-core.git"
30
+ },
31
+ "author": {
32
+ "name": "Simone Gaffurini",
33
+ "email": "simone.gaffurini@regestaitalia.it"
34
+ },
35
+ "license": "MIT",
36
+ "trmDependencies": {
37
+ "trm-server": "^6.4.1"
38
+ },
39
+ "dependencies": {
40
+ "@esm2cjs/normalize-url": "^8.0.0",
41
+ "@inquirer/prompts": "^7.8.1",
42
+ "@simonegaffurini/sammarksworkflow": "^1.3.2-fork",
43
+ "@xmldom/xmldom": "^0.9.8",
44
+ "adm-zip": "^0.6.0",
45
+ "axios": "^1.7.9",
46
+ "chalk": "^4.1.2",
47
+ "dotenv": "^17.2.2",
48
+ "email-validator": "^2.0.4",
49
+ "express": "^4.18.2",
50
+ "get-root-path": "^3.0.1",
51
+ "get-stack-trace": "^3.1.1",
52
+ "lodash": "^4.17.21",
53
+ "luxon": "^3.7.2",
54
+ "minimatch": "^10.0.1",
55
+ "node-cache": "^5.1.2",
56
+ "node-html-parser": "^7.0.1",
57
+ "node-r3trans": "^2.0.3",
58
+ "object-keys-normalizer": "^1.0.1",
59
+ "opener": "^1.5.2",
60
+ "parse-multipart-data": "^1.5.0",
61
+ "protocol-registry": "^1.0.1",
62
+ "semver": "^7.5.4",
63
+ "semver-sort": "^1.0.0",
64
+ "spdx-license-ids": "^3.0.13",
65
+ "trm-registry-types": "^2.4.0",
66
+ "xml-beautify": "^1.2.3",
67
+ "xml-js": "^1.6.11"
68
+ },
69
+ "peerDependencies": {
70
+ "trm-commons": "^5.0.1"
71
+ },
72
+ "devDependencies": {
73
+ "@types/adm-zip": "^0.5.0",
74
+ "@types/debug": "^4.1.12",
75
+ "@types/express": "^4.17.17",
76
+ "@types/inquirer": "^9.0.3",
77
+ "@types/lodash": "^4.14.202",
78
+ "@types/luxon": "^3.7.1",
79
+ "@types/node": "^20.4.4",
80
+ "@types/opener": "^1.4.0",
81
+ "@types/semver": "^7.5.0",
82
+ "@types/semver-sort": "^0.0.1",
83
+ "@types/stack-trace": "^0.0.33",
84
+ "rimraf": "^6.0.1",
85
+ "trm-commons": "^5.0.0",
86
+ "ts-node": "^10.9.2",
87
+ "typescript": "^5.8.2"
88
+ },
89
+ "engines": {
90
+ "node": ">=22.12.0"
91
+ }
92
+ }