@ui5/server 3.0.0-rc.1 → 3.0.0-rc.3
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 +12 -1
- package/lib/middleware/MiddlewareManager.js +8 -4
- package/lib/middleware/MiddlewareUtil.js +2 -1
- package/lib/middleware/csp.js +2 -2
- package/lib/middleware/serveIndex.js +3 -3
- package/lib/middleware/serveResources.js +2 -2
- package/lib/middleware/testRunner.js +2 -2
- package/lib/sslUtil.js +2 -2
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,16 @@
|
|
|
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-rc.
|
|
5
|
+
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-server/compare/v3.0.0-rc.3...HEAD).
|
|
6
|
+
|
|
7
|
+
<a name="v3.0.0-rc.3"></a>
|
|
8
|
+
## [v3.0.0-rc.3] - 2023-02-04
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
- **MiddlewareManager:** Throw if custom middleware is unknown [`5d5bbe1`](https://github.com/SAP/ui5-server/commit/5d5bbe1bc7b8e12e2094e9ef08807d5359d8ac5e)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<a name="v3.0.0-rc.2"></a>
|
|
14
|
+
## [v3.0.0-rc.2] - 2023-01-25
|
|
6
15
|
|
|
7
16
|
<a name="v3.0.0-rc.1"></a>
|
|
8
17
|
## [v3.0.0-rc.1] - 2023-01-23
|
|
@@ -330,6 +339,8 @@ Only Node.js v10 or higher is supported.
|
|
|
330
339
|
<a name="v0.0.1"></a>
|
|
331
340
|
## v0.0.1 - 2018-06-06
|
|
332
341
|
|
|
342
|
+
[v3.0.0-rc.3]: https://github.com/SAP/ui5-server/compare/v3.0.0-rc.2...v3.0.0-rc.3
|
|
343
|
+
[v3.0.0-rc.2]: https://github.com/SAP/ui5-server/compare/v3.0.0-rc.1...v3.0.0-rc.2
|
|
333
344
|
[v3.0.0-rc.1]: https://github.com/SAP/ui5-server/compare/v3.0.0-rc.0...v3.0.0-rc.1
|
|
334
345
|
[v3.0.0-rc.0]: https://github.com/SAP/ui5-server/compare/v3.0.0-beta.4...v3.0.0-rc.0
|
|
335
346
|
[v3.0.0-beta.4]: https://github.com/SAP/ui5-server/compare/v3.0.0-beta.3...v3.0.0-beta.4
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import middlewareRepository from "./middlewareRepository.js";
|
|
2
2
|
import MiddlewareUtil from "./MiddlewareUtil.js";
|
|
3
|
-
import
|
|
3
|
+
import {getLogger} from "@ui5/logger";
|
|
4
4
|
const hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -274,6 +274,12 @@ class MiddlewareManager {
|
|
|
274
274
|
`Custom middleware definition ${middlewareDef.name} of project ${project.getName()} ` +
|
|
275
275
|
`defines neither a "beforeMiddleware" nor an "afterMiddleware" parameter. One must be defined.`);
|
|
276
276
|
}
|
|
277
|
+
const customMiddleware = this.graph.getExtension(middlewareDef.name);
|
|
278
|
+
if (!customMiddleware) {
|
|
279
|
+
throw new Error(
|
|
280
|
+
`Could not find custom middleware ${middlewareDef.name}, ` +
|
|
281
|
+
`referenced by project ${project.getName()}`);
|
|
282
|
+
}
|
|
277
283
|
|
|
278
284
|
let middlewareName = middlewareDef.name;
|
|
279
285
|
if (this.middleware[middlewareName]) {
|
|
@@ -288,8 +294,6 @@ class MiddlewareManager {
|
|
|
288
294
|
|
|
289
295
|
await this.addMiddleware(middlewareName, {
|
|
290
296
|
customMiddleware: async ({resources, middlewareUtil}) => {
|
|
291
|
-
const customMiddleware = this.graph.getExtension(middlewareDef.name);
|
|
292
|
-
|
|
293
297
|
const params = {
|
|
294
298
|
resources,
|
|
295
299
|
options: {
|
|
@@ -300,7 +304,7 @@ class MiddlewareManager {
|
|
|
300
304
|
const specVersion = customMiddleware.getSpecVersion();
|
|
301
305
|
if (specVersion.gte("3.0")) {
|
|
302
306
|
params.options.middlewareName = middlewareName;
|
|
303
|
-
params.log =
|
|
307
|
+
params.log = getLogger(`server:custom-middleware:${middlewareDef.name}`);
|
|
304
308
|
}
|
|
305
309
|
const middlewareUtilInterface = middlewareUtil.getInterface(specVersion);
|
|
306
310
|
if (middlewareUtilInterface) {
|
|
@@ -108,6 +108,7 @@ class MiddlewareUtil {
|
|
|
108
108
|
* @property {Function} getNamespace Get the project namespace
|
|
109
109
|
* @property {Function} getRootReader Get the project rootReader
|
|
110
110
|
* @property {Function} getReader Get the project reader
|
|
111
|
+
* @property {Function} getRootPath Get the local File System path of the project's root directory
|
|
111
112
|
* @property {Function} getSourcePath Get the local File System path of the project's source directory
|
|
112
113
|
* @property {Function} getCustomConfiguration Get the project Custom Configuration
|
|
113
114
|
* @property {Function} isFrameworkProject Check whether the project is a UI5-Framework project
|
|
@@ -226,7 +227,7 @@ class MiddlewareUtil {
|
|
|
226
227
|
const baseProjectInterface = {};
|
|
227
228
|
bindFunctions(project, baseProjectInterface, [
|
|
228
229
|
"getType", "getName", "getVersion", "getNamespace",
|
|
229
|
-
"getRootReader", "getReader", "getSourcePath",
|
|
230
|
+
"getRootReader", "getReader", "getRootPath", "getSourcePath",
|
|
230
231
|
"getCustomConfiguration", "isFrameworkProject"
|
|
231
232
|
]);
|
|
232
233
|
return baseProjectInterface;
|
package/lib/middleware/csp.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import parseurl from "parseurl";
|
|
2
2
|
import Router from "router";
|
|
3
3
|
import querystring from "node:querystring";
|
|
4
|
-
import
|
|
4
|
+
import {getLogger} from "@ui5/logger";
|
|
5
5
|
import bodyParser from "body-parser";
|
|
6
6
|
|
|
7
|
-
const log =
|
|
7
|
+
const log = getLogger("server:middleware:csp");
|
|
8
8
|
|
|
9
9
|
const HEADER_CONTENT_SECURITY_POLICY = "Content-Security-Policy";
|
|
10
10
|
const HEADER_CONTENT_SECURITY_POLICY_REPORT_ONLY = "Content-Security-Policy-Report-Only";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
const log =
|
|
1
|
+
import {getLogger} from "@ui5/logger";
|
|
2
|
+
const log = getLogger("server:middleware:serveIndex");
|
|
3
3
|
import mime from "mime-types";
|
|
4
4
|
import serveIndex from "./serveIndex/serveIndex.cjs";
|
|
5
5
|
|
|
@@ -56,7 +56,7 @@ function createResourceInfo(resource) {
|
|
|
56
56
|
size: formatSize(stat.size),
|
|
57
57
|
sizeInBytes: stat.size,
|
|
58
58
|
project: resource.getProject()?.getName() || "<unknown>",
|
|
59
|
-
projectPath: resource.getProject()?.
|
|
59
|
+
projectPath: resource.getProject()?.getRootPath() || "<unknown>"
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
const log =
|
|
1
|
+
import {getLogger} from "@ui5/logger";
|
|
2
|
+
const log = getLogger("server:middleware:serveResources");
|
|
3
3
|
import replaceStream from "replacestream";
|
|
4
4
|
import etag from "etag";
|
|
5
5
|
import fresh from "fresh";
|
|
@@ -4,8 +4,8 @@ const readFile = promisify(fs.readFile);
|
|
|
4
4
|
import {fileURLToPath} from "node:url";
|
|
5
5
|
import mime from "mime-types";
|
|
6
6
|
import parseurl from "parseurl";
|
|
7
|
-
import
|
|
8
|
-
const log =
|
|
7
|
+
import {getLogger} from "@ui5/logger";
|
|
8
|
+
const log = getLogger("server:middleware:testRunner");
|
|
9
9
|
|
|
10
10
|
const testRunnerResourceRegEx = /\/test-resources\/sap\/ui\/qunit\/(testrunner\.(html|css)|TestRunner.js)$/;
|
|
11
11
|
const resourceCache = Object.create(null);
|
package/lib/sslUtil.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import os from "node:os";
|
|
2
2
|
import {stat, readFile, writeFile, mkdir} from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import {getLogger} from "@ui5/logger";
|
|
5
5
|
|
|
6
|
-
const log =
|
|
6
|
+
const log = getLogger("server:sslUtil");
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @private
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui5/server",
|
|
3
|
-
"version": "3.0.0-rc.
|
|
3
|
+
"version": "3.0.0-rc.3",
|
|
4
4
|
"description": "UI5 Tooling - Server",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SAP SE",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"./package.json": "./package.json"
|
|
26
26
|
},
|
|
27
27
|
"engines": {
|
|
28
|
-
"node": "^16.18.0 || >=18.
|
|
28
|
+
"node": "^16.18.0 || >=18.12.0",
|
|
29
29
|
"npm": ">= 8"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
@@ -114,9 +114,9 @@
|
|
|
114
114
|
"url": "git@github.com:SAP/ui5-server.git"
|
|
115
115
|
},
|
|
116
116
|
"dependencies": {
|
|
117
|
-
"@ui5/builder": "^3.0.0-rc.
|
|
118
|
-
"@ui5/fs": "^3.0.0-rc.
|
|
119
|
-
"@ui5/logger": "^3.0.1-rc.
|
|
117
|
+
"@ui5/builder": "^3.0.0-rc.5",
|
|
118
|
+
"@ui5/fs": "^3.0.0-rc.6",
|
|
119
|
+
"@ui5/logger": "^3.0.1-rc.3",
|
|
120
120
|
"body-parser": "^1.20.1",
|
|
121
121
|
"compression": "^1.7.4",
|
|
122
122
|
"cors": "^2.8.5",
|
|
@@ -136,21 +136,21 @@
|
|
|
136
136
|
},
|
|
137
137
|
"devDependencies": {
|
|
138
138
|
"@istanbuljs/esm-loader-hook": "^0.2.0",
|
|
139
|
-
"@ui5/project": "^3.0.0-rc.
|
|
139
|
+
"@ui5/project": "^3.0.0-rc.8",
|
|
140
140
|
"ava": "^5.1.1",
|
|
141
141
|
"chokidar-cli": "^3.0.0",
|
|
142
142
|
"cross-env": "^7.0.3",
|
|
143
143
|
"depcheck": "^1.4.3",
|
|
144
144
|
"docdash": "^2.0.1",
|
|
145
|
-
"eslint": "^8.
|
|
145
|
+
"eslint": "^8.33.0",
|
|
146
146
|
"eslint-config-google": "^0.14.0",
|
|
147
147
|
"eslint-plugin-ava": "^14.0.0",
|
|
148
|
-
"eslint-plugin-jsdoc": "^39.
|
|
148
|
+
"eslint-plugin-jsdoc": "^39.8.0",
|
|
149
149
|
"esmock": "^2.1.0",
|
|
150
150
|
"jsdoc": "^3.6.11",
|
|
151
151
|
"nyc": "^15.1.0",
|
|
152
152
|
"open-cli": "^7.1.0",
|
|
153
|
-
"rimraf": "^4.1.
|
|
153
|
+
"rimraf": "^4.1.2",
|
|
154
154
|
"sinon": "^15.0.1",
|
|
155
155
|
"supertest": "^6.3.3",
|
|
156
156
|
"tap-xunit": "^2.4.1"
|