jmri-client 3.1.12-debug → 3.2.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.
Files changed (43) hide show
  1. package/dist/browser/jmri-client.js +1960 -0
  2. package/dist/browser/jmri-client.js.map +7 -0
  3. package/dist/cjs/client.js +2 -6
  4. package/dist/cjs/client.js.map +1 -1
  5. package/dist/cjs/core/connection-state-manager.js +2 -2
  6. package/dist/cjs/core/connection-state-manager.js.map +1 -1
  7. package/dist/cjs/core/heartbeat-manager.js +2 -2
  8. package/dist/cjs/core/heartbeat-manager.js.map +1 -1
  9. package/dist/cjs/core/reconnection-manager.js +2 -9
  10. package/dist/cjs/core/reconnection-manager.js.map +1 -1
  11. package/dist/cjs/core/websocket-adapter.js +46 -10
  12. package/dist/cjs/core/websocket-adapter.js.map +1 -1
  13. package/dist/cjs/core/websocket-client.js +4 -35
  14. package/dist/cjs/core/websocket-client.js.map +1 -1
  15. package/dist/cjs/managers/power-manager.js +2 -2
  16. package/dist/cjs/managers/power-manager.js.map +1 -1
  17. package/dist/cjs/managers/throttle-manager.js +2 -2
  18. package/dist/cjs/managers/throttle-manager.js.map +1 -1
  19. package/dist/esm/client.js +1 -5
  20. package/dist/esm/client.js.map +1 -1
  21. package/dist/esm/core/connection-state-manager.js +1 -1
  22. package/dist/esm/core/connection-state-manager.js.map +1 -1
  23. package/dist/esm/core/heartbeat-manager.js +1 -1
  24. package/dist/esm/core/heartbeat-manager.js.map +1 -1
  25. package/dist/esm/core/reconnection-manager.js +1 -8
  26. package/dist/esm/core/reconnection-manager.js.map +1 -1
  27. package/dist/esm/core/websocket-adapter.js +11 -8
  28. package/dist/esm/core/websocket-adapter.js.map +1 -1
  29. package/dist/esm/core/websocket-client.js +3 -34
  30. package/dist/esm/core/websocket-client.js.map +1 -1
  31. package/dist/esm/managers/power-manager.js +1 -1
  32. package/dist/esm/managers/power-manager.js.map +1 -1
  33. package/dist/esm/managers/throttle-manager.js +1 -1
  34. package/dist/esm/managers/throttle-manager.js.map +1 -1
  35. package/dist/types/client.d.ts +1 -1
  36. package/dist/types/core/connection-state-manager.d.ts +1 -1
  37. package/dist/types/core/heartbeat-manager.d.ts +1 -1
  38. package/dist/types/core/reconnection-manager.d.ts +1 -1
  39. package/dist/types/core/websocket-adapter.d.ts +2 -2
  40. package/dist/types/core/websocket-client.d.ts +1 -1
  41. package/dist/types/managers/power-manager.d.ts +1 -1
  42. package/dist/types/managers/throttle-manager.d.ts +1 -1
  43. package/package.json +9 -2
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Throttle control manager
3
3
  */
4
- import { EventEmitter } from 'events';
4
+ import { EventEmitter } from 'eventemitter3';
5
5
  import { isThrottleFunctionKey, isValidSpeed } from '../types/throttle.js';
6
6
  /**
7
7
  * Manages multiple throttles
@@ -1 +1 @@
1
- {"version":3,"file":"throttle-manager.js","sourceRoot":"","sources":["../../../src/managers/throttle-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"throttle-manager.js","sourceRoot":"","sources":["../../../src/managers/throttle-manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Main JMRI client class
3
3
  */
4
- import { EventEmitter } from 'events';
4
+ import { EventEmitter } from 'eventemitter3';
5
5
  import { PartialClientOptions } from './types/client-options.js';
6
6
  import { PowerState, RosterEntry } from './types/jmri-messages.js';
7
7
  import { ConnectionState } from './types/events.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Connection state management with state machine
3
3
  */
4
- import { EventEmitter } from 'events';
4
+ import { EventEmitter } from 'eventemitter3';
5
5
  import { ConnectionState } from '../types/events.js';
6
6
  /**
7
7
  * Manages connection state with validation
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Heartbeat (ping/pong) management
3
3
  */
4
- import { EventEmitter } from 'events';
4
+ import { EventEmitter } from 'eventemitter3';
5
5
  import { HeartbeatOptions } from '../types/client-options.js';
6
6
  /**
7
7
  * Manages WebSocket heartbeat via ping/pong
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Automatic reconnection management with exponential backoff
3
3
  */
4
- import { EventEmitter } from 'events';
4
+ import { EventEmitter } from 'eventemitter3';
5
5
  import { ReconnectionOptions } from '../types/client-options.js';
6
6
  /**
7
7
  * Manages automatic reconnection with exponential backoff
@@ -2,7 +2,7 @@
2
2
  * WebSocket Adapter
3
3
  * Provides a unified interface for WebSocket connections in both Node.js and browser environments
4
4
  */
5
- import { EventEmitter } from 'events';
5
+ import { EventEmitter } from 'eventemitter3';
6
6
  /**
7
7
  * WebSocket adapter interface
8
8
  */
@@ -23,4 +23,4 @@ export declare enum ReadyState {
23
23
  /**
24
24
  * Create a WebSocket adapter for the current environment
25
25
  */
26
- export declare function createWebSocketAdapter(url: string, protocols?: string | string[]): WebSocketAdapter;
26
+ export declare function createWebSocketAdapter(url: string, protocols?: string | string[]): Promise<WebSocketAdapter>;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Core WebSocket client for JMRI communication
3
3
  */
4
- import { EventEmitter } from 'events';
4
+ import { EventEmitter } from 'eventemitter3';
5
5
  import { JmriClientOptions } from '../types/client-options.js';
6
6
  import { JmriMessage } from '../types/jmri-messages.js';
7
7
  import { ConnectionState } from '../types/events.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Power control manager
3
3
  */
4
- import { EventEmitter } from 'events';
4
+ import { EventEmitter } from 'eventemitter3';
5
5
  import { WebSocketClient } from '../core/websocket-client.js';
6
6
  import { PowerState } from '../types/jmri-messages.js';
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Throttle control manager
3
3
  */
4
- import { EventEmitter } from 'events';
4
+ import { EventEmitter } from 'eventemitter3';
5
5
  import { WebSocketClient } from '../core/websocket-client.js';
6
6
  import { ThrottleAcquireOptions, ThrottleFunctionKey, ThrottleState } from '../types/throttle.js';
7
7
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jmri-client",
3
- "version": "3.1.12-debug",
3
+ "version": "3.2.0",
4
4
  "description": "WebSocket client for JMRI with real-time updates and throttle control - works in both Node.js and browsers",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -16,12 +16,16 @@
16
16
  },
17
17
  "scripts": {
18
18
  "prepublish": "npm run build",
19
- "build": "npm run build:cjs && npm run build:esm && npm run build:types",
19
+ "build": "npm run build:cjs && npm run build:esm && npm run build:types && npm run build:browser",
20
20
  "build:cjs": "tsc -p tsconfig.json",
21
21
  "build:esm": "tsc -p tsconfig.esm.json",
22
22
  "build:types": "tsc -p tsconfig.json --declaration --emitDeclarationOnly --outDir dist/types",
23
+ "build:browser": "node build-browser.mjs",
23
24
  "test": "jest --no-cache --coverage",
24
25
  "test:browser": "node ./tests/integration/serve-test.mjs",
26
+ "test:reconnect": "node ./tests/integration/forced-reconnect.mjs",
27
+ "test:reconnect:browser": "node ./tests/browser/serve.mjs",
28
+ "test:reconnect:browser:headless": "node ./tests/browser/playwright-reconnect-test.mjs",
25
29
  "functional": "node ./tests/functional/interactive-test.mjs",
26
30
  "demo:mock": "node ./examples/mock-demo.mjs"
27
31
  },
@@ -57,11 +61,14 @@
57
61
  "@types/jest": "^29.0.3",
58
62
  "@types/node": "^18.19.0",
59
63
  "@types/ws": "^8.5.10",
64
+ "esbuild": "^0.27.3",
60
65
  "jest": "^29.0.3",
66
+ "playwright": "^1.58.2",
61
67
  "ts-jest": "^29.4.6",
62
68
  "typescript": "^5.3.3"
63
69
  },
64
70
  "dependencies": {
71
+ "eventemitter3": "^5.0.4",
65
72
  "ws": "^8.16.0"
66
73
  },
67
74
  "files": [