Skip to content

Commit 2ce964c

Browse files
committed
[FEATURE] projectPreprocessor: Add handling for server-middleware extensions
As per RFC 0005: SAP/ui5-tooling#151
1 parent db573f0 commit 2ce964c

File tree

5 files changed

+1080
-1314
lines changed

5 files changed

+1080
-1314
lines changed

lib/projectPreprocessor.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,9 @@ class ProjectPreprocessor {
348348
case "task":
349349
this.handleTask(extension);
350350
break;
351+
case "server-middleware":
352+
this.handleServerMiddleware(extension);
353+
break;
351354
default:
352355
throw new Error(`Unknown extension type '${extension.type}' for ${extension.id}`);
353356
}
@@ -495,6 +498,19 @@ class ProjectPreprocessor {
495498

496499
taskRepository.addTask(extension.metadata.name, task);
497500
}
501+
502+
handleServerMiddleware(extension) {
503+
if (!extension.metadata && !extension.metadata.name) {
504+
throw new Error(`Middleware extension ${extension.id} is missing 'metadata.name' configuration`);
505+
}
506+
if (!extension.middleware) {
507+
throw new Error(`Middleware extension ${extension.id} is missing 'middleware' configuration`);
508+
}
509+
const {middlewareRepository} = require("@ui5/server");
510+
511+
const middlewarePath = path.join(extension.path, extension.middleware.path);
512+
middlewareRepository.addMiddleware(extension.metadata.name, middlewarePath);
513+
}
498514
}
499515

500516
/**

0 commit comments

Comments
 (0)