@juliendu11/japa-ui-reporter 0.0.3 → 0.0.4
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/build/ui/server.js +12 -8
- package/build/ui_reporter.d.ts +1 -0
- package/build/ui_reporter.js +10 -4
- package/package.json +1 -1
package/build/ui/server.js
CHANGED
|
@@ -97,6 +97,16 @@ export default function createServer(options) {
|
|
|
97
97
|
console.error('[TCP] Socket error:', err.message);
|
|
98
98
|
});
|
|
99
99
|
});
|
|
100
|
+
httpServer.on('error', (err) => {
|
|
101
|
+
if (err.code !== 'EADDRINUSE') {
|
|
102
|
+
console.error('[HTTP] Server error:', err.message);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
tcpServer.on('error', (err) => {
|
|
106
|
+
if (err.code !== 'EADDRINUSE') {
|
|
107
|
+
console.error('[TCP] Server error:', err.message);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
100
110
|
httpServer.listen(options.ui.port, () => {
|
|
101
111
|
console.log(`[HTTP] Dashboard available at http://localhost:${options.ui.port}`);
|
|
102
112
|
});
|
|
@@ -105,17 +115,11 @@ export default function createServer(options) {
|
|
|
105
115
|
});
|
|
106
116
|
const stop = () => {
|
|
107
117
|
console.log('[SERVER] Shutting down...');
|
|
108
|
-
tcpServer.close(() => {
|
|
109
|
-
console.log('[TCP] Server closed');
|
|
110
|
-
});
|
|
111
|
-
httpServer.close(() => {
|
|
112
|
-
console.log('[HTTP] Server closed');
|
|
113
|
-
});
|
|
114
118
|
for (const client of dashboardClients) {
|
|
115
119
|
client.close();
|
|
116
120
|
}
|
|
117
|
-
tcpServer.close();
|
|
118
|
-
httpServer.close();
|
|
121
|
+
tcpServer.close(() => console.log('[TCP] Server closed'));
|
|
122
|
+
httpServer.close(() => console.log('[HTTP] Server closed'));
|
|
119
123
|
};
|
|
120
124
|
return {
|
|
121
125
|
url: `http://localhost:${options.ui.port}/`,
|
package/build/ui_reporter.d.ts
CHANGED
package/build/ui_reporter.js
CHANGED
|
@@ -8,6 +8,7 @@ export default class UIReporter extends BaseReporter {
|
|
|
8
8
|
static name = 'ui';
|
|
9
9
|
client = new net.Socket();
|
|
10
10
|
options;
|
|
11
|
+
stopServer = null;
|
|
11
12
|
constructor(options) {
|
|
12
13
|
super(options);
|
|
13
14
|
this.options = options || {};
|
|
@@ -40,13 +41,12 @@ export default class UIReporter extends BaseReporter {
|
|
|
40
41
|
async start() {
|
|
41
42
|
const uiPort = this.options?.ui?.port ?? DEFAULT_UI_PORT;
|
|
42
43
|
const reporterPort = this.options?.reporter?.port ?? DEFAULT_REPORTER_PORT;
|
|
43
|
-
createServer({
|
|
44
|
+
const { stop } = createServer({
|
|
44
45
|
ui: { port: uiPort },
|
|
45
46
|
reporter: { port: reporterPort }
|
|
46
47
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
this.client.connect(PORT, HOST, () => {
|
|
48
|
+
this.stopServer = stop;
|
|
49
|
+
this.client.connect(reporterPort, '127.0.0.1', () => {
|
|
50
50
|
if (this.client) {
|
|
51
51
|
this.client.write('CLEAR\n');
|
|
52
52
|
}
|
|
@@ -55,5 +55,11 @@ export default class UIReporter extends BaseReporter {
|
|
|
55
55
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
56
56
|
}
|
|
57
57
|
async end() {
|
|
58
|
+
if (this.client) {
|
|
59
|
+
this.client.write('END\n');
|
|
60
|
+
this.client.end();
|
|
61
|
+
}
|
|
62
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
63
|
+
this.stopServer?.();
|
|
58
64
|
}
|
|
59
65
|
}
|