@sap-ux/ui5-proxy-middleware 1.0.0
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 +201 -0
- package/README.md +123 -0
- package/dist/base/constants.d.ts +6 -0
- package/dist/base/constants.d.ts.map +1 -0
- package/dist/base/constants.js +9 -0
- package/dist/base/constants.js.map +1 -0
- package/dist/base/index.d.ts +6 -0
- package/dist/base/index.d.ts.map +1 -0
- package/dist/base/index.js +20 -0
- package/dist/base/index.js.map +1 -0
- package/dist/base/manifest.d.ts +2821 -0
- package/dist/base/manifest.d.ts.map +1 -0
- package/dist/base/manifest.js +4 -0
- package/dist/base/manifest.js.map +1 -0
- package/dist/base/proxy.d.ts +12 -0
- package/dist/base/proxy.d.ts.map +1 -0
- package/dist/base/proxy.js +41 -0
- package/dist/base/proxy.js.map +1 -0
- package/dist/base/types.d.ts +32 -0
- package/dist/base/types.d.ts.map +1 -0
- package/dist/base/types.js +3 -0
- package/dist/base/types.js.map +1 -0
- package/dist/base/utils.d.ts +124 -0
- package/dist/base/utils.d.ts.map +1 -0
- package/dist/base/utils.js +316 -0
- package/dist/base/utils.js.map +1 -0
- package/dist/i18n.d.ts +14 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +50 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/translations/ui5-proxy-middleware.i18n.json +5 -0
- package/dist/ui5/middleware.d.ts +2 -0
- package/dist/ui5/middleware.d.ts.map +1 -0
- package/dist/ui5/middleware.js +69 -0
- package/dist/ui5/middleware.js.map +1 -0
- package/package.json +45 -0
- package/ui5.yaml +7 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/base/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TOptions } from 'i18next';
|
|
2
|
+
/**
|
|
3
|
+
* Initialize i18next with the translations for this module.
|
|
4
|
+
*/
|
|
5
|
+
export declare function initI18n(): Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Helper function facading the call call to i18next.
|
|
8
|
+
*
|
|
9
|
+
* @param key i18n key
|
|
10
|
+
* @param options additional options
|
|
11
|
+
* @returns {string} localized string stored for the given key
|
|
12
|
+
*/
|
|
13
|
+
export declare function t(key: string, options?: TOptions): string;
|
|
14
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAY9C;AAED;;;;;;GAMG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAEzD"}
|
package/dist/i18n.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.t = exports.initI18n = void 0;
|
|
16
|
+
const i18next_1 = __importDefault(require("i18next"));
|
|
17
|
+
const ui5_proxy_middleware_i18n_json_1 = __importDefault(require("./translations/ui5-proxy-middleware.i18n.json"));
|
|
18
|
+
const NS = 'ui5-proxy-middleware';
|
|
19
|
+
/**
|
|
20
|
+
* Initialize i18next with the translations for this module.
|
|
21
|
+
*/
|
|
22
|
+
function initI18n() {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
yield i18next_1.default.init({
|
|
25
|
+
resources: {
|
|
26
|
+
en: {
|
|
27
|
+
[NS]: ui5_proxy_middleware_i18n_json_1.default
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
lng: 'en',
|
|
31
|
+
fallbackLng: 'en',
|
|
32
|
+
defaultNS: NS,
|
|
33
|
+
ns: [NS]
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
exports.initI18n = initI18n;
|
|
38
|
+
/**
|
|
39
|
+
* Helper function facading the call call to i18next.
|
|
40
|
+
*
|
|
41
|
+
* @param key i18n key
|
|
42
|
+
* @param options additional options
|
|
43
|
+
* @returns {string} localized string stored for the given key
|
|
44
|
+
*/
|
|
45
|
+
function t(key, options) {
|
|
46
|
+
return i18next_1.default.t(key, options);
|
|
47
|
+
}
|
|
48
|
+
exports.t = t;
|
|
49
|
+
initI18n();
|
|
50
|
+
//# sourceMappingURL=i18n.js.map
|
package/dist/i18n.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA4C;AAC5C,mHAAyE;AAEzE,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAElC;;GAEG;AACH,SAAsB,QAAQ;;QAC1B,MAAM,iBAAO,CAAC,IAAI,CAAC;YACf,SAAS,EAAE;gBACP,EAAE,EAAE;oBACA,CAAC,EAAE,CAAC,EAAE,wCAAY;iBACrB;aACJ;YACD,GAAG,EAAE,IAAI;YACT,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,EAAE;YACb,EAAE,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAC;IACP,CAAC;CAAA;AAZD,4BAYC;AAED;;;;;;GAMG;AACH,SAAgB,CAAC,CAAC,GAAW,EAAE,OAAkB;IAC7C,OAAO,iBAAO,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAFD,cAEC;AAED,QAAQ,EAAE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ui5Proxy = void 0;
|
|
4
|
+
var base_1 = require("./base");
|
|
5
|
+
Object.defineProperty(exports, "ui5Proxy", { enumerable: true, get: function () { return base_1.ui5Proxy; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAAzB,gGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/ui5/middleware.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const express_1 = __importDefault(require("express"));
|
|
16
|
+
const https_proxy_agent_1 = require("https-proxy-agent");
|
|
17
|
+
const logger_1 = require("@sap-ux/logger");
|
|
18
|
+
const base_1 = require("../base");
|
|
19
|
+
module.exports = ({ options }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
const logger = new logger_1.ToolsLogger({
|
|
21
|
+
transports: [new logger_1.UI5ToolingTransport({ moduleName: 'ui5-proxy-middleware' })]
|
|
22
|
+
});
|
|
23
|
+
const router = express_1.default.Router();
|
|
24
|
+
const config = options.configuration;
|
|
25
|
+
const ui5Version = yield (0, base_1.resolveUI5Version)(config.version, logger);
|
|
26
|
+
const secure = !!config.secure;
|
|
27
|
+
const debug = !!config.debug;
|
|
28
|
+
const directLoad = !!config.directLoad;
|
|
29
|
+
const noProxyVal = process.env.no_proxy || process.env.npm_config_noproxy;
|
|
30
|
+
const corporateProxyServer = (0, base_1.getCorporateProxyServer)(config.proxy);
|
|
31
|
+
// hide user and pass from proxy configuration for displaying it in the terminal
|
|
32
|
+
const proxyInfo = (0, base_1.hideProxyCredentials)(corporateProxyServer);
|
|
33
|
+
const proxyOptions = {
|
|
34
|
+
secure,
|
|
35
|
+
logLevel: debug ? 'debug' : 'info',
|
|
36
|
+
logProvider: () => {
|
|
37
|
+
return logger;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
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) {
|
|
47
|
+
const ui5Config = {
|
|
48
|
+
path: ui5Path,
|
|
49
|
+
url: config.ui5.url,
|
|
50
|
+
version: ui5Version
|
|
51
|
+
};
|
|
52
|
+
ui5Configs.push(ui5Config);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
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
|
+
if (directLoad) {
|
|
63
|
+
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);
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
return router;
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/ui5/middleware.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sap-ux/ui5-proxy-middleware",
|
|
3
|
+
"description": "UI5 proxy middleware",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"LICENSE",
|
|
9
|
+
"dist",
|
|
10
|
+
"ui5.yaml"
|
|
11
|
+
],
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@sap-ux/logger": "0.1.2",
|
|
14
|
+
"express": "4.17.2",
|
|
15
|
+
"http-proxy-middleware": "2.0.1",
|
|
16
|
+
"https-proxy-agent": "5.0.0",
|
|
17
|
+
"i18next": "20.3.2",
|
|
18
|
+
"yaml": "2.0.0-10"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/express": "4.17.13",
|
|
22
|
+
"@ui5/server": "2.4.0",
|
|
23
|
+
"@ui5/project": "2.6.0",
|
|
24
|
+
"mock-http-server": "1.4.5",
|
|
25
|
+
"request": "2.88.2",
|
|
26
|
+
"request-promise": "4.2.6"
|
|
27
|
+
},
|
|
28
|
+
"ui5": {
|
|
29
|
+
"dependencies": []
|
|
30
|
+
},
|
|
31
|
+
"engines": {
|
|
32
|
+
"pnpm": ">=6.26.1",
|
|
33
|
+
"node": ">=12.22.5 < 13.0.0 || >= 14.16.0 < 15.0.0 || >=16.1.0 < 17.0.0"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "pnpm clean && tsc",
|
|
37
|
+
"clean": "rimraf dist",
|
|
38
|
+
"format": "prettier --write '**/*.{js,json,ts,yaml,yml}' --ignore-path ../../.prettierignore",
|
|
39
|
+
"lint": "eslint . --ext .ts",
|
|
40
|
+
"lint:fix": "eslint . --ext .ts --fix",
|
|
41
|
+
"test": "jest --ci --forceExit --detectOpenHandles --colors",
|
|
42
|
+
"watch": "tsc --watch"
|
|
43
|
+
},
|
|
44
|
+
"readme": "# `@sap-ux/ui5-proxy-middleware`\n\nThe `@sap-ux/ui5-proxy-middleware` is a [Custom UI5 Server Middleware](https://sap.github.io/ui5-tooling/pages/extensibility/CustomServerMiddleware) for loading the UI5 sources in your application. It can be used either with the `ui5 serve` or the `fiori run` commands.\n\n## Configuration Options\n| Option | Default Value | Description |\n| ------------ | ------------- | ----------- |\n| `ui5` | mandatory | List of mount paths and target urls that should be handled by the proxy |\n| `version` | `undefined` | The UI5 version. If this property is not defined, then the `minUI5Version` from the `manifest.json` will be used |\n| `secure` | true | Defines if SSL certs should be verified |\n| `debug` | false | Enables debug output |\n| `proxy` | `undefined` | Use for adding corporate proxy configuration |\n| `directLoad` | false | Defines whether the UI5 sources should be loaded directly from UI5 CDN |\n\n## Usage\nIn order to use the middleware this is the minimal configuration that you need to provide in the `ui5.yaml` of your application.\n\n```Yaml\nserver:\n customMiddleware:\n - name: ui5-proxy-middleware\n afterMiddleware: compression\n configuration:\n ui5:\n - path: /resources\n url: https://ui5.sap.com\n - path: /test-resources\n url: https://ui5.sap.com\n```\n\nAlternatively you can use the following syntax if all paths should be proxied to the same url.\n\n```Yaml\nserver:\n customMiddleware:\n - name: ui5-proxy-middleware\n afterMiddleware: compression\n configuration:\n ui5:\n path: \n - /resources\n - /test-resources\n url: https://ui5.sap.com\n```\n**NOTE: You can't mix both syntaxes!**\n\nFinally don't forget to add the following in your `package.json`.\n\n```JSON\n\"ui5\": {\n \"dependencies\": [\n \"@sap-ux/ui5-proxy-middleware\"\n ]\n}\n```\n\n## Examples\n### Loading a specific UI5 version\nTo load a specific a UI5 version in your application you can use the `version` parameter, e.g.\n\n```Yaml\nserver:\n customMiddleware:\n - name: ui5-proxy-middleware\n afterMiddleware: compression\n configuration:\n ui5:\n - path: /resources\n url: https://ui5.sap.com\n - path: /test-resources\n url: https://ui5.sap.com\n version: 1.96.1\n```\n\n### Loading UI5 sources directly from UI5 CDN\nIf you don't load all UI5 source through the `ui5-proxy-middleware`, then you can set `directLoad: true`. This will inject the absolute UI5 URL in the bootstrap of your HTML file, thus loading the libraries directly from UI5 CDN.\n\n**NOTE: this works only for the default HTML files created by the [Fiori generator](https://www.npmjs.com/package/@sap/generator-fiori) when a project is generated. Hence index.html, flpSandbox.html and flpSandboxMockServer.html!**\n\n```Yaml\nserver:\n customMiddleware:\n - name: ui5-proxy-middleware\n afterMiddleware: compression\n configuration:\n ui5:\n - path: /resources\n url: https://ui5.sap.com\n - path: /test-resources\n url: https://ui5.sap.com\n directLoad: true\n```\n\n### Adding corporate proxy configuration\nIf you are behind a corporate proxy then you can provide your corporate proxy configuration as follows.\n\n```Yaml\nserver:\n customMiddleware:\n - name: ui5-proxy-middleware\n afterMiddleware: compression\n configuration:\n ui5:\n - path: /resources\n url: https://ui5.sap.com\n - path: /test-resources\n url: https://ui5.sap.com\n proxy: https://my.corporate.proxy.example\n```\n\n## Programmatic Usage\nAlternatively you can only use the underlying proxy function, e.g. for the case when you want to incorporate the `ui5-proxy-middleware` functionality in your own middleware.\n\n```Typescript\nimport { ui5Proxy } from '@sap-ux/ui5-proxy-middleware';\nconst ui5ProxyMiddlewareFn = ui5Proxy(config, options, filter)\n```\n- **config** - The UI5 configuration\n- **options** - Options of the [http-proxy-middleware](https://www.npmjs.com/package/http-proxy-middleware#options)\n- **filter** - a custom function to determine which requests should be proxied or not, [example](https://www.npmjs.com/package/http-proxy-middleware#context-matching)\n\n## Keywords\nUI5 Proxy Middleware\n"
|
|
45
|
+
}
|