@ui5/server 3.0.0-beta.3 → 3.0.0-beta.4

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/CHANGELOG.md CHANGED
@@ -2,7 +2,13 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
4
4
 
5
- A list of unreleased changes can be found [here](https://github.com/SAP/ui5-server/compare/v3.0.0-beta.3...HEAD).
5
+ A list of unreleased changes can be found [here](https://github.com/SAP/ui5-server/compare/v3.0.0-beta.4...HEAD).
6
+
7
+ <a name="v3.0.0-beta.4"></a>
8
+ ## [v3.0.0-beta.4] - 2022-12-01
9
+ ### Dependency Updates
10
+ - Bump connect-openui5 from 0.10.2 to 0.10.3 [`90871f8`](https://github.com/SAP/ui5-server/commit/90871f89815501860616ffbdf8927824412ec909)
11
+
6
12
 
7
13
  <a name="v3.0.0-beta.3"></a>
8
14
  ## [v3.0.0-beta.3] - 2022-11-30
@@ -302,6 +308,7 @@ Only Node.js v10 or higher is supported.
302
308
  <a name="v0.0.1"></a>
303
309
  ## v0.0.1 - 2018-06-06
304
310
 
311
+ [v3.0.0-beta.4]: https://github.com/SAP/ui5-server/compare/v3.0.0-beta.3...v3.0.0-beta.4
305
312
  [v3.0.0-beta.3]: https://github.com/SAP/ui5-server/compare/v3.0.0-beta.2...v3.0.0-beta.3
306
313
  [v3.0.0-beta.2]: https://github.com/SAP/ui5-server/compare/v3.0.0-beta.1...v3.0.0-beta.2
307
314
  [v3.0.0-beta.1]: https://github.com/SAP/ui5-server/compare/v3.0.0-alpha.4...v3.0.0-beta.1
@@ -61,7 +61,7 @@ class MiddlewareManager {
61
61
  * Adds the given middleware configuration
62
62
  *
63
63
  * @private
64
- * @param {string} configuredMiddlewareName The name of the middleware
64
+ * @param {string} middlewareName The name of the middleware
65
65
  * @param {object} [options] The Options of the middleware
66
66
  * @param {object} [options.customMiddleware] The custom middleware
67
67
  * @param {Function} [options.wrapperCallback] Callback called when middleware is called
@@ -69,15 +69,19 @@ class MiddlewareManager {
69
69
  * @param {string} [options.beforeMiddleware] The name of the middleware called before the added middleware
70
70
  * @param {string} [options.afterMiddleware] The name of the middleware called after the added middleware
71
71
  */
72
- async addMiddleware(configuredMiddlewareName, {
72
+ async addMiddleware(middlewareName, {
73
73
  customMiddleware, wrapperCallback, mountPath = "/",
74
74
  beforeMiddleware, afterMiddleware
75
75
  } = {}) {
76
+ if (this.middleware[middlewareName]) {
77
+ throw new Error(`A middleware with the name ${middlewareName} has already been added`);
78
+ }
79
+
76
80
  let middlewareCallback;
77
81
  if (customMiddleware) {
78
82
  middlewareCallback = customMiddleware;
79
83
  } else {
80
- const middlewareInfo = await middlewareRepository.getMiddleware(configuredMiddlewareName);
84
+ const middlewareInfo = await middlewareRepository.getMiddleware(middlewareName);
81
85
  if (wrapperCallback) {
82
86
  middlewareCallback = wrapperCallback(middlewareInfo);
83
87
  } else {
@@ -85,16 +89,6 @@ class MiddlewareManager {
85
89
  }
86
90
  }
87
91
 
88
- let middlewareName = configuredMiddlewareName;
89
- if (this.middleware[middlewareName]) {
90
- // Middleware is already known
91
- // => add a suffix to allow for multiple configurations of the same middleware
92
- let suffixCounter = 0;
93
- while (this.middleware[middlewareName]) {
94
- suffixCounter++; // Start at 1
95
- middlewareName = `${configuredMiddlewareName}--${suffixCounter}`;
96
- }
97
- }
98
92
  if (this.middlewareExecutionOrder.includes(middlewareName)) {
99
93
  throw new Error(`Middleware ${middlewareName} already added to execution order. This should not happen.`);
100
94
  }
@@ -275,7 +269,19 @@ class MiddlewareManager {
275
269
  `Custom middleware definition ${middlewareDef.name} of project ${project.getName()} ` +
276
270
  `defines neither a "beforeMiddleware" nor an "afterMiddleware" parameter. One must be defined.`);
277
271
  }
278
- await this.addMiddleware(middlewareDef.name, {
272
+
273
+ let middlewareName = middlewareDef.name;
274
+ if (this.middleware[middlewareName]) {
275
+ // Middleware is already known
276
+ // => add a suffix to allow for multiple configurations of the same middleware
277
+ let suffixCounter = 0;
278
+ while (this.middleware[middlewareName]) {
279
+ suffixCounter++; // Start at 1
280
+ middlewareName = `${middlewareDef.name}--${suffixCounter}`;
281
+ }
282
+ }
283
+
284
+ await this.addMiddleware(middlewareName, {
279
285
  customMiddleware: async ({resources, middlewareUtil}) => {
280
286
  const customMiddleware = this.graph.getExtension(middlewareDef.name);
281
287
 
@@ -288,7 +294,7 @@ class MiddlewareManager {
288
294
 
289
295
  const specVersion = customMiddleware.getSpecVersion();
290
296
  if (specVersion.gte("3.0")) {
291
- params.options.middlewareName = middlewareDef.name;
297
+ params.options.middlewareName = middlewareName;
292
298
  params.log = logger.getGroupLogger(`server:custom-middleware:${middlewareDef.name}`);
293
299
  }
294
300
  const middlewareUtilInterface = middlewareUtil.getInterface(specVersion);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/server",
3
- "version": "3.0.0-beta.3",
3
+ "version": "3.0.0-beta.4",
4
4
  "description": "UI5 Tooling - Server",
5
5
  "author": {
6
6
  "name": "SAP SE",
@@ -115,12 +115,12 @@
115
115
  "url": "git@github.com:SAP/ui5-server.git"
116
116
  },
117
117
  "dependencies": {
118
- "@ui5/builder": "^3.0.0-beta.3",
119
- "@ui5/fs": "^3.0.0-beta.3",
118
+ "@ui5/builder": "^3.0.0-beta.4",
119
+ "@ui5/fs": "^3.0.0-beta.4",
120
120
  "@ui5/logger": "^3.0.1-beta.1",
121
121
  "body-parser": "^1.20.1",
122
122
  "compression": "^1.7.4",
123
- "connect-openui5": "^0.10.2",
123
+ "connect-openui5": "^0.10.3",
124
124
  "cors": "^2.8.5",
125
125
  "devcert-sanscache": "^0.4.8",
126
126
  "escape-html": "^1.0.3",
@@ -139,7 +139,7 @@
139
139
  },
140
140
  "devDependencies": {
141
141
  "@istanbuljs/esm-loader-hook": "^0.2.0",
142
- "@ui5/project": "^3.0.0-beta.3",
142
+ "@ui5/project": "^3.0.0-beta.4",
143
143
  "ava": "^5.1.0",
144
144
  "chokidar-cli": "^3.0.0",
145
145
  "cross-env": "^7.0.3",