server4test 1.0.2 → 2.0.0-rc.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/README.md +55 -0
- package/lib/browser-runner.d.ts +35 -0
- package/lib/browser-runner.js +310 -0
- package/lib/browser-runner.js.map +1 -0
- package/lib/server4test.d.ts +4 -0
- package/lib/server4test.js +59 -8
- package/lib/server4test.js.map +1 -1
- package/package.json +14 -4
package/README.md
CHANGED
|
@@ -169,6 +169,14 @@ through [webpack-dev-middleware](https://www.npmjs.com/package/webpack-dev-middl
|
|
|
169
169
|
(by default under `/dist`).
|
|
170
170
|
|
|
171
171
|
|
|
172
|
+
Since version 2.0 `webpack` and `webpack-dev-middleware` are optional dependencies
|
|
173
|
+
(`peerDependencies`), so to use `webpack.config.js` they must be installed in the project:
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
```sh
|
|
177
|
+
npm install --save-dev webpack webpack-dev-middleware
|
|
178
|
+
```
|
|
179
|
+
|
|
172
180
|
# local-file-repo
|
|
173
181
|
|
|
174
182
|
|
|
@@ -191,6 +199,52 @@ store is flat and cannot escape the directory. A random delay of up to
|
|
|
191
199
|
asynchrony visible while testing.
|
|
192
200
|
|
|
193
201
|
|
|
202
|
+
# browser-test
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
Runs the [mocha](https://mochajs.org/) tests in real browsers (Chrome and Firefox)
|
|
206
|
+
in headless mode and without drivers: _server4test_ generates a page that loads mocha
|
|
207
|
+
and the listed files, launches the browser pointing to that page and waits for the page
|
|
208
|
+
to send the result with a POST.
|
|
209
|
+
|
|
210
|
+
It is configured with the list of files to load, in order (mocha is loaded automatically,
|
|
211
|
+
from `node_modules/mocha`):
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
```yaml
|
|
215
|
+
server4test:
|
|
216
|
+
browser-test:
|
|
217
|
+
files:
|
|
218
|
+
- node_modules/require-bro/lib/require-bro.js
|
|
219
|
+
- node_modules/expect.js/index.js
|
|
220
|
+
- my-lib.js
|
|
221
|
+
- test/test.js
|
|
222
|
+
timeout: 120000 # ms waiting for the results of each browser (default 120000)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
To run them and exit (with exit code 0 if all is ok and 1 otherwise):
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
```sh
|
|
230
|
+
server4test --run-browser chrome,firefox
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
Each browser runs separately, with a temporary profile, and the server uses a free port.
|
|
235
|
+
The `console` output of the page, the errors and the failed tests are shown. The run
|
|
236
|
+
fails if any test fails, if there are errors loading or running the files, if no test
|
|
237
|
+
was run, if the `timeout` expires or if the browser exits before sending the result.
|
|
238
|
+
|
|
239
|
+
The browser is searched in the environment variables `CHROME_BIN` and `FIREFOX_BIN` and,
|
|
240
|
+
if they are not set, in the usual places of each operating system. The `ubuntu` runners
|
|
241
|
+
of GitHub Actions already have Chrome and Firefox installed.
|
|
242
|
+
|
|
243
|
+
Running `server4test` without `--run-browser` the page is available at
|
|
244
|
+
`/server4test-browser-test` to open it manually in any browser; the result is shown in
|
|
245
|
+
the server console.
|
|
246
|
+
|
|
247
|
+
|
|
194
248
|
# using it as a library
|
|
195
249
|
|
|
196
250
|
|
|
@@ -215,3 +269,4 @@ launch({serverClass:ExampleServer, server4test:{port:3339, verbose:true}})
|
|
|
215
269
|
|
|
216
270
|
Each service is `{path, method?}` plus either `html` (served as html) or
|
|
217
271
|
`middleware` (an express middleware). The default `method` is `use`.
|
|
272
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Server4Test, Server4TestOpts } from './server4test';
|
|
2
|
+
export declare const BROWSER_TEST_PAGE_PATH = "/server4test-browser-test";
|
|
3
|
+
export declare const BROWSER_TEST_RESULT_PATH = "/server4test-browser-result";
|
|
4
|
+
export declare const BROWSER_TEST_TIMEOUT_DEFAULT = 120000;
|
|
5
|
+
export type BrowserTestOpts = {
|
|
6
|
+
files: string[];
|
|
7
|
+
timeout?: number;
|
|
8
|
+
};
|
|
9
|
+
export type BrowserTestFailure = {
|
|
10
|
+
title: string;
|
|
11
|
+
message: string;
|
|
12
|
+
stack?: string;
|
|
13
|
+
};
|
|
14
|
+
export type BrowserTestReport = {
|
|
15
|
+
userAgent: string;
|
|
16
|
+
console: {
|
|
17
|
+
level: string;
|
|
18
|
+
text: string;
|
|
19
|
+
}[];
|
|
20
|
+
loadErrors: string[];
|
|
21
|
+
errors: string[];
|
|
22
|
+
finished: boolean;
|
|
23
|
+
tests: number;
|
|
24
|
+
passes: number;
|
|
25
|
+
pending: number;
|
|
26
|
+
failures: BrowserTestFailure[];
|
|
27
|
+
};
|
|
28
|
+
export type BrowserName = 'chrome' | 'firefox';
|
|
29
|
+
export declare function isBrowserName(name: string): name is BrowserName;
|
|
30
|
+
export declare function browserTestPage(baseUrl: string, browserTest: BrowserTestOpts): string;
|
|
31
|
+
export declare function parseBrowserTestReport(body: unknown): BrowserTestReport;
|
|
32
|
+
/** prints the report and returns true if all is ok */
|
|
33
|
+
export declare function printBrowserTestReport(report: BrowserTestReport, label: string): boolean;
|
|
34
|
+
/** runs the browser test in each browser (comma separated list), returns true if all is ok */
|
|
35
|
+
export declare function runBrowsers(ServerConstructor: typeof Server4Test, opts: Server4TestOpts, browserList: string | undefined): Promise<boolean>;
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BROWSER_TEST_TIMEOUT_DEFAULT = exports.BROWSER_TEST_RESULT_PATH = exports.BROWSER_TEST_PAGE_PATH = void 0;
|
|
4
|
+
exports.isBrowserName = isBrowserName;
|
|
5
|
+
exports.browserTestPage = browserTestPage;
|
|
6
|
+
exports.parseBrowserTestReport = parseBrowserTestReport;
|
|
7
|
+
exports.printBrowserTestReport = printBrowserTestReport;
|
|
8
|
+
exports.runBrowsers = runBrowsers;
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const os = require("os");
|
|
12
|
+
const Path = require("path");
|
|
13
|
+
exports.BROWSER_TEST_PAGE_PATH = '/server4test-browser-test';
|
|
14
|
+
exports.BROWSER_TEST_RESULT_PATH = '/server4test-browser-result';
|
|
15
|
+
exports.BROWSER_TEST_TIMEOUT_DEFAULT = 120000;
|
|
16
|
+
function inProgramFiles(relativePath) {
|
|
17
|
+
return [process.env.PROGRAMFILES, process.env['PROGRAMFILES(X86)'], process.env.LOCALAPPDATA]
|
|
18
|
+
.filter((dir) => !!dir)
|
|
19
|
+
.map(dir => Path.join(dir, relativePath));
|
|
20
|
+
}
|
|
21
|
+
function inPath(names) {
|
|
22
|
+
var dirs = (process.env.PATH || '').split(Path.delimiter).filter(dir => !!dir);
|
|
23
|
+
var result = [];
|
|
24
|
+
names.forEach(name => dirs.forEach(dir => result.push(Path.join(dir, name))));
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
const BROWSERS = {
|
|
28
|
+
chrome: {
|
|
29
|
+
envVar: 'CHROME_BIN',
|
|
30
|
+
candidates: () => process.platform == 'win32' ? inProgramFiles('Google\\Chrome\\Application\\chrome.exe') :
|
|
31
|
+
process.platform == 'darwin' ? ['/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'] :
|
|
32
|
+
inPath(['google-chrome', 'google-chrome-stable', 'chromium', 'chromium-browser']),
|
|
33
|
+
args: (profileDir, url) => [
|
|
34
|
+
'--headless', '--user-data-dir=' + profileDir, '--no-first-run', '--no-default-browser-check',
|
|
35
|
+
'--disable-gpu', '--disable-extensions', url
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
firefox: {
|
|
39
|
+
envVar: 'FIREFOX_BIN',
|
|
40
|
+
candidates: () => process.platform == 'win32' ? inProgramFiles('Mozilla Firefox\\firefox.exe') :
|
|
41
|
+
process.platform == 'darwin' ? ['/Applications/Firefox.app/Contents/MacOS/firefox'] :
|
|
42
|
+
inPath(['firefox']),
|
|
43
|
+
args: (profileDir, url) => ['-headless', '-no-remote', '-wait-for-browser', '-profile', profileDir, url]
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
function isBrowserName(name) {
|
|
47
|
+
return Object.prototype.hasOwnProperty.call(BROWSERS, name);
|
|
48
|
+
}
|
|
49
|
+
function findExecutable(browser) {
|
|
50
|
+
var def = BROWSERS[browser];
|
|
51
|
+
var fromEnv = process.env[def.envVar];
|
|
52
|
+
if (fromEnv) {
|
|
53
|
+
if (!(0, fs_1.existsSync)(fromEnv)) {
|
|
54
|
+
throw new Error(`server4test: ${def.envVar}=${fromEnv} does not exist`);
|
|
55
|
+
}
|
|
56
|
+
return fromEnv;
|
|
57
|
+
}
|
|
58
|
+
var candidates = def.candidates();
|
|
59
|
+
var found = candidates.find(candidate => (0, fs_1.existsSync)(candidate));
|
|
60
|
+
if (found == null) {
|
|
61
|
+
throw new Error(`server4test: ${browser} not found. Set ${def.envVar}. Searched in: ${candidates.join(', ')}`);
|
|
62
|
+
}
|
|
63
|
+
return found;
|
|
64
|
+
}
|
|
65
|
+
function escapeHtmlAttr(text) {
|
|
66
|
+
return text.replace(/&/g, '&').replace(/"/g, '"').replace(/</g, '<');
|
|
67
|
+
}
|
|
68
|
+
function jsonForScript(value) {
|
|
69
|
+
return JSON.stringify(value).replace(/</g, '\\u003c');
|
|
70
|
+
}
|
|
71
|
+
function browserTestPage(baseUrl, browserTest) {
|
|
72
|
+
var url = (file) => escapeHtmlAttr(encodeURI(baseUrl + '/' + file.replace(/\\/g, '/').replace(/^\.?\//, '')));
|
|
73
|
+
return `<!doctype html>
|
|
74
|
+
<html>
|
|
75
|
+
<head>
|
|
76
|
+
<meta charset="utf-8">
|
|
77
|
+
<title>server4test browser test</title>
|
|
78
|
+
<link rel="stylesheet" href="${url('node_modules/mocha/mocha.css')}">
|
|
79
|
+
<script>
|
|
80
|
+
(function(){
|
|
81
|
+
var report = {userAgent: navigator.userAgent, console: [], loadErrors: [], errors: [], finished: false, tests: 0, passes: 0, pending: 0, failures: []};
|
|
82
|
+
window.server4testReport = report;
|
|
83
|
+
function asText(x){
|
|
84
|
+
if(typeof x === 'string') return x;
|
|
85
|
+
if(x instanceof Error) return x.stack || String(x);
|
|
86
|
+
if(x instanceof Date) return String(x);
|
|
87
|
+
try{
|
|
88
|
+
return JSON.stringify(x);
|
|
89
|
+
}catch(err){
|
|
90
|
+
return String(x);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
['log', 'info', 'warn', 'error', 'debug'].forEach(function(level){
|
|
94
|
+
var original = console[level];
|
|
95
|
+
console[level] = function(){
|
|
96
|
+
report.console.push({level: level, text: Array.prototype.map.call(arguments, asText).join(' ')});
|
|
97
|
+
return original.apply(console, arguments);
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
window.addEventListener('error', function(event){
|
|
101
|
+
var target = event.target;
|
|
102
|
+
if(target && target.tagName && (target.tagName == 'SCRIPT' || target.tagName == 'LINK')){
|
|
103
|
+
report.loadErrors.push(target.src || target.href);
|
|
104
|
+
}else{
|
|
105
|
+
report.errors.push((event.message || 'error') + ' at ' + event.filename + ':' + event.lineno + (event.error && event.error.stack ? '\\n' + event.error.stack : ''));
|
|
106
|
+
}
|
|
107
|
+
}, true);
|
|
108
|
+
})();
|
|
109
|
+
</script>
|
|
110
|
+
</head>
|
|
111
|
+
<body>
|
|
112
|
+
<div id="mocha"></div>
|
|
113
|
+
<script src="${url('node_modules/mocha/mocha.js')}"></script>
|
|
114
|
+
<script>
|
|
115
|
+
if(typeof mocha !== 'undefined') mocha.setup({ui: 'bdd'});
|
|
116
|
+
</script>
|
|
117
|
+
${browserTest.files.map(file => `<script src="${url(file)}"></script>`).join('\n')}
|
|
118
|
+
<script>
|
|
119
|
+
(function(){
|
|
120
|
+
var report = window.server4testReport;
|
|
121
|
+
var runId = new URLSearchParams(location.search).get('run');
|
|
122
|
+
function send(){
|
|
123
|
+
report.finished = true;
|
|
124
|
+
fetch(${jsonForScript(baseUrl + exports.BROWSER_TEST_RESULT_PATH)} + (runId ? '?run=' + encodeURIComponent(runId) : ''), {
|
|
125
|
+
method: 'POST',
|
|
126
|
+
headers: {'Content-Type': 'application/json'},
|
|
127
|
+
body: JSON.stringify(report)
|
|
128
|
+
}).then(function(response){
|
|
129
|
+
if(!response.ok) throw new Error('server4test: result not accepted, status ' + response.status);
|
|
130
|
+
}).catch(function(err){
|
|
131
|
+
document.title = 'server4test: ' + err.message;
|
|
132
|
+
alert('server4test: ' + err.message);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
if(typeof mocha === 'undefined'){
|
|
136
|
+
send();
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
var runner = mocha.run();
|
|
140
|
+
runner.on('test end', function(){ report.tests++; });
|
|
141
|
+
runner.on('pass', function(){ report.passes++; });
|
|
142
|
+
runner.on('pending', function(){ report.pending++; });
|
|
143
|
+
runner.on('fail', function(test, err){
|
|
144
|
+
report.failures.push({title: test.fullTitle(), message: String(err && err.message), stack: err && err.stack});
|
|
145
|
+
});
|
|
146
|
+
runner.on('end', send);
|
|
147
|
+
})();
|
|
148
|
+
</script>
|
|
149
|
+
</body>
|
|
150
|
+
</html>
|
|
151
|
+
`;
|
|
152
|
+
}
|
|
153
|
+
function isObject(x) {
|
|
154
|
+
return typeof x === 'object' && x !== null;
|
|
155
|
+
}
|
|
156
|
+
function asStringArray(x, name) {
|
|
157
|
+
if (!Array.isArray(x) || !x.every(item => typeof item === 'string')) {
|
|
158
|
+
throw new Error(`server4test: invalid browser test report, ${name} must be an array of strings`);
|
|
159
|
+
}
|
|
160
|
+
return x;
|
|
161
|
+
}
|
|
162
|
+
function asNumber(x, name) {
|
|
163
|
+
if (typeof x !== 'number') {
|
|
164
|
+
throw new Error(`server4test: invalid browser test report, ${name} must be a number`);
|
|
165
|
+
}
|
|
166
|
+
return x;
|
|
167
|
+
}
|
|
168
|
+
function parseBrowserTestReport(body) {
|
|
169
|
+
if (!isObject(body)) {
|
|
170
|
+
throw new Error('server4test: invalid browser test report, must be an object');
|
|
171
|
+
}
|
|
172
|
+
if (!Array.isArray(body.console) || !body.console.every(line => isObject(line) && typeof line.level === 'string' && typeof line.text === 'string')) {
|
|
173
|
+
throw new Error('server4test: invalid browser test report, console must be an array of {level, text}');
|
|
174
|
+
}
|
|
175
|
+
if (!Array.isArray(body.failures) || !body.failures.every(failure => isObject(failure) && typeof failure.title === 'string' && typeof failure.message === 'string' && (failure.stack == null || typeof failure.stack === 'string'))) {
|
|
176
|
+
throw new Error('server4test: invalid browser test report, failures must be an array of {title, message, stack}');
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
userAgent: String(body.userAgent),
|
|
180
|
+
console: body.console,
|
|
181
|
+
loadErrors: asStringArray(body.loadErrors, 'loadErrors'),
|
|
182
|
+
errors: asStringArray(body.errors, 'errors'),
|
|
183
|
+
finished: body.finished === true,
|
|
184
|
+
tests: asNumber(body.tests, 'tests'),
|
|
185
|
+
passes: asNumber(body.passes, 'passes'),
|
|
186
|
+
pending: asNumber(body.pending, 'pending'),
|
|
187
|
+
failures: body.failures
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
/** prints the report and returns true if all is ok */
|
|
191
|
+
function printBrowserTestReport(report, label) {
|
|
192
|
+
console.log(`[${label}] ${report.userAgent}`);
|
|
193
|
+
report.console.forEach(line => console.log(`[${label}] ${line.level == 'log' ? '' : line.level + ': '}${line.text}`));
|
|
194
|
+
report.loadErrors.forEach(src => console.error(`[${label}] can not load: ${src}`));
|
|
195
|
+
report.errors.forEach(error => console.error(`[${label}] error: ${error}`));
|
|
196
|
+
report.failures.forEach((failure, i) => {
|
|
197
|
+
console.error(`[${label}] ${i + 1}) ${failure.title}`);
|
|
198
|
+
console.error(`[${label}] ${failure.stack || failure.message}`);
|
|
199
|
+
});
|
|
200
|
+
var ok = !report.loadErrors.length && !report.errors.length && !report.failures.length && report.tests > 0;
|
|
201
|
+
console.log(`[${label}] ${ok ? 'OK' : 'FAILED'}: ${report.tests} tests, ${report.passes} passing, ${report.failures.length} failing, ${report.pending} pending`);
|
|
202
|
+
if (report.tests == 0) {
|
|
203
|
+
console.error(`[${label}] no tests were run`);
|
|
204
|
+
}
|
|
205
|
+
return ok;
|
|
206
|
+
}
|
|
207
|
+
async function stopProcess(child) {
|
|
208
|
+
if (child.exitCode !== null || child.signalCode !== null)
|
|
209
|
+
return;
|
|
210
|
+
await new Promise(resolve => {
|
|
211
|
+
var timer = setTimeout(() => {
|
|
212
|
+
console.error('server4test: the browser process does not finish');
|
|
213
|
+
resolve();
|
|
214
|
+
}, 10000);
|
|
215
|
+
child.once('exit', () => {
|
|
216
|
+
clearTimeout(timer);
|
|
217
|
+
resolve();
|
|
218
|
+
});
|
|
219
|
+
child.kill();
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
async function runBrowser(server, baseUrl, browser, timeout) {
|
|
223
|
+
var executable = findExecutable(browser);
|
|
224
|
+
var profileDir = await fs_1.promises.mkdtemp(Path.join(os.tmpdir(), 'server4test-' + browser + '-'));
|
|
225
|
+
var runId = browser + '-' + Date.now();
|
|
226
|
+
var url = baseUrl + exports.BROWSER_TEST_PAGE_PATH + '?run=' + encodeURIComponent(runId);
|
|
227
|
+
var child = null;
|
|
228
|
+
var stderr = '';
|
|
229
|
+
console.log(`[${browser}] ${executable} ${url}`);
|
|
230
|
+
try {
|
|
231
|
+
var browserProcess = (0, child_process_1.spawn)(executable, BROWSERS[browser].args(profileDir, url), { stdio: ['ignore', 'ignore', 'pipe'] });
|
|
232
|
+
child = browserProcess;
|
|
233
|
+
var report = await new Promise((resolve, reject) => {
|
|
234
|
+
var _a;
|
|
235
|
+
var timer = setTimeout(() => reject(new Error(`server4test: timeout (${timeout}ms) waiting for ${browser} results`)), timeout);
|
|
236
|
+
server.browserTestListeners.set(runId, (report) => {
|
|
237
|
+
clearTimeout(timer);
|
|
238
|
+
resolve(report);
|
|
239
|
+
});
|
|
240
|
+
(_a = browserProcess.stderr) === null || _a === void 0 ? void 0 : _a.on('data', (chunk) => {
|
|
241
|
+
stderr = (stderr + chunk.toString()).slice(-8000);
|
|
242
|
+
});
|
|
243
|
+
browserProcess.on('error', (err) => {
|
|
244
|
+
clearTimeout(timer);
|
|
245
|
+
reject(err);
|
|
246
|
+
});
|
|
247
|
+
browserProcess.on('exit', (code, signal) => {
|
|
248
|
+
clearTimeout(timer);
|
|
249
|
+
reject(new Error(`server4test: ${browser} finished (code ${code}, signal ${signal}) before sending results`));
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
return printBrowserTestReport(report, browser);
|
|
253
|
+
}
|
|
254
|
+
catch (err) {
|
|
255
|
+
console.error(`[${browser}]`, err);
|
|
256
|
+
if (stderr) {
|
|
257
|
+
console.error(`[${browser}] browser stderr:\n${stderr}`);
|
|
258
|
+
}
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
finally {
|
|
262
|
+
server.browserTestListeners.delete(runId);
|
|
263
|
+
if (child) {
|
|
264
|
+
await stopProcess(child);
|
|
265
|
+
}
|
|
266
|
+
try {
|
|
267
|
+
await fs_1.promises.rm(profileDir, { recursive: true, force: true, maxRetries: 10, retryDelay: 300 });
|
|
268
|
+
}
|
|
269
|
+
catch (err) {
|
|
270
|
+
console.error(`[${browser}] server4test: can not remove the temporary profile ${profileDir}`, err);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/** runs the browser test in each browser (comma separated list), returns true if all is ok */
|
|
275
|
+
async function runBrowsers(ServerConstructor, opts, browserList) {
|
|
276
|
+
var _a;
|
|
277
|
+
var browserTest = opts["browser-test"];
|
|
278
|
+
if (browserTest == null) {
|
|
279
|
+
console.error('server4test: --run-browser needs "browser-test" in server4test-config');
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
if (!browserList) {
|
|
283
|
+
console.error('server4test: --run-browser needs a browser list, i.e.: --run-browser chrome,firefox');
|
|
284
|
+
return false;
|
|
285
|
+
}
|
|
286
|
+
var browsers = browserList.split(',');
|
|
287
|
+
var unknown = browsers.filter(browser => !isBrowserName(browser));
|
|
288
|
+
if (unknown.length) {
|
|
289
|
+
console.error(`server4test: unknown browser ${unknown.join(', ')}. Valid browsers: ${Object.keys(BROWSERS).join(', ')}`);
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
var server = new ServerConstructor(Object.assign(Object.assign({}, opts), { port: 0 }));
|
|
293
|
+
await server.start();
|
|
294
|
+
try {
|
|
295
|
+
var address = server.listener.address();
|
|
296
|
+
if (!isObject(address) || typeof address.port !== 'number') {
|
|
297
|
+
throw new Error('server4test: can not get the server port');
|
|
298
|
+
}
|
|
299
|
+
var baseUrl = 'http://localhost:' + address.port + opts["base-url"];
|
|
300
|
+
var ok = true;
|
|
301
|
+
for (var browser of browsers.filter(isBrowserName)) {
|
|
302
|
+
ok = await runBrowser(server, baseUrl, browser, (_a = browserTest.timeout) !== null && _a !== void 0 ? _a : exports.BROWSER_TEST_TIMEOUT_DEFAULT) && ok;
|
|
303
|
+
}
|
|
304
|
+
return ok;
|
|
305
|
+
}
|
|
306
|
+
finally {
|
|
307
|
+
await server.closeServer();
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
//# sourceMappingURL=browser-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-runner.js","sourceRoot":"","sources":["../src/browser-runner.ts"],"names":[],"mappings":"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"}
|
package/lib/server4test.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as express from 'express';
|
|
2
2
|
import * as serveContent from 'serve-content';
|
|
3
3
|
import * as serveIndex from 'serve-index';
|
|
4
|
+
import { BrowserTestOpts, BrowserTestReport } from './browser-runner';
|
|
4
5
|
type RequestDefinition = {
|
|
5
6
|
method: 'get' | 'post' | 'put' | 'delete' | 'use';
|
|
6
7
|
path: string;
|
|
@@ -25,6 +26,7 @@ export type Server4TestOpts = {
|
|
|
25
26
|
deleteRequest: RequestDefinition;
|
|
26
27
|
};
|
|
27
28
|
"serve-index": serveIndex.Options;
|
|
29
|
+
"browser-test"?: BrowserTestOpts;
|
|
28
30
|
};
|
|
29
31
|
export declare type Request = express.Request;
|
|
30
32
|
export declare type Response = express.Response;
|
|
@@ -42,6 +44,7 @@ export declare class Server4Test {
|
|
|
42
44
|
opts: Server4TestOpts;
|
|
43
45
|
port: number;
|
|
44
46
|
listener: any;
|
|
47
|
+
browserTestListeners: Map<string, (report: BrowserTestReport) => void>;
|
|
45
48
|
constructor(opts: Partial<Server4TestOpts>);
|
|
46
49
|
start(): Promise<void>;
|
|
47
50
|
webPackService(webPackOptions: any, webpackDevMiddlewareOptions?: any): any;
|
|
@@ -58,6 +61,7 @@ export declare class Server4Test {
|
|
|
58
61
|
path: string;
|
|
59
62
|
}[];
|
|
60
63
|
directServices(): Array<ServiceDef>;
|
|
64
|
+
browserTestServices(browserTest: BrowserTestOpts): ServiceDef[];
|
|
61
65
|
serveIndex4Test(baseUrl: string, path: string): void;
|
|
62
66
|
closeServer(): Promise<void>;
|
|
63
67
|
}
|
package/lib/server4test.js
CHANGED
|
@@ -19,6 +19,7 @@ const fs = require("fs-extra");
|
|
|
19
19
|
const fs_1 = require("fs");
|
|
20
20
|
const Path = require("path");
|
|
21
21
|
const cast_error_1 = require("cast-error");
|
|
22
|
+
const browser_runner_1 = require("./browser-runner");
|
|
22
23
|
exports.CONFIG_DEFAULT = {
|
|
23
24
|
port: 8080,
|
|
24
25
|
verbose: true,
|
|
@@ -74,6 +75,7 @@ serveContent.transformer.styl = (0, best_globals_1.changing)(serveContent.transf
|
|
|
74
75
|
class Server4Test {
|
|
75
76
|
constructor(opts) {
|
|
76
77
|
this.port = 3000;
|
|
78
|
+
this.browserTestListeners = new Map();
|
|
77
79
|
this.app = express();
|
|
78
80
|
this.opts = (0, best_globals_1.changing)(exports.CONFIG_DEFAULT, opts);
|
|
79
81
|
this.app.use(cookieParser());
|
|
@@ -127,8 +129,18 @@ class Server4Test {
|
|
|
127
129
|
});
|
|
128
130
|
}
|
|
129
131
|
webPackService(webPackOptions, webpackDevMiddlewareOptions) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
+
var webpack, middleware;
|
|
133
|
+
try {
|
|
134
|
+
webpack = require('webpack');
|
|
135
|
+
middleware = require('webpack-dev-middleware');
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
var error = (0, cast_error_1.unexpected)(err);
|
|
139
|
+
if (error.code == 'MODULE_NOT_FOUND') {
|
|
140
|
+
throw new Error("server4test: webpack.config.js found but webpack and webpack-dev-middleware are optional and not installed. Use: npm install --save-dev webpack webpack-dev-middleware. " + error.message);
|
|
141
|
+
}
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
132
144
|
const compiler = webpack(webPackOptions || {
|
|
133
145
|
// webpack options
|
|
134
146
|
});
|
|
@@ -228,8 +240,39 @@ class Server4Test {
|
|
|
228
240
|
services = [...services, ...this.fileServices()];
|
|
229
241
|
console.log('services', services);
|
|
230
242
|
}
|
|
243
|
+
if (this.opts["browser-test"]) {
|
|
244
|
+
services = [...services, ...this.browserTestServices(this.opts["browser-test"])];
|
|
245
|
+
}
|
|
231
246
|
return services;
|
|
232
247
|
}
|
|
248
|
+
browserTestServices(browserTest) {
|
|
249
|
+
var jsonParser = express.json({ limit: '10mb' });
|
|
250
|
+
return [
|
|
251
|
+
{ path: browser_runner_1.BROWSER_TEST_PAGE_PATH, method: 'get', html: (0, browser_runner_1.browserTestPage)(this.opts["base-url"], browserTest) },
|
|
252
|
+
{ path: browser_runner_1.BROWSER_TEST_RESULT_PATH, method: 'post', middleware: (req, res) => {
|
|
253
|
+
jsonParser(req, res, (err) => {
|
|
254
|
+
try {
|
|
255
|
+
if (err)
|
|
256
|
+
throw err;
|
|
257
|
+
var report = (0, browser_runner_1.parseBrowserTestReport)(req.body);
|
|
258
|
+
var runId = typeof req.query.run === "string" ? req.query.run : null;
|
|
259
|
+
var listener = runId == null ? undefined : this.browserTestListeners.get(runId);
|
|
260
|
+
if (listener) {
|
|
261
|
+
listener(report);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
(0, browser_runner_1.printBrowserTestReport)(report, 'browser');
|
|
265
|
+
}
|
|
266
|
+
res.send('ok');
|
|
267
|
+
}
|
|
268
|
+
catch (err) {
|
|
269
|
+
console.error('server4test: invalid browser test report', err);
|
|
270
|
+
res.status(400).send('invalid browser test report');
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
} },
|
|
274
|
+
];
|
|
275
|
+
}
|
|
233
276
|
serveIndex4Test(baseUrl, path) {
|
|
234
277
|
var server = this;
|
|
235
278
|
server.app.use(baseUrl + '/', function (req, res, next) {
|
|
@@ -274,7 +317,7 @@ class Server4Test {
|
|
|
274
317
|
exports.Server4Test = Server4Test;
|
|
275
318
|
async function launch(opts) {
|
|
276
319
|
var _a, e_1, _b, _c;
|
|
277
|
-
var _d, _e, _f, _g, _h;
|
|
320
|
+
var _d, _e, _f, _g, _h, _j;
|
|
278
321
|
var config = await MiniTools.readConfig([
|
|
279
322
|
{
|
|
280
323
|
serverClass: Server4Test,
|
|
@@ -285,6 +328,11 @@ async function launch(opts) {
|
|
|
285
328
|
'local-config',
|
|
286
329
|
], { whenNotExist: 'ignore' });
|
|
287
330
|
var ServerConstructor = config.serverClass;
|
|
331
|
+
var runBrowserIndex = process.argv.indexOf('--run-browser');
|
|
332
|
+
if (runBrowserIndex >= 0) {
|
|
333
|
+
process.exitCode = await (0, browser_runner_1.runBrowsers)(ServerConstructor, (0, best_globals_1.changing)(exports.CONFIG_DEFAULT, config.server4test), process.argv[runBrowserIndex + 1]) ? 0 : 1;
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
288
336
|
var server = new ServerConstructor(config.server4test);
|
|
289
337
|
server.start();
|
|
290
338
|
if (config.server4test.verbose) {
|
|
@@ -292,25 +340,28 @@ async function launch(opts) {
|
|
|
292
340
|
console.dir(config, { depth: 6 });
|
|
293
341
|
}
|
|
294
342
|
console.log('server listening at', 'http://localhost:' + server.port + ((_d = config.server4test['base-url']) !== null && _d !== void 0 ? _d : '') + '?dir');
|
|
343
|
+
if (config.server4test['browser-test']) {
|
|
344
|
+
console.log('browser test at', 'http://localhost:' + server.port + ((_e = config.server4test['base-url']) !== null && _e !== void 0 ? _e : '') + browser_runner_1.BROWSER_TEST_PAGE_PATH);
|
|
345
|
+
}
|
|
295
346
|
if (!config.server4test['server4test-directory']) {
|
|
296
347
|
console.error('server4test-directory is not set to true');
|
|
297
348
|
console.warn('try', 'server4test --super-insecure');
|
|
298
349
|
var dir = await fs.opendir('.');
|
|
299
350
|
try {
|
|
300
|
-
for (var
|
|
351
|
+
for (var _k = true, dir_1 = __asyncValues(dir), dir_1_1; dir_1_1 = await dir_1.next(), _a = dir_1_1.done, !_a; _k = true) {
|
|
301
352
|
_c = dir_1_1.value;
|
|
302
|
-
|
|
353
|
+
_k = false;
|
|
303
354
|
const dirent = _c;
|
|
304
355
|
var ext = Path.extname(dirent.name);
|
|
305
|
-
if (((
|
|
306
|
-
console.log(' localhost:' + server.port + ((
|
|
356
|
+
if (((_f = config.server4test['serve-content']) === null || _f === void 0 ? void 0 : _f.allowAllExts) || ext && ((_h = (_g = config.server4test['serve-content']) === null || _g === void 0 ? void 0 : _g.allowedExts) === null || _h === void 0 ? void 0 : _h.includes(ext))) {
|
|
357
|
+
console.log(' localhost:' + server.port + ((_j = config.server4test['base-url']) !== null && _j !== void 0 ? _j : '') + '/' + dirent.name);
|
|
307
358
|
}
|
|
308
359
|
}
|
|
309
360
|
}
|
|
310
361
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
311
362
|
finally {
|
|
312
363
|
try {
|
|
313
|
-
if (!
|
|
364
|
+
if (!_k && !_a && (_b = dir_1.return)) await _b.call(dir_1);
|
|
314
365
|
}
|
|
315
366
|
finally { if (e_1) throw e_1.error; }
|
|
316
367
|
}
|
package/lib/server4test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server4test.js","sourceRoot":"","sources":["../src/server4test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server4test.js","sourceRoot":"","sources":["../src/server4test.ts"],"names":[],"mappings":";;;;;;;;;;AA0WA,wBAqCC;AA/YD,mCAAwC;AACxC,8CAA8C;AAC9C,wCAA2C;AAC3C,8CAA8C;AAC9C,0CAA4C;AAC5C,+CAA6C;AAC7C,+BAAyC;AACzC,2BAAmC;AACnC,6BAAqC;AACrC,2CAA2C;AAC3C,qDAG0B;AAMb,QAAA,cAAc,GAAiB;IACxC,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,eAAe,EAAC;QACZ,YAAY,EAAC,KAAK;QAClB,WAAW,EAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;YACpI,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;YAChF,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;SACnG;QACD;;;UAGE;KACL;IACD,UAAU,EAAC,EAAE;IACb,IAAI,EAAC,KAAK;IACV,uBAAuB,EAAC,KAAK;IAC7B,iBAAiB,EAAC;QACd,OAAO,EAAE,KAAK;QACd,KAAK,EAAC,GAAG;QACT,SAAS,EAAE,iBAAiB;QAC5B,WAAW,EAAC;YACR,MAAM,EAAC,KAAK;YACZ,IAAI,EAAC,YAAY;SACpB;QACD,YAAY,EAAC;YACT,MAAM,EAAC,KAAK;YACZ,IAAI,EAAC,aAAa;SACrB;QACD,aAAa,EAAC;YACV,MAAM,EAAC,KAAK;YACZ,IAAI,EAAC,cAAc;SACtB;KACJ;IACD,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,SAAS,EAAC;CAC/C,CAAC;AAEW,QAAA,qBAAqB,mCAC3B,sBAAc,KACjB,eAAe,EAAC;QACZ,YAAY,EAAC,IAAI;QACjB,WAAW,EAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;QAClI,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC;QAC9C;;;UAGE;KACL,EACD,uBAAuB,EAAC,IAAI,EAC5B,iBAAiB,kCACV,sBAAc,CAAC,iBAAiB,CAAC,KACpC,OAAO,EAAE,IAAI,KAEjB,aAAa,kCACN,sBAAc,CAAC,aAAa,CAAC,KAChC,MAAM,EAAC,IAAI,OAEjB;AAuBF,IAAI,eAAe,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CACtI,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,IAAI,MAAM,CAClD,CAAC;AACF,IAAG,eAAe,IAAI,IAAI,EAAC,CAAC;IACxB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;AACzF,CAAC;AACD,YAAY,CAAC,WAAW,CAAC,IAAI,GAAG,IAAA,uBAAQ,EAAC,eAAe,EAAC,EAAC,wBAAwB,CAAC,UAAU,EAAC,aAAa,EAAC,CAAC,CAAC;AAC9G,YAAY,CAAC,WAAW,CAAC,IAAI,GAAG,IAAA,uBAAQ,EAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAC,EAAC,wBAAwB,CAAC,UAAU,EAAC,aAAa,EAAC,CAAC,CAAC;AAc3H,MAAa,WAAW;IAMpB,YAAY,IAA6B;QAHzC,SAAI,GAAQ,IAAI,CAAC;QAEjB,yBAAoB,GAAG,IAAI,GAAG,EAA4C,CAAC;QAEvE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAA,uBAAQ,EAAC,sBAAc,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,CAAC,KAAK;QACP,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,mBAAmB,GAAC,IAAA,uBAAQ,EAAC;YAC7B,WAAW,EAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC;YAC3I;;;;;cAKE;YACF,aAAa,EAAC,EAAC,WAAW,EAAC,MAAM,EAAC;YAClC,aAAa,EAAC,EAAC,WAAW,EAAC,MAAM,EAAC;SACzC,EAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,UAAS,UAAU;YAC7C,IAAI,UAAU,GAAG,YAAY,IAAI,UAAU,CAAA,CAAC,CAAA,UAAU,CAAC,UAAU,CAAA,CAAC,CAAA,UAAS,GAAW,EAAE,GAAY;gBAChG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;YACzD,CAAC,CAAC;YACF,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,IAAE,KAAK,CAAA;YACrC,IAAG,UAAU,CAAC,IAAI,EAAC,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;YAC7E,CAAC;iBAAI,CAAC;gBACF,IAAG,MAAM,IAAE,KAAK,EAAC,CAAC;oBACd,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAC,GAAG,CAAC,EAAC,UAAU,CAAC,CAAC;YAChE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,GAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChK,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAC,EAAE;YACrB,IAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC;gBACzC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAC,GAAG,EAAC,YAAY,CAAC,IAAI,EAAC,mBAAmB,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,OAAO,CAAO,UAAS,OAAO,EAAE,MAAM;YAC5C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAS,KAAY;gBAClE,IAAG,KAAK,EAAC,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;qBAAI,CAAC;oBACF,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IACD,cAAc,CAAC,cAAkB,EAAE,2BAAgC;QAC/D,IAAI,OAAO,EAAE,UAAU,CAAC;QACxB,IAAG,CAAC;YACA,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7B,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC;QAAA,OAAM,GAAG,EAAC,CAAC;YACR,IAAI,KAAK,GAAG,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC;YAC5B,IAAG,KAAK,CAAC,IAAI,IAAE,kBAAkB,EAAC,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,0KAA0K,GAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9M,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,IAAE;QACzC,kBAAkB;SACjB,CAAC,CAAC;QACH,sCAAsC;QACtC,yBAAyB;QACzB,OAAO,UAAU,CAAC,QAAQ,EAAE,2BAA2B,IAAE;YACrD,UAAU,EAAC,OAAO;YAClB,OAAO,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;YACrC,iCAAiC;SACpC,CAAC,CAAA;IACN,CAAC;IACD,uBAAuB,CACnB,GAA4G;QAE5G,OAAO,KAAK,EAAE,GAAW,EAAE,GAAY,EAAC,EAAE;YACtC,IAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;YACD,IAAG,CAAC;gBACA,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAE,GAAG,CAAC,CAAC,CAAC;gBACrE,IAAG,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC3E,IAAG,GAAG,CAAC,KAAK,CAAC,OAAO,IAAE,IAAI,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC/G,IAAI,QAAQ,GAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAC,GAAG,CAAC,CAAC,CAAC;gBAC/G,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAC,EAAC,OAAO,EAAC,GAAG,CAAC,KAAK,CAAC,OAAiB,EAAC,CAAC,CAAC;gBACvE,IAAI,IAAI,mCAAO,MAAM,KAAE,SAAS,EAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAC,CAAA;gBACvF,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAE,GAAG,CAAC,CAAC,CAAC;gBACrE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/B,GAAG,CAAC,GAAG,EAAE,CAAC;YACd,CAAC;YAAA,OAAM,GAAG,EAAC,CAAC;gBACR,IAAI,KAAK,GAAG,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxC,GAAG,CAAC,UAAU,GAAC,KAAK,CAAC,IAAI,IAAE,QAAQ,CAAA,CAAC,CAAA,GAAG,CAAA,CAAC,CAAA,GAAG,CAAC;gBAC5C,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzB,GAAG,CAAC,GAAG,EAAE,CAAC;YACd,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IACD,KAAK,CAAC,oBAAoB;QACtB,IAAG,CAAC;YACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC;QAAA,OAAM,GAAG,EAAC,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IACD,YAAY;QACR,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO;4CACC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,KAAE,UAAU,EAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAe,EAAC,EAAE;oBAC3G,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBACjD,OAAO,EAAC,OAAO,EAAC,CAAC;gBACrB,CAAC,CAAC;4CACE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,YAAY,KAAE,UAAU,EAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAe,EAAE,EAAC,OAAO,EAAC,EAAC,EAAE;oBACvH,IAAI,OAAO,IAAI,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;oBAChF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;oBAC7C,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC;4CACE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,aAAa,KAAE,UAAU,EAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAe,EAAC,EAAE;oBAC7G,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBACzB,OAAO,EAAC,SAAS,EAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC;gBAC5C,CAAC,CAAC;SACL,CAAA;IACL,CAAC;IACD,cAAc;QACV,IAAI,QAAQ,GAAgB,EAAE,CAAC;QAC/B,IAAG,IAAA,eAAU,EAAC,qBAAqB,CAAC,EAAC,CAAC;YAClC,IAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;YAC1C,CAAC;YACD,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,UAAU,EAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAC,CAAC,CAAA;QACrE,CAAC;QACD,IAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC;YACf,IAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAC/B,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,OAAO,EAAE,MAAM,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,GAAW,EAAE,GAAY,EAAE,KAAmB,EAAC,EAAE;oBACpG,IAAI,MAAM,GAAC,QACP;wBACI,EAAC,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,GAAG,CAAC,KAAK,EAAC;wBACxB,EAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,GAAG,CAAC,IAAI,EAAC;wBACtB,EAAC,CAAC,EAAC,SAAS,EAAE,CAAC,EAAC,GAAG,CAAC,OAAO,EAAC;wBAC5B,EAAC,CAAC,EAAC,SAAS,EAAE,CAAC,EAAC,GAAG,CAAC,OAAO,EAAC;wBAC5B,EAAC,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,GAAG,CAAC,EAAE,EAAC;wBAClB,EAAC,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,GAAG,CAAC,GAAG,EAAC;wBACpB,EAAC,CAAC,EAAC,aAAa,EAAE,CAAC,EAAC,GAAG,CAAC,WAAW,EAAC;wBACpC,EAAC,CAAC,EAAC,aAAa,EAAE,CAAC,EAAC,GAAG,CAAC,WAAW,EAAC;wBACpC,EAAC,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,GAAG,CAAC,GAAG,EAAC;wBACpB,EAAC,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,GAAG,CAAC,GAAG,EAAC;qBACvB,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAC,EAAE,CAAA,CAAC,GAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAC,IAAI,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,MAAM,CACzF,QAAQ,CAAC;oBACT,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,CAAC,EAAC,CAAC,CAAA;QACP,CAAC;QACD,IAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAC,CAAC;YACrC,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACrC,CAAC;QACD,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAC,CAAC;YAC1B,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,mBAAmB,CAAC,WAA2B;QAC3C,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,MAAM,EAAC,CAAC,CAAC;QAC9C,OAAO;YACH,EAAC,IAAI,EAAC,uCAAsB,EAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,IAAA,gCAAe,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,EAAC;YACrG,EAAC,IAAI,EAAC,yCAAwB,EAAE,MAAM,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC,GAAW,EAAE,GAAY,EAAC,EAAE;oBACnF,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAY,EAAC,EAAE;wBACjC,IAAG,CAAC;4BACA,IAAG,GAAG;gCAAE,MAAM,GAAG,CAAC;4BAClB,IAAI,MAAM,GAAG,IAAA,uCAAsB,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC9C,IAAI,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;4BACrE,IAAI,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BAChF,IAAG,QAAQ,EAAC,CAAC;gCACT,QAAQ,CAAC,MAAM,CAAC,CAAC;4BACrB,CAAC;iCAAI,CAAC;gCACF,IAAA,uCAAsB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;4BAC9C,CAAC;4BACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnB,CAAC;wBAAA,OAAM,GAAG,EAAC,CAAC;4BACR,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;4BAC/D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;wBACxD,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,EAAC;SACL,CAAC;IACN,CAAC;IACD,eAAe,CAAC,OAAc,EAAE,IAAW;QACvC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAC,GAAG,EAAE,UAAS,GAAG,EAAE,GAAG,EAAE,IAAI;YAC/C,IAAI,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC;YAC7B,iCAAiC;YACjC,GAAG,CAAC,GAAG,GAAG,UAAS,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAClC,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAC3B,KAAK,GAAG,KAAK;yBACR,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;yBAClD,OAAO,CAAC,gCAAgC,EAAE,UAAU,CAAC;yBACrD,OAAO,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAA;gBAC5D,CAAC;gBACD,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzD,CAAC,CAAA;YACD,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC9B,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACJ,IAAI,EAAE,CAAC;YACX,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD,KAAK,CAAC,WAAW;QACb,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,OAAO,CAAO,UAAS,OAAO,EAAC,MAAM;YAC3C,IAAG,CAAC;gBACA,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAS,GAAS;oBACpC,IAAG,GAAG,EAAC,CAAC;wBACJ,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChB,CAAC;yBAAI,CAAC;wBACF,OAAO,EAAE,CAAC;oBACd,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAAA,OAAM,GAAG,EAAC,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA1OD,kCA0OC;AAOM,KAAK,UAAU,MAAM,CAAC,IAAyB;;;IAClD,IAAI,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,CAAa;QAChD;YACI,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,6BAAqB,CAAC,CAAC,CAAC,sBAAc;SAClG;QACD,CAAC,IAAI,IAAE,EAAE,CAAe;QACxB,oBAAoB;QACpB,cAAc;KACjB,EAAE,EAAC,YAAY,EAAE,QAAQ,EAAC,CAAC,CAAC;IAC7B,IAAI,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IAC3C,IAAI,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAG,eAAe,IAAI,CAAC,EAAC,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAA,4BAAW,EAAC,iBAAiB,EAAE,IAAA,uBAAQ,EAAC,sBAAc,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/I,OAAO;IACX,CAAC;IACD,IAAI,MAAM,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,IAAG,MAAM,CAAC,WAAW,CAAC,OAAO,EAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAC,mBAAmB,GAAC,MAAM,CAAC,IAAI,GAAC,CAAC,MAAA,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,mCAAE,EAAE,CAAC,GAAC,MAAM,CAAC,CAAC;IAC/G,IAAG,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,EAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,mBAAmB,GAAC,MAAM,CAAC,IAAI,GAAC,CAAC,MAAA,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,mCAAE,EAAE,CAAC,GAAC,uCAAsB,CAAC,CAAC;IAC/H,CAAC;IACD,IAAG,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,EAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QACpD,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;;YAChC,KAA2B,eAAA,QAAA,cAAA,GAAG,CAAA,SAAA,mEAAC,CAAC;gBAAL,mBAAG;gBAAH,WAAG;gBAAnB,MAAM,MAAM,KAAA,CAAA;gBACnB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAG,CAAA,MAAA,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,0CAAE,YAAY,KAAI,GAAG,KAAI,MAAA,MAAA,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,0CAAE,WAAW,0CAAE,QAAQ,CAAC,GAAG,CAAC,CAAA,EAAC,CAAC;oBAC5H,OAAO,CAAC,GAAG,CAAC,cAAc,GAAC,MAAM,CAAC,IAAI,GAAC,CAAC,MAAA,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,mCAAE,EAAE,CAAC,GAAC,GAAG,GAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjG,CAAC;YACL,CAAC;;;;;;;;;IACL,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "server4test",
|
|
3
3
|
"description": "server for test",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.0-rc.0",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib"
|
|
7
7
|
],
|
|
@@ -33,15 +33,25 @@
|
|
|
33
33
|
"express": "^5.2.1",
|
|
34
34
|
"fs-extra": "^11.4.0",
|
|
35
35
|
"serve-index": "^1.9.2",
|
|
36
|
-
"typescript": "^5.7.2",
|
|
37
|
-
"webpack": "^5.109.2",
|
|
38
|
-
"webpack-dev-middleware": "^8.1.0",
|
|
39
36
|
"best-globals": "^2.2.2",
|
|
40
37
|
"cast-error": "^0.1.5",
|
|
41
38
|
"mini-tools": "^1.13.10",
|
|
42
39
|
"serve-content": "^1.0.5"
|
|
43
40
|
},
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"webpack": "^5.109.2",
|
|
43
|
+
"webpack-dev-middleware": "^8.1.0"
|
|
44
|
+
},
|
|
45
|
+
"peerDependenciesMeta": {
|
|
46
|
+
"webpack": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"webpack-dev-middleware": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
44
53
|
"devDependencies": {
|
|
54
|
+
"typescript": "^5.7.2",
|
|
45
55
|
"@types/cookie-parser": "^1.4.10",
|
|
46
56
|
"@types/express": "^5.0.6",
|
|
47
57
|
"@types/fs-extra": "^11.0.4",
|