uloop-cli 0.62.1 → 0.62.2
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/dist/cli.bundle.cjs +29 -9
- package/dist/cli.bundle.cjs.map +2 -2
- package/package.json +1 -1
- package/src/__tests__/port-resolver.test.ts +63 -0
- package/src/default-tools.json +1 -1
- package/src/port-resolver.ts +37 -9
- package/src/version.ts +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { resolvePortFromUnitySettings } from '../port-resolver.js';
|
|
2
|
+
|
|
3
|
+
describe('resolvePortFromUnitySettings', () => {
|
|
4
|
+
it('returns serverPort when server is running and serverPort is valid', () => {
|
|
5
|
+
const port = resolvePortFromUnitySettings({
|
|
6
|
+
isServerRunning: true,
|
|
7
|
+
serverPort: 8711,
|
|
8
|
+
customPort: 8700,
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
expect(port).toBe(8711);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('returns customPort when server is not running', () => {
|
|
15
|
+
const port = resolvePortFromUnitySettings({
|
|
16
|
+
isServerRunning: false,
|
|
17
|
+
serverPort: 8711,
|
|
18
|
+
customPort: 8700,
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
expect(port).toBe(8700);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('returns customPort when serverPort is invalid', () => {
|
|
25
|
+
const port = resolvePortFromUnitySettings({
|
|
26
|
+
isServerRunning: false,
|
|
27
|
+
serverPort: 0,
|
|
28
|
+
customPort: 8711,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
expect(port).toBe(8711);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it('falls back to serverPort when customPort is invalid', () => {
|
|
35
|
+
const port = resolvePortFromUnitySettings({
|
|
36
|
+
isServerRunning: false,
|
|
37
|
+
serverPort: 8711,
|
|
38
|
+
customPort: 0,
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
expect(port).toBe(8711);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('returns null when both ports are invalid', () => {
|
|
45
|
+
const port = resolvePortFromUnitySettings({
|
|
46
|
+
isServerRunning: false,
|
|
47
|
+
serverPort: 0,
|
|
48
|
+
customPort: 0,
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
expect(port).toBeNull();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('returns null when port is not an integer', () => {
|
|
55
|
+
const port = resolvePortFromUnitySettings({
|
|
56
|
+
isServerRunning: true,
|
|
57
|
+
serverPort: 8711.5,
|
|
58
|
+
customPort: 8700.1,
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
expect(port).toBeNull();
|
|
62
|
+
});
|
|
63
|
+
});
|
package/src/default-tools.json
CHANGED
package/src/port-resolver.ts
CHANGED
|
@@ -14,10 +14,46 @@ import { findUnityProjectRoot } from './project-root.js';
|
|
|
14
14
|
const DEFAULT_PORT = 8700;
|
|
15
15
|
|
|
16
16
|
interface UnityMcpSettings {
|
|
17
|
+
isServerRunning?: boolean;
|
|
17
18
|
serverPort?: number;
|
|
18
19
|
customPort?: number;
|
|
19
20
|
}
|
|
20
21
|
|
|
22
|
+
function normalizePort(port: unknown): number | null {
|
|
23
|
+
if (typeof port !== 'number') {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (!Number.isInteger(port)) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (port < 1 || port > 65535) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return port;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function resolvePortFromUnitySettings(settings: UnityMcpSettings): number | null {
|
|
39
|
+
const serverPort = normalizePort(settings.serverPort);
|
|
40
|
+
const customPort = normalizePort(settings.customPort);
|
|
41
|
+
|
|
42
|
+
if (settings.isServerRunning === true && serverPort !== null) {
|
|
43
|
+
return serverPort;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (customPort !== null) {
|
|
47
|
+
return customPort;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (serverPort !== null) {
|
|
51
|
+
return serverPort;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
|
|
21
57
|
export async function resolveUnityPort(explicitPort?: number): Promise<number> {
|
|
22
58
|
if (explicitPort !== undefined) {
|
|
23
59
|
return explicitPort;
|
|
@@ -57,13 +93,5 @@ async function readPortFromSettings(projectRoot: string): Promise<number | null>
|
|
|
57
93
|
return null;
|
|
58
94
|
}
|
|
59
95
|
|
|
60
|
-
|
|
61
|
-
return settings.serverPort;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (typeof settings.customPort === 'number') {
|
|
65
|
-
return settings.customPort;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return null;
|
|
96
|
+
return resolvePortFromUnitySettings(settings);
|
|
69
97
|
}
|
package/src/version.ts
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* This file exists to avoid bundling the entire package.json into the CLI bundle.
|
|
5
5
|
* This version is automatically updated by release-please.
|
|
6
6
|
*/
|
|
7
|
-
export const VERSION = '0.62.
|
|
7
|
+
export const VERSION = '0.62.2'; // x-release-please-version
|