2
2
* @module @ui 5/server
3
3
* @public
4
4
*/
5
- module . exports = {
6
- server : require ( "./lib/server" ) ,
7
- sslUtil : require ( "./lib/sslUtil" ) ,
8
- middlewareRepository : require ( "./lib/middleware/middlewareRepository" ) ,
5
+ const modules = {
6
+ server : "./lib/server" ,
7
+ sslUtil : "./lib/sslUtil" ,
8
+ middlewareRepository : "./lib/middleware/middlewareRepository" ,
9
9
10
10
// Legacy middleware export. Still private.
11
11
middleware : {
12
- csp : require ( "./lib/middleware/csp" ) ,
13
- discovery : mapLegacyMiddlewareArguments ( require ( "./lib/middleware/discovery" ) ) ,
14
- nonReadRequests : mapLegacyMiddlewareArguments ( require ( "./lib/middleware/discovery" ) ) ,
15
- serveIndex : mapLegacyMiddlewareArguments ( require ( "./lib/middleware/serveIndex" ) ) ,
16
- serveResources : mapLegacyMiddlewareArguments ( require ( "./lib/middleware/serveResources" ) ) ,
17
- serveThemes : mapLegacyMiddlewareArguments ( require ( "./lib/middleware/serveThemes" ) ) ,
18
- versionInfo : mapLegacyMiddlewareArguments ( require ( "./lib/middleware/versionInfo" ) ) ,
12
+ csp : "./lib/middleware/csp" ,
13
+ discovery : "./lib/middleware/discovery" ,
14
+ nonReadRequests : "./lib/middleware/discovery" ,
15
+ serveIndex : "./lib/middleware/serveIndex" ,
16
+ serveResources : "./lib/middleware/serveResources" ,
17
+ serveThemes : "./lib/middleware/serveThemes" ,
18
+ versionInfo : "./lib/middleware/versionInfo" ,
19
19
}
20
20
} ;
21
21
22
+ const LEGACY_MIDDLEWARE = [
23
+ "discovery" , "nonReadRequests" , "serveIndex" ,
24
+ "serveResources" , "serveThemes" , "versionInfo"
25
+ ] ;
26
+ function exportModules ( exportRoot , modulePaths ) {
27
+ for ( const moduleName in modulePaths ) {
28
+ if ( Object . prototype . hasOwnProperty . call ( modulePaths , moduleName ) ) {
29
+ if ( typeof modulePaths [ moduleName ] === "object" ) {
30
+ exportRoot [ moduleName ] = { } ;
31
+ exportModules ( exportRoot [ moduleName ] , modulePaths [ moduleName ] ) ;
32
+ } else {
33
+ Object . defineProperty ( exportRoot , moduleName , {
34
+ get ( ) {
35
+ let m = require ( modulePaths [ moduleName ] ) ;
36
+ if ( LEGACY_MIDDLEWARE . includes ( moduleName ) ) {
37
+ m = mapLegacyMiddlewareArguments ( m ) ;
38
+ }
39
+ return m ;
40
+ }
41
+ } ) ;
42
+ }
43
+ }
44
+ }
45
+ }
46
+
22
47
function mapLegacyMiddlewareArguments ( module ) {
23
48
// Old arguments was a single object with optional properties
24
49
// - resourceCollections
@@ -35,3 +60,5 @@ function mapLegacyMiddlewareArguments(module) {
35
60
} ) ;
36
61
} ;
37
62
}
63
+
64
+ exportModules ( module . exports , modules ) ;
0 commit comments