@sap-ux/ui5-proxy-middleware 1.0.2 → 1.0.5

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.
@@ -2,5 +2,4 @@ export { ui5Proxy } from './proxy';
2
2
  export * from './constants';
3
3
  export * from './types';
4
4
  export * from './utils';
5
- export * from './manifest';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -16,5 +16,4 @@ Object.defineProperty(exports, "ui5Proxy", { enumerable: true, get: function ()
16
16
  __exportStar(require("./constants"), exports);
17
17
  __exportStar(require("./types"), exports);
18
18
  __exportStar(require("./utils"), exports);
19
- __exportStar(require("./manifest"), exports);
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAwB"}
@@ -1,5 +1,5 @@
1
- import type { Filter, Options } from 'http-proxy-middleware';
2
- import type { UI5Config } from './types';
1
+ import type { Options } from 'http-proxy-middleware';
2
+ import type { ProxyConfig } from './types';
3
3
  /**
4
4
  * Function for proxying UI5 sources.
5
5
  *
@@ -8,5 +8,5 @@ import type { UI5Config } from './types';
8
8
  * @param filter - custom filter function which will be applied to all requests
9
9
  * @returns Proxy function to use
10
10
  */
11
- export declare const ui5Proxy: (config: UI5Config, options?: Options | undefined, filter?: Filter | undefined) => import("http-proxy-middleware").RequestHandler;
11
+ export declare const ui5Proxy: (config: ProxyConfig, options?: Options | undefined, filter?: string | string[] | ((pathname: string, req: import("http-proxy-middleware/dist/types").Request) => boolean) | undefined) => import("http-proxy-middleware").RequestHandler;
12
12
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/base/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,WAAY,SAAS,+GA0BzC,CAAC"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/base/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,WAAY,WAAW,qNA0B3C,CAAC"}
@@ -12,7 +12,7 @@ const logger_1 = require("@sap-ux/logger");
12
12
  * @param filter - custom filter function which will be applied to all requests
13
13
  * @returns Proxy function to use
14
14
  */
15
- const ui5Proxy = (config, options, filter) => {
15
+ exports.ui5Proxy = (config, options, filter) => {
16
16
  const logger = new logger_1.ToolsLogger({
17
17
  transports: [new logger_1.UI5ToolingTransport({ moduleName: 'ui5-proxy-middleware' })]
18
18
  });
@@ -23,11 +23,11 @@ const ui5Proxy = (config, options, filter) => {
23
23
  target: config.url,
24
24
  changeOrigin: true,
25
25
  onProxyReq: (proxyReq, _req, res) => {
26
- (0, utils_1.proxyRequestHandler)(proxyReq, res, etag, logger);
26
+ utils_1.proxyRequestHandler(proxyReq, res, etag, logger);
27
27
  },
28
28
  pathRewrite: { [config.path]: ui5Ver + config.path },
29
29
  onProxyRes: (proxyRes) => {
30
- (0, utils_1.proxyResponseHandler)(proxyRes, etag);
30
+ utils_1.proxyResponseHandler(proxyRes, etag);
31
31
  }
32
32
  };
33
33
  Object.assign(proxyConfig, options);
@@ -35,7 +35,6 @@ const ui5Proxy = (config, options, filter) => {
35
35
  if (filter) {
36
36
  proxyFilter = filter;
37
37
  }
38
- return (0, http_proxy_middleware_1.createProxyMiddleware)(proxyFilter, proxyConfig);
38
+ return http_proxy_middleware_1.createProxyMiddleware(proxyFilter, proxyConfig);
39
39
  };
40
- exports.ui5Proxy = ui5Proxy;
41
40
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/base/proxy.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAG9D,mCAA+F;AAC/F,2CAAkE;AAElE;;;;;;;GAOG;AACI,MAAM,QAAQ,GAAG,CAAC,MAAiB,EAAE,OAAiB,EAAE,MAAe,EAAE,EAAE;IAC9E,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,IAAI,4BAAmB,CAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC,CAAC;KAChF,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IACjH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAY;QACzB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,CAAC,QAAuB,EAAE,IAAqB,EAAE,GAAmB,EAAQ,EAAE;YACtF,IAAA,2BAAmB,EAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;QACpD,UAAU,EAAE,CAAC,QAAyB,EAAQ,EAAE;YAC5C,IAAA,4BAAoB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;KACJ,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,WAAW,GAAW,iCAAyB,CAAC;IAEpD,IAAI,MAAM,EAAE;QACR,WAAW,GAAG,MAAM,CAAC;KACxB;IAED,OAAO,IAAA,6CAAqB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC,CAAC;AA1BW,QAAA,QAAQ,YA0BnB"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/base/proxy.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAG9D,mCAA+F;AAC/F,2CAAkE;AAElE;;;;;;;GAOG;AACU,QAAA,QAAQ,GAAG,CAAC,MAAmB,EAAE,OAAiB,EAAE,MAAe,EAAE,EAAE;IAChF,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,IAAI,4BAAmB,CAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC,CAAC;KAChF,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IACjH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAY;QACzB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,CAAC,QAAuB,EAAE,IAAqB,EAAE,GAAmB,EAAQ,EAAE;YACtF,2BAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;QACpD,UAAU,EAAE,CAAC,QAAyB,EAAQ,EAAE;YAC5C,4BAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;KACJ,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,WAAW,GAAW,iCAAyB,CAAC;IAEpD,IAAI,MAAM,EAAE;QACR,WAAW,GAAG,MAAM,CAAC;KACxB;IAED,OAAO,6CAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC,CAAC"}
@@ -1,24 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import type { NextFunction } from 'express';
3
3
  import type { IncomingMessage } from 'http';
4
- export interface UI5Config {
4
+ import type { UI5ProxyConfig } from '@sap-ux/ui5-config';
5
+ export declare type Ui5MiddlewareConfig = UI5ProxyConfig;
6
+ export interface ProxyConfig {
5
7
  path: string;
6
8
  url: string;
7
9
  version?: string;
8
10
  }
9
- export interface UI5ConfigObject {
10
- path: string[];
11
- url: string;
12
- version?: string;
13
- }
14
- export interface ProxyConfig {
15
- ui5: UI5Config[] | UI5ConfigObject;
16
- proxy?: string;
17
- debug?: boolean;
18
- secure?: boolean;
19
- directLoad?: boolean;
20
- version?: string;
21
- }
22
11
  export interface MiddlewareParameters<T> {
23
12
  resources: object;
24
13
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/base/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACL,aAAa,EAAE,CAAC,CAAC;KACpB,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AACD,oBAAY,YAAY,GAAG,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/base/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,oBAAY,mBAAmB,GAAG,cAAc,CAAC;AAEjD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACL,aAAa,EAAE,CAAC,CAAC;KACpB,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AACD,oBAAY,YAAY,GAAG,eAAe,GAAG,eAAe,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { ClientRequest, IncomingMessage, ServerResponse } from 'http';
2
2
  import type { ToolsLogger } from '@sap-ux/logger';
3
+ import type { Manifest } from '@sap-ux/ui5-config';
3
4
  import type { NextFunction, Request, Response } from 'express';
4
- import type { UI5Config } from './types';
5
- import type { SAPJSONSchemaForWebApplicationManifestFile } from './manifest';
5
+ import type { ProxyConfig } from './types';
6
6
  /**
7
7
  * Handler for the proxy response event.
8
8
  * Sets an Etag which will be used for re-validation of the cached UI5 sources.
@@ -78,7 +78,7 @@ export declare const setHtmlResponse: (res: any, html: string) => void;
78
78
  * @param args list of runtime arguments
79
79
  * @returns The content of the manifest.json
80
80
  */
81
- export declare const getManifest: (args: string[]) => Promise<SAPJSONSchemaForWebApplicationManifestFile>;
81
+ export declare const getManifest: (args: string[]) => Promise<Manifest>;
82
82
  /**
83
83
  * Gets the minUI5Version from the manifest.json.
84
84
  *
@@ -93,7 +93,7 @@ export declare function getUI5VersionFromManifest(args: string[]): Promise<strin
93
93
  * @param log logger for outputing information from where ui5 version config is coming
94
94
  * @returns The UI5 version with which the application will be started
95
95
  */
96
- export declare function resolveUI5Version(version: string | undefined, log?: ToolsLogger): Promise<string>;
96
+ export declare function resolveUI5Version(version?: string, log?: ToolsLogger): Promise<string>;
97
97
  /**
98
98
  * Injects the absolute UI5 urls into the html file, which is used to preview the application.
99
99
  *
@@ -101,7 +101,7 @@ export declare function resolveUI5Version(version: string | undefined, log?: Too
101
101
  * @param ui5Configs - the configuration of the ui5-proxy-middleware
102
102
  * @returns The modified html file content
103
103
  */
104
- export declare const injectUI5Url: (htmlFilePath: string, ui5Configs: UI5Config[]) => Promise<string | undefined>;
104
+ export declare function injectUI5Url(htmlFilePath: string, ui5Configs: ProxyConfig[]): string | undefined;
105
105
  /**
106
106
  * Injects scripts into the html file, which is used to preview the application.
107
107
  *
@@ -110,7 +110,7 @@ export declare const injectUI5Url: (htmlFilePath: string, ui5Configs: UI5Config[
110
110
  * @param next - the next function, used to forward the request to the next available handler
111
111
  * @param ui5Configs - the UI5 configuration of the ui5-proxy-middleware
112
112
  */
113
- export declare const injectScripts: (req: Request, res: Response, next: NextFunction, ui5Configs: UI5Config[]) => Promise<void>;
113
+ export declare const injectScripts: (req: Request, res: Response, next: NextFunction, ui5Configs: ProxyConfig[]) => Promise<void>;
114
114
  /**
115
115
  * Filters comressed html files from UI5 CDN.
116
116
  * Avoid ERR_CONTENT_DECODING_FAILED on http request for gzip'd html files.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/base/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKzC,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,YAAY,CAAC;AAG7E;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,aAAc,eAAe,QAAQ,MAAM,KAAG,IAG9E,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,aAClB,aAAa,OAClB,cAAc,QACb,MAAM,UACJ,WAAW,KACpB,IAMF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,oBAAqB,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAWtF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAW,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAWzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,kBAAmB,MAAM,GAAG,SAAS,OAAO,MAAM,KAAG,OAgBxF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,MAWzC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,EAAE,KAAG,MAS5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,gBAAuB,MAAM,KAAG,QAAQ,MAAM,CAYjF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAS,GAAG,QAAQ,MAAM,KAAG,IAOxD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SAAgB,MAAM,EAAE,KAAG,QAAQ,0CAA0C,CAWpG,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG3F;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBvG;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,iBAAwB,MAAM,cAAc,SAAS,EAAE,KAAG,QAAQ,MAAM,GAAG,SAAS,CAqB5G,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,QACjB,OAAO,OACP,QAAQ,QACP,YAAY,cACN,SAAS,EAAE,KACxB,QAAQ,IAAI,CAmBd,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,cAAe,MAAM,OAAO,eAAe,KAAG,OASnF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/base/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAO3C;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,aAAc,eAAe,QAAQ,MAAM,KAAG,IAG9E,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,aAClB,aAAa,OAClB,cAAc,QACb,MAAM,UACJ,WAAW,KACpB,IAMF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,oBAAqB,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAWtF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAW,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAWzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,kBAAmB,MAAM,GAAG,SAAS,OAAO,MAAM,KAAG,OAUxF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,MAWzC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,EAAE,KAAG,MAS5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,gBAAuB,MAAM,KAAG,QAAQ,MAAM,CAOjF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAS,GAAG,QAAQ,MAAM,KAAG,IAOxD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SAAgB,MAAM,EAAE,KAAG,QAAQ,QAAQ,CASlE,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG3F;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB5F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,SAAS,CAqBhG;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,QACjB,OAAO,OACP,QAAQ,QACP,YAAY,cACN,WAAW,EAAE,KAC1B,QAAQ,IAAI,CAmBd,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,cAAe,MAAM,OAAO,eAAe,KAAG,OASnF,CAAC"}
@@ -10,8 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.filterCompressedHtmlFiles = exports.injectScripts = exports.injectUI5Url = exports.resolveUI5Version = exports.getUI5VersionFromManifest = exports.getManifest = exports.setHtmlResponse = exports.getWebAppFolderFromYaml = exports.getYamlFile = exports.getHtmlFile = exports.isHostExcludedFromProxy = exports.hideProxyCredentials = exports.getCorporateProxyServer = exports.proxyRequestHandler = exports.proxyResponseHandler = void 0;
13
+ const ui5_config_1 = require("@sap-ux/ui5-config");
13
14
  const fs_1 = require("fs");
14
- const yaml_1 = require("yaml");
15
15
  const path_1 = require("path");
16
16
  const constants_1 = require("./constants");
17
17
  const i18n_1 = require("../i18n");
@@ -22,11 +22,10 @@ const i18n_1 = require("../i18n");
22
22
  * @param proxyRes - proxy response object
23
23
  * @param etag - ETag for the cached sources, normally the UI5 version
24
24
  */
25
- const proxyResponseHandler = (proxyRes, etag) => {
25
+ exports.proxyResponseHandler = (proxyRes, etag) => {
26
26
  proxyRes.headers['Etag'] = etag;
27
27
  proxyRes.headers['cache-control'] = 'no-cache';
28
28
  };
29
- exports.proxyResponseHandler = proxyResponseHandler;
30
29
  /**
31
30
  * Handler for the proxy request event.
32
31
  * Re-validates the cached UI5 sources based on the ETag.
@@ -37,21 +36,20 @@ exports.proxyResponseHandler = proxyResponseHandler;
37
36
  * @param etag - Etag of the cached UI5 sources, normally the UI5 version
38
37
  * @param logger - Logger for loging the requests
39
38
  */
40
- const proxyRequestHandler = (proxyReq, res, etag, logger) => {
39
+ exports.proxyRequestHandler = (proxyReq, res, etag, logger) => {
41
40
  logger.info(proxyReq.path);
42
41
  if (proxyReq.getHeader('if-none-match') === etag) {
43
42
  res.statusCode = 304;
44
43
  res.end();
45
44
  }
46
45
  };
47
- exports.proxyRequestHandler = proxyRequestHandler;
48
46
  /**
49
47
  * Get user's proxy configuration.
50
48
  *
51
49
  * @param yamlProxyServer - proxy server config from yaml file
52
50
  * @returns User's proxy configuration or undefined
53
51
  */
54
- const getCorporateProxyServer = (yamlProxyServer) => {
52
+ exports.getCorporateProxyServer = (yamlProxyServer) => {
55
53
  return (yamlProxyServer ||
56
54
  process.env.FIORI_TOOLS_PROXY ||
57
55
  process.env.http_proxy ||
@@ -61,14 +59,13 @@ const getCorporateProxyServer = (yamlProxyServer) => {
61
59
  process.env.npm_config_proxy ||
62
60
  process.env.npm_config_https_proxy);
63
61
  };
64
- exports.getCorporateProxyServer = getCorporateProxyServer;
65
62
  /**
66
63
  * Hides the proxy credentials for displaying the proxy configuration in the console.
67
64
  *
68
65
  * @param proxy - user's proxy server
69
66
  * @returns proxy with hidden credentials for displaying in the console
70
67
  */
71
- const hideProxyCredentials = (proxy) => {
68
+ exports.hideProxyCredentials = (proxy) => {
72
69
  if (proxy) {
73
70
  const forwardSlashIndex = proxy.indexOf('//');
74
71
  const atIndex = proxy.indexOf('@');
@@ -78,7 +75,6 @@ const hideProxyCredentials = (proxy) => {
78
75
  }
79
76
  return proxy;
80
77
  };
81
- exports.hideProxyCredentials = hideProxyCredentials;
82
78
  /**
83
79
  * Checks if a host is excluded from user's corporate proxy.
84
80
  *
@@ -86,31 +82,23 @@ exports.hideProxyCredentials = hideProxyCredentials;
86
82
  * @param url - url to be checked
87
83
  * @returns true if host is excluded from user's corporate server, false otherwise
88
84
  */
89
- const isHostExcludedFromProxy = (noProxyConfig, url) => {
85
+ exports.isHostExcludedFromProxy = (noProxyConfig, url) => {
90
86
  if (noProxyConfig === '*') {
91
87
  return true;
92
88
  }
93
- let isExcluded = false;
94
- const host = new URL(url).host;
95
- const noProxyList = noProxyConfig ? noProxyConfig.split(',') : [];
96
- for (const entry of noProxyList) {
97
- if (entry.startsWith('.') && host.endsWith(entry)) {
98
- isExcluded = true;
99
- }
100
- else if (`.${host}`.endsWith(`.${entry}`)) {
101
- isExcluded = true;
102
- }
89
+ else {
90
+ const host = new URL(url).host;
91
+ const noProxyList = noProxyConfig ? noProxyConfig.split(',') : [];
92
+ return !!noProxyList.find((entry) => entry.startsWith('.') ? host.endsWith(entry) : host.endsWith(`.${entry}`));
103
93
  }
104
- return isExcluded;
105
94
  };
106
- exports.isHostExcludedFromProxy = isHostExcludedFromProxy;
107
95
  /**
108
96
  * Returns the name of html file, which is used to preview the application, from the URL.
109
97
  *
110
98
  * @param url - html request url
111
99
  * @returns Name of the html file
112
100
  */
113
- const getHtmlFile = (url) => {
101
+ exports.getHtmlFile = (url) => {
114
102
  let html = url;
115
103
  if (html.indexOf('?') !== -1) {
116
104
  html = html.split('?')[0].replace(/["']/g, '');
@@ -123,14 +111,13 @@ const getHtmlFile = (url) => {
123
111
  }
124
112
  return html;
125
113
  };
126
- exports.getHtmlFile = getHtmlFile;
127
114
  /**
128
115
  * Returns the name of the yaml file, which is used to for the server configuration, from the runtime arguments.
129
116
  *
130
117
  * @param args - runtime arguments
131
118
  * @returns Name of the YAML file
132
119
  */
133
- const getYamlFile = (args) => {
120
+ exports.getYamlFile = (args) => {
134
121
  let yaml = 'ui5.yaml';
135
122
  const index = args.indexOf('--config') !== -1 ? args.indexOf('--config') : args.indexOf('-c');
136
123
  if (index !== -1) {
@@ -138,32 +125,29 @@ const getYamlFile = (args) => {
138
125
  }
139
126
  return yaml;
140
127
  };
141
- exports.getYamlFile = getYamlFile;
142
128
  /**
143
129
  * Gets the path to the webapp folder from the YAML file.
144
130
  *
145
131
  * @param ui5YamlPath - path to the yaml file
146
132
  * @returns Path to the webapp folder
147
133
  */
148
- const getWebAppFolderFromYaml = (ui5YamlPath) => __awaiter(void 0, void 0, void 0, function* () {
149
- var _a, _b, _c;
150
- let webAppFolder = 'webapp';
151
- if ((0, fs_1.existsSync)(ui5YamlPath)) {
152
- const ui5Yaml = (0, yaml_1.parseDocument)(yield fs_1.promises.readFile(ui5YamlPath, { encoding: 'utf8' })).toJSON();
153
- if ((_c = (_b = (_a = ui5Yaml.resources) === null || _a === void 0 ? void 0 : _a.configuration) === null || _b === void 0 ? void 0 : _b.paths) === null || _c === void 0 ? void 0 : _c.webapp) {
154
- webAppFolder = ui5Yaml.resources.configuration.paths.webapp;
155
- }
134
+ exports.getWebAppFolderFromYaml = (ui5YamlPath) => __awaiter(void 0, void 0, void 0, function* () {
135
+ var _a, _b;
136
+ if (fs_1.existsSync(ui5YamlPath)) {
137
+ const ui5Config = yield ui5_config_1.UI5Config.newInstance(fs_1.readFileSync(ui5YamlPath, { encoding: 'utf8' }));
138
+ return (_b = (_a = ui5Config.getConfiguration().paths) === null || _a === void 0 ? void 0 : _a.webapp) !== null && _b !== void 0 ? _b : 'webapp';
139
+ }
140
+ else {
141
+ return 'webapp';
156
142
  }
157
- return webAppFolder;
158
143
  });
159
- exports.getWebAppFolderFromYaml = getWebAppFolderFromYaml;
160
144
  /**
161
145
  * Sends HTML content as a response.
162
146
  *
163
147
  * @param res - The http response object
164
148
  * @param html - The HTML content
165
149
  */
166
- const setHtmlResponse = (res, html) => {
150
+ exports.setHtmlResponse = (res, html) => {
167
151
  if (res['_livereload']) {
168
152
  res.write(html);
169
153
  res.end();
@@ -172,23 +156,21 @@ const setHtmlResponse = (res, html) => {
172
156
  res.status(200).contentType('html').send(html);
173
157
  }
174
158
  };
175
- exports.setHtmlResponse = setHtmlResponse;
176
159
  /**
177
160
  * Gets the manifest.json for a given application.
178
161
  *
179
162
  * @param args list of runtime arguments
180
163
  * @returns The content of the manifest.json
181
164
  */
182
- const getManifest = (args) => __awaiter(void 0, void 0, void 0, function* () {
165
+ exports.getManifest = (args) => __awaiter(void 0, void 0, void 0, function* () {
183
166
  const projectRoot = process.cwd();
184
- const yamlFileName = (0, exports.getYamlFile)(args);
185
- const ui5YamlPath = (0, path_1.join)(projectRoot, yamlFileName);
186
- const webAppFolder = yield (0, exports.getWebAppFolderFromYaml)(ui5YamlPath);
187
- const manifestPath = (0, path_1.join)(projectRoot, webAppFolder, 'manifest.json');
188
- const manifest = JSON.parse(yield fs_1.promises.readFile(manifestPath, { encoding: 'utf8' }));
167
+ const yamlFileName = exports.getYamlFile(args);
168
+ const ui5YamlPath = path_1.join(projectRoot, yamlFileName);
169
+ const webAppFolder = yield exports.getWebAppFolderFromYaml(ui5YamlPath);
170
+ const manifestPath = path_1.join(projectRoot, webAppFolder, 'manifest.json');
171
+ const manifest = JSON.parse(fs_1.readFileSync(manifestPath, { encoding: 'utf8' }));
189
172
  return manifest;
190
173
  });
191
- exports.getManifest = getManifest;
192
174
  /**
193
175
  * Gets the minUI5Version from the manifest.json.
194
176
  *
@@ -198,7 +180,7 @@ exports.getManifest = getManifest;
198
180
  function getUI5VersionFromManifest(args) {
199
181
  var _a, _b;
200
182
  return __awaiter(this, void 0, void 0, function* () {
201
- const manifest = yield (0, exports.getManifest)(args);
183
+ const manifest = yield exports.getManifest(args);
202
184
  return (_b = (_a = manifest['sap.ui5']) === null || _a === void 0 ? void 0 : _a.dependencies) === null || _b === void 0 ? void 0 : _b.minUI5Version;
203
185
  });
204
186
  }
@@ -220,7 +202,7 @@ function resolveUI5Version(version, log) {
220
202
  ui5VersionLocation =
221
203
  process.env.FIORI_TOOLS_UI5_VERSION || process.env.FIORI_TOOLS_UI5_VERSION === ''
222
204
  ? 'CLI arguments / Run configuration'
223
- : (0, exports.getYamlFile)(process.argv);
205
+ : exports.getYamlFile(process.argv);
224
206
  }
225
207
  else {
226
208
  const minUI5Version = yield getUI5VersionFromManifest(process.argv);
@@ -230,7 +212,7 @@ function resolveUI5Version(version, log) {
230
212
  }
231
213
  if (log) {
232
214
  ui5VersionInfo = ui5Version ? ui5Version : 'latest';
233
- log.info((0, i18n_1.t)('info.ui5VersionSource', { version: ui5VersionInfo, source: ui5VersionLocation }));
215
+ log.info(i18n_1.t('info.ui5VersionSource', { version: ui5VersionInfo, source: ui5VersionLocation }));
234
216
  }
235
217
  return ui5Version;
236
218
  });
@@ -243,9 +225,9 @@ exports.resolveUI5Version = resolveUI5Version;
243
225
  * @param ui5Configs - the configuration of the ui5-proxy-middleware
244
226
  * @returns The modified html file content
245
227
  */
246
- const injectUI5Url = (htmlFilePath, ui5Configs) => __awaiter(void 0, void 0, void 0, function* () {
247
- if ((0, fs_1.existsSync)(htmlFilePath)) {
248
- let html = yield fs_1.promises.readFile(htmlFilePath, { encoding: 'utf8' });
228
+ function injectUI5Url(htmlFilePath, ui5Configs) {
229
+ if (fs_1.existsSync(htmlFilePath)) {
230
+ let html = fs_1.readFileSync(htmlFilePath, { encoding: 'utf8' });
249
231
  for (const ui5Config of ui5Configs) {
250
232
  const ui5Host = ui5Config.url.replace(/\/$/, '');
251
233
  const ui5Url = ui5Config.version ? `${ui5Host}/${ui5Config.version}` : ui5Host;
@@ -260,8 +242,10 @@ const injectUI5Url = (htmlFilePath, ui5Configs) => __awaiter(void 0, void 0, voi
260
242
  }
261
243
  return html;
262
244
  }
263
- return undefined;
264
- });
245
+ else {
246
+ return undefined;
247
+ }
248
+ }
265
249
  exports.injectUI5Url = injectUI5Url;
266
250
  /**
267
251
  * Injects scripts into the html file, which is used to preview the application.
@@ -271,18 +255,18 @@ exports.injectUI5Url = injectUI5Url;
271
255
  * @param next - the next function, used to forward the request to the next available handler
272
256
  * @param ui5Configs - the UI5 configuration of the ui5-proxy-middleware
273
257
  */
274
- const injectScripts = (req, res, next, ui5Configs) => __awaiter(void 0, void 0, void 0, function* () {
258
+ exports.injectScripts = (req, res, next, ui5Configs) => __awaiter(void 0, void 0, void 0, function* () {
275
259
  try {
276
260
  const projectRoot = process.cwd();
277
261
  const args = process.argv;
278
- const htmlFileName = (0, exports.getHtmlFile)(req.baseUrl);
279
- const yamlFileName = (0, exports.getYamlFile)(args);
280
- const ui5YamlPath = (0, path_1.join)(projectRoot, yamlFileName);
281
- const webAppFolder = yield (0, exports.getWebAppFolderFromYaml)(ui5YamlPath);
282
- const htmlFilePath = (0, path_1.join)(projectRoot, webAppFolder, htmlFileName);
283
- const html = yield (0, exports.injectUI5Url)(htmlFilePath, ui5Configs);
262
+ const htmlFileName = exports.getHtmlFile(req.baseUrl);
263
+ const yamlFileName = exports.getYamlFile(args);
264
+ const ui5YamlPath = path_1.join(projectRoot, yamlFileName);
265
+ const webAppFolder = yield exports.getWebAppFolderFromYaml(ui5YamlPath);
266
+ const htmlFilePath = path_1.join(projectRoot, webAppFolder, htmlFileName);
267
+ const html = injectUI5Url(htmlFilePath, ui5Configs);
284
268
  if (html) {
285
- (0, exports.setHtmlResponse)(res, html);
269
+ exports.setHtmlResponse(res, html);
286
270
  }
287
271
  else {
288
272
  next();
@@ -292,7 +276,6 @@ const injectScripts = (req, res, next, ui5Configs) => __awaiter(void 0, void 0,
292
276
  next(error);
293
277
  }
294
278
  });
295
- exports.injectScripts = injectScripts;
296
279
  /**
297
280
  * Filters comressed html files from UI5 CDN.
298
281
  * Avoid ERR_CONTENT_DECODING_FAILED on http request for gzip'd html files.
@@ -302,7 +285,7 @@ exports.injectScripts = injectScripts;
302
285
  * @param req - the http request object
303
286
  * @returns True, indicating that the request should be proxied
304
287
  */
305
- const filterCompressedHtmlFiles = (_pathname, req) => {
288
+ exports.filterCompressedHtmlFiles = (_pathname, req) => {
306
289
  const acceptHeader = req.headers['accept'] || '';
307
290
  if (req.headers['accept-encoding'] &&
308
291
  (acceptHeader.includes('text/html') || acceptHeader.includes('application/xhtml+xml'))) {
@@ -310,5 +293,4 @@ const filterCompressedHtmlFiles = (_pathname, req) => {
310
293
  }
311
294
  return true;
312
295
  };
313
- exports.filterCompressedHtmlFiles = filterCompressedHtmlFiles;
314
296
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/base/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/base/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,mDAA+C;AAG/C,2BAA8C;AAC9C,+BAA4B;AAC5B,2CAA2G;AAE3G,kCAA4B;AAE5B;;;;;;GAMG;AACU,QAAA,oBAAoB,GAAG,CAAC,QAAyB,EAAE,IAAY,EAAQ,EAAE;IAClF,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,mBAAmB,GAAG,CAC/B,QAAuB,EACvB,GAAmB,EACnB,IAAY,EACZ,MAAmB,EACf,EAAE;IACN,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;QAC9C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,GAAG,EAAE,CAAC;KACb;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,CAAC,eAAmC,EAAsB,EAAE;IAC/F,OAAO,CACH,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,OAAO,CAAC,GAAG,CAAC,WAAW;QACvB,OAAO,CAAC,GAAG,CAAC,WAAW;QACvB,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CACrC,CAAC;AACN,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG,CAAC,KAAyB,EAAsB,EAAE;IAClF,IAAI,KAAK,EAAE;QACP,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,iBAAiB,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;YAC5C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;SACjF;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,uBAAuB,GAAG,CAAC,aAAiC,EAAE,GAAW,EAAW,EAAE;IAC/F,IAAI,aAAa,KAAK,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC;KACf;SAAM;QACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAC/B,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAC5E,CAAC;KACL;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;QAC1B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;KAClD;SAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;QACjC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;KAClD;SAAM;QACH,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,WAAW,GAAG,CAAC,IAAc,EAAU,EAAE;IAClD,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9F,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QACd,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KAC1B;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,CAAO,WAAmB,EAAmB,EAAE;;IAClF,IAAI,eAAU,CAAC,WAAW,CAAC,EAAE;QACzB,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,WAAW,CAAC,iBAAY,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/F,mBAAO,SAAS,CAAC,gBAAgB,EAAE,CAAC,KAAK,0CAAE,MAAM,mCAAI,QAAQ,CAAC;KACjE;SAAM;QACH,OAAO,QAAQ,CAAC;KACnB;AACL,CAAC,CAAA,CAAC;AAEF;;;;;GAKG;AACU,QAAA,eAAe,GAAG,CAAC,GAAQ,EAAE,IAAY,EAAQ,EAAE;IAC5D,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE;QACpB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,GAAG,CAAC,GAAG,EAAE,CAAC;KACb;SAAM;QACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClD;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,WAAW,GAAG,CAAO,IAAc,EAAqB,EAAE;IACnE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,WAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,+BAAuB,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,WAAI,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,iBAAY,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAExF,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA,CAAC;AAEF;;;;;GAKG;AACH,SAAsB,yBAAyB,CAAC,IAAc;;;QAC1D,MAAM,QAAQ,GAAG,MAAM,mBAAW,CAAC,IAAI,CAAC,CAAC;QACzC,mBAAO,QAAQ,CAAC,SAAS,CAAC,0CAAE,YAAY,0CAAE,aAAa,CAAC;;CAC3D;AAHD,8DAGC;AAED;;;;;;GAMG;AACH,SAAsB,iBAAiB,CAAC,OAAgB,EAAE,GAAiB;;QACvE,IAAI,UAAU,GAAW,EAAE,CAAC;QAC5B,IAAI,cAAsB,CAAC;QAC3B,IAAI,kBAAkB,GAAW,eAAe,CAAC;QAEjD,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,kBAAkB;gBACd,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,EAAE;oBAC7E,CAAC,CAAC,mCAAmC;oBACrC,CAAC,CAAC,mBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;aAAM;YACH,MAAM,aAAa,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,aAAa,EAAE;gBACf,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;aACtE;SACJ;QAED,IAAI,GAAG,EAAE;YACL,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,QAAC,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;SACjG;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;CAAA;AAvBD,8CAuBC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,YAAoB,EAAE,UAAyB;IACxE,IAAI,eAAU,CAAC,YAAY,CAAC,EAAE;QAC1B,IAAI,IAAI,GAAG,iBAAY,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAE/E,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE;gBACjC,MAAM,YAAY,GAAG,QAAQ,MAAM,IAAI,0BAAc,GAAG,CAAC;gBACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAuB,EAAE,YAAY,CAAC,CAAC;aAC9D;YAED,IAAI,SAAS,CAAC,IAAI,KAAK,iBAAiB,EAAE;gBACtC,MAAM,gBAAgB,GAAG,QAAQ,MAAM,IAAI,wBAAY,GAAG,CAAC;gBAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAqB,EAAE,gBAAgB,CAAC,CAAC;aAChE;SACJ;QACD,OAAO,IAAI,CAAC;KACf;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AArBD,oCAqBC;AAED;;;;;;;GAOG;AACU,QAAA,aAAa,GAAG,CACzB,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,UAAyB,EACZ,EAAE;IACf,IAAI;QACA,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,YAAY,GAAG,mBAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,WAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,MAAM,+BAAuB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,WAAI,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAI,IAAI,EAAE;YACN,uBAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAC9B;aAAM;YACH,IAAI,EAAE,CAAC;SACV;KACJ;IAAC,OAAO,KAAK,EAAE;QACZ,IAAI,CAAC,KAAK,CAAC,CAAC;KACf;AACL,CAAC,CAAA,CAAC;AAEF;;;;;;;;GAQG;AACU,QAAA,yBAAyB,GAAG,CAAC,SAAiB,EAAE,GAAoB,EAAW,EAAE;IAC1F,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjD,IACI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,EACxF;QACE,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,kDAAkD;KAC5F;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
@@ -22,46 +22,40 @@ module.exports = ({ options }) => __awaiter(void 0, void 0, void 0, function* ()
22
22
  });
23
23
  const router = express_1.default.Router();
24
24
  const config = options.configuration;
25
- const ui5Version = yield (0, base_1.resolveUI5Version)(config.version, logger);
25
+ const ui5Version = yield base_1.resolveUI5Version(config.version, logger);
26
26
  const secure = !!config.secure;
27
27
  const debug = !!config.debug;
28
28
  const directLoad = !!config.directLoad;
29
29
  const noProxyVal = process.env.no_proxy || process.env.npm_config_noproxy;
30
- const corporateProxyServer = (0, base_1.getCorporateProxyServer)(config.proxy);
30
+ const corporateProxyServer = base_1.getCorporateProxyServer(config.proxy);
31
31
  // hide user and pass from proxy configuration for displaying it in the terminal
32
- const proxyInfo = (0, base_1.hideProxyCredentials)(corporateProxyServer);
32
+ const proxyInfo = base_1.hideProxyCredentials(corporateProxyServer);
33
33
  const proxyOptions = {
34
34
  secure,
35
35
  logLevel: debug ? 'debug' : 'info',
36
- logProvider: () => {
37
- return logger;
38
- }
36
+ logProvider: () => logger
39
37
  };
40
- logger.info(`Starting ui5-proxy-middleware using following configuration:\nproxy: '${proxyInfo}'\nsecure: '${secure ? 'true' : 'false'}'\ndebug: '${debug ? 'true' : 'false'}''\ndebug: '${directLoad ? 'true' : 'false'}'`);
41
- let ui5Configs = [];
42
- if (Array.isArray(config.ui5)) {
43
- ui5Configs = config.ui5;
44
- }
45
- else {
46
- for (const ui5Path of config.ui5.path) {
38
+ logger.info(`Starting ui5-proxy-middleware using following configuration:\nproxy: '${proxyInfo}'\nsecure: '${secure}'\ndebug: '${debug}''\ndirectLoad: '${directLoad}'`);
39
+ const configs = Array.isArray(config.ui5) ? config.ui5 : [config.ui5];
40
+ const ui5Configs = [];
41
+ for (const ui5 of configs) {
42
+ const paths = Array.isArray(ui5.path) ? ui5.path : [ui5.path];
43
+ for (const ui5Path of paths) {
47
44
  const ui5Config = {
48
45
  path: ui5Path,
49
- url: config.ui5.url,
46
+ url: ui5.url,
50
47
  version: ui5Version
51
48
  };
49
+ if (corporateProxyServer && !base_1.isHostExcludedFromProxy(noProxyVal, ui5Config.url)) {
50
+ proxyOptions.agent = new https_proxy_agent_1.HttpsProxyAgent(corporateProxyServer);
51
+ }
52
+ router.use(ui5Config.path, base_1.ui5Proxy(ui5Config, proxyOptions));
52
53
  ui5Configs.push(ui5Config);
53
54
  }
54
55
  }
55
- for (const ui5Config of ui5Configs) {
56
- ui5Config.version = ui5Version;
57
- if (corporateProxyServer && !(0, base_1.isHostExcludedFromProxy)(noProxyVal, ui5Config.url)) {
58
- proxyOptions.agent = new https_proxy_agent_1.HttpsProxyAgent(corporateProxyServer);
59
- }
60
- router.use(ui5Config.path, (0, base_1.ui5Proxy)(ui5Config, proxyOptions));
61
- }
62
56
  if (directLoad) {
63
57
  router.use(base_1.HTML_MOUNT_PATHS, (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
64
- yield (0, base_1.injectScripts)(req, res, next, ui5Configs);
58
+ yield base_1.injectScripts(req, res, next, ui5Configs);
65
59
  }));
66
60
  }
67
61
  return router;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/ui5/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/ui5/middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,sDAA8B;AAE9B,yDAAoD;AACpD,2CAAkE;AAElE,kCAQiB;AAEjB,MAAM,CAAC,OAAO,GAAG,CAAO,EAAE,OAAO,EAA6C,EAA2B,EAAE;IACvG,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,IAAI,4BAAmB,CAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC,CAAC;KAChF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,wBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC1E,MAAM,oBAAoB,GAAG,8BAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,gFAAgF;IAChF,MAAM,SAAS,GAAG,2BAAoB,CAAC,oBAAoB,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAY;QAC1B,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;QAClC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM;KAC5B,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,yEAAyE,SAAS,eAAe,MAAM,cAAc,KAAK,oBAAoB,UAAU,GAAG,CAC9J,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9D,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;YACzB,MAAM,SAAS,GAAgB;gBAC3B,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,OAAO,EAAE,UAAU;aACtB,CAAC;YACF,IAAI,oBAAoB,IAAI,CAAC,8BAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE;gBAC7E,YAAY,CAAC,KAAK,GAAG,IAAI,mCAAe,CAAC,oBAAoB,CAAC,CAAC;aAClE;YACD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,eAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;YAC9D,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC9B;KACJ;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,uBAAgB,EAAE,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAClG,MAAM,oBAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC,CAAA,CAAC,CAAC;KACN;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA,CAAC"}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "bugs": {
10
10
  "url": "https://github.com/SAP/open-ux-tools/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3Aui5-proxy-middleware"
11
11
  },
12
- "version": "1.0.2",
12
+ "version": "1.0.5",
13
13
  "license": "Apache-2.0",
14
14
  "main": "dist/index.js",
15
15
  "files": [
@@ -18,20 +18,19 @@
18
18
  "ui5.yaml"
19
19
  ],
20
20
  "dependencies": {
21
- "@sap-ux/logger": "0.1.4",
21
+ "@sap-ux/logger": "0.1.5",
22
+ "@sap-ux/ui5-config": "0.13.1",
22
23
  "express": "4.17.2",
23
24
  "http-proxy-middleware": "2.0.1",
24
25
  "https-proxy-agent": "5.0.0",
25
- "i18next": "20.3.2",
26
- "yaml": "2.0.0-10"
26
+ "i18next": "20.3.2"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/express": "4.17.13",
30
- "@ui5/server": "2.4.0",
31
- "@ui5/project": "2.6.0",
32
- "mock-http-server": "1.4.5",
33
- "request": "2.88.2",
34
- "request-promise": "4.2.6"
30
+ "nock": "13.2.4",
31
+ "supertest": "6.2.2",
32
+ "@types/supertest": "2.0.12",
33
+ "yaml": "2.0.0-10"
35
34
  },
36
35
  "ui5": {
37
36
  "dependencies": []