@eclipse-glsp/server 1.1.0-next.44bd1e0.43 → 1.1.0-next.dc6b980.47

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 (81) hide show
  1. package/lib/browser/launch/worker-server-launcher.d.ts +8 -5
  2. package/lib/browser/launch/worker-server-launcher.d.ts.map +1 -1
  3. package/lib/browser/launch/worker-server-launcher.js +9 -11
  4. package/lib/browser/launch/worker-server-launcher.js.map +1 -1
  5. package/lib/common/command/command-stack.d.ts +7 -6
  6. package/lib/common/command/command-stack.d.ts.map +1 -1
  7. package/lib/common/command/command-stack.js +6 -6
  8. package/lib/common/command/command-stack.js.map +1 -1
  9. package/lib/common/command/command-stack.spec.js +31 -31
  10. package/lib/common/command/command-stack.spec.js.map +1 -1
  11. package/lib/common/command/command.d.ts +7 -6
  12. package/lib/common/command/command.d.ts.map +1 -1
  13. package/lib/common/command/command.js +19 -15
  14. package/lib/common/command/command.js.map +1 -1
  15. package/lib/common/command/command.spec.js +8 -8
  16. package/lib/common/command/command.spec.js.map +1 -1
  17. package/lib/common/command/recording-command.d.ts +15 -15
  18. package/lib/common/command/recording-command.d.ts.map +1 -1
  19. package/lib/common/command/recording-command.js +10 -10
  20. package/lib/common/command/recording-command.js.map +1 -1
  21. package/lib/common/command/recording-command.spec.js +8 -8
  22. package/lib/common/command/recording-command.spec.js.map +1 -1
  23. package/lib/common/command/undo-redo-action-handler.d.ts +2 -2
  24. package/lib/common/command/undo-redo-action-handler.d.ts.map +1 -1
  25. package/lib/common/command/undo-redo-action-handler.js +4 -4
  26. package/lib/common/command/undo-redo-action-handler.js.map +1 -1
  27. package/lib/common/features/layout/computed-bounds-action-handler.js +1 -1
  28. package/lib/common/features/layout/computed-bounds-action-handler.js.map +1 -1
  29. package/lib/common/index.d.ts +3 -1
  30. package/lib/common/index.d.ts.map +1 -1
  31. package/lib/common/index.js +3 -1
  32. package/lib/common/index.js.map +1 -1
  33. package/lib/common/launch/glsp-server-launcher.d.ts +7 -6
  34. package/lib/common/launch/glsp-server-launcher.d.ts.map +1 -1
  35. package/lib/common/launch/glsp-server-launcher.js +25 -2
  36. package/lib/common/launch/glsp-server-launcher.js.map +1 -1
  37. package/lib/common/operations/operation-action-handler.d.ts +1 -1
  38. package/lib/common/operations/operation-action-handler.d.ts.map +1 -1
  39. package/lib/common/operations/operation-action-handler.js +3 -3
  40. package/lib/common/operations/operation-action-handler.js.map +1 -1
  41. package/lib/common/test/mock-util.d.ts +7 -1
  42. package/lib/common/test/mock-util.d.ts.map +1 -1
  43. package/lib/common/test/mock-util.js +23 -1
  44. package/lib/common/test/mock-util.js.map +1 -1
  45. package/lib/common/utils/layout-util.d.ts +1 -1
  46. package/lib/common/utils/layout-util.d.ts.map +1 -1
  47. package/lib/common/utils/layout-util.js +3 -3
  48. package/lib/common/utils/layout-util.js.map +1 -1
  49. package/lib/node/index.d.ts +1 -0
  50. package/lib/node/index.d.ts.map +1 -1
  51. package/lib/node/index.js +1 -0
  52. package/lib/node/index.js.map +1 -1
  53. package/lib/node/launch/socket-cli-parser.js +1 -1
  54. package/lib/node/launch/socket-cli-parser.js.map +1 -1
  55. package/lib/node/launch/socket-server-launcher.d.ts +2 -1
  56. package/lib/node/launch/socket-server-launcher.d.ts.map +1 -1
  57. package/lib/node/launch/socket-server-launcher.js +11 -10
  58. package/lib/node/launch/socket-server-launcher.js.map +1 -1
  59. package/lib/node/launch/websocket-server-launcher.d.ts +59 -0
  60. package/lib/node/launch/websocket-server-launcher.d.ts.map +1 -0
  61. package/lib/node/launch/websocket-server-launcher.js +145 -0
  62. package/lib/node/launch/websocket-server-launcher.js.map +1 -0
  63. package/package.json +7 -5
  64. package/src/browser/launch/worker-server-launcher.ts +16 -12
  65. package/src/common/command/command-stack.spec.ts +32 -32
  66. package/src/common/command/command-stack.ts +10 -9
  67. package/src/common/command/command.spec.ts +9 -10
  68. package/src/common/command/command.ts +23 -19
  69. package/src/common/command/recording-command.spec.ts +8 -8
  70. package/src/common/command/recording-command.ts +19 -19
  71. package/src/common/command/undo-redo-action-handler.ts +4 -4
  72. package/src/common/features/layout/computed-bounds-action-handler.ts +2 -2
  73. package/src/common/index.ts +3 -1
  74. package/src/common/launch/glsp-server-launcher.ts +13 -7
  75. package/src/common/operations/operation-action-handler.ts +3 -3
  76. package/src/common/test/mock-util.ts +21 -0
  77. package/src/common/utils/layout-util.ts +1 -1
  78. package/src/node/index.ts +1 -0
  79. package/src/node/launch/socket-cli-parser.ts +1 -1
  80. package/src/node/launch/socket-server-launcher.ts +13 -7
  81. package/src/node/launch/websocket-server-launcher.ts +164 -0
@@ -23,7 +23,7 @@ import { GModelIndex } from '../features/model/gmodel-index';
23
23
  * @param index The model index.
24
24
  * @returns The changed element.
25
25
  */
26
- export declare function applyBounds(bounds: ElementAndBounds, index: GModelIndex): GBoundsAware | undefined;
26
+ export declare function applyElementAndBounds(bounds: ElementAndBounds, index: GModelIndex): GBoundsAware | undefined;
27
27
  /**
28
28
  * Applies the new alignment to the model.
29
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"layout-util.d.ts","sourceRoot":"","sources":["../../../src/common/utils/layout-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAU,aAAa,EAA4C,MAAM,qBAAqB,CAAC;AACvI,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,CAUlG;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAOzG;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,KAAK,CAiBpF;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,uBAAuB,CAc7D;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,KAAK,CAIpG;AACD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,GAAG,KAAK,GAAG,SAAS,CAUxG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,GAAG,YAAY,GAAG,KAAK,CAoB1G"}
1
+ {"version":3,"file":"layout-util.d.ts","sourceRoot":"","sources":["../../../src/common/utils/layout-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAU,aAAa,EAA4C,MAAM,qBAAqB,CAAC;AACvI,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,CAU5G;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAOzG;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,KAAK,CAiBpF;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,uBAAuB,CAc7D;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,KAAK,CAIpG;AACD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,GAAG,KAAK,GAAG,SAAS,CAUxG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,GAAG,YAAY,GAAG,KAAK,CAoB1G"}
@@ -15,7 +15,7 @@
15
15
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  ********************************************************************************/
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.absoluteToRelative = exports.getRelativeLocation = exports.applyRoutingPoints = exports.getRoute = exports.applyRoute = exports.applyAlignment = exports.applyBounds = void 0;
18
+ exports.absoluteToRelative = exports.getRelativeLocation = exports.applyRoutingPoints = exports.getRoute = exports.applyRoute = exports.applyAlignment = exports.applyElementAndBounds = void 0;
19
19
  const graph_1 = require("@eclipse-glsp/graph");
20
20
  const args_util_1 = require("./args-util");
21
21
  const glsp_server_error_1 = require("./glsp-server-error");
@@ -26,7 +26,7 @@ const glsp_server_error_1 = require("./glsp-server-error");
26
26
  * @param index The model index.
27
27
  * @returns The changed element.
28
28
  */
29
- function applyBounds(bounds, index) {
29
+ function applyElementAndBounds(bounds, index) {
30
30
  const element = (0, glsp_server_error_1.getOrThrow)(index.get(bounds.elementId), 'Model element not found! ID: ' + bounds.elementId);
31
31
  if ((0, graph_1.isGBoundsAware)(element)) {
32
32
  if (bounds.newPosition !== undefined) {
@@ -37,7 +37,7 @@ function applyBounds(bounds, index) {
37
37
  }
38
38
  return undefined;
39
39
  }
40
- exports.applyBounds = applyBounds;
40
+ exports.applyElementAndBounds = applyElementAndBounds;
41
41
  /**
42
42
  * Applies the new alignment to the model.
43
43
  *
@@ -1 +1 @@
1
- {"version":3,"file":"layout-util.js","sourceRoot":"","sources":["../../../src/common/utils/layout-util.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,+CAAuI;AAGvI,2CAAuC;AACvC,2DAAkE;AAElE;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,MAAwB,EAAE,KAAkB;IACpE,MAAM,OAAO,GAAG,IAAA,8BAAU,EAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,+BAA+B,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5G,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;QACzB,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;YAClC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;SACzC;QACD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,OAAO,OAAO,CAAC;KAClB;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAVD,kCAUC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,SAA8B,EAAE,KAAkB;IAC7E,MAAM,OAAO,GAAG,IAAA,8BAAU,EAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAClH,IAAI,IAAA,oBAAY,EAAC,OAAO,CAAC,EAAE;QACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;QAC3C,OAAO,OAAO,CAAC;KAClB;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAPD,wCAOC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,KAA8B,EAAE,KAAkB;;IACzE,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,gBAAgB,mCAAI,EAAE,CAAC;IACnD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1B,MAAM,IAAI,mCAAe,CAAC,gBAAgB,CAAC,CAAC;KAC/C;IACD,wDAAwD;IACxD,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC;IAE7C,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAG,CAAC;IAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAG,CAAC;IACxC,IAAI,CAAC,oBAAQ,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,oBAAQ,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,oBAAQ,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,oBAAQ,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AAChB,CAAC;AAjBD,gCAiBC;AAED;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,IAAW;IAChC,MAAM,WAAW,GAAG,oBAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE;QACd,MAAM,IAAI,mCAAe,CAAC,wCAAwC,CAAC,CAAC;KACvE;IACD,MAAM,WAAW,GAAG,oBAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE;QACd,MAAM,IAAI,mCAAe,CAAC,wCAAwC,CAAC,CAAC;KACvE;IACD,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AAC3D,CAAC;AAdD,4BAcC;AAED,SAAgB,kBAAkB,CAAC,aAAsC,EAAE,KAAkB;;IACzF,MAAM,IAAI,GAAG,IAAA,8BAAU,EAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,aAAK,CAAC,EAAE,+BAA+B,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACtI,IAAI,CAAC,aAAa,GAAG,MAAA,aAAa,CAAC,gBAAgB,mCAAI,EAAE,CAAC;IAC1D,OAAO,IAAI,CAAC;AAChB,CAAC;AAJD,gDAIC;AACD;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAC,gBAAuB,EAAE,SAAwB;IACjF,MAAM,wBAAwB,GAAG,SAAS,YAAY,cAAM,CAAC;IAC7D,IAAI,IAAA,sBAAc,EAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,wBAAwB;YAC7C,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO,gBAAgB,CAAC;KAC3B;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAVD,kDAUC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,kBAAkB,CAAC,aAAoB,EAAE,YAA0C;;IAC/F,IAAI,aAAa,CAAC;IAClB,IAAI,CAAC,CAAC,YAAY,YAAY,kBAAU,CAAC,EAAE;QACvC,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;KACvC;IAED,IAAI,gBAAuB,CAAC;IAC5B,IAAI,CAAC,aAAa,EAAE;QAChB,gBAAgB,GAAG,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;KACjE;SAAM;QACH,IAAI,CAAC,IAAA,sBAAc,EAAC,aAAa,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,wDAAwD,YAAY,EAAE,CAAC,CAAC;SAC3F;QACD,gBAAgB,GAAG,kBAAkB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;KACvE;IAED,MAAM,CAAC,GAAG,MAAA,MAAA,YAAY,CAAC,QAAQ,0CAAE,CAAC,mCAAI,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,MAAA,MAAA,YAAY,CAAC,QAAQ,0CAAE,CAAC,mCAAI,CAAC,CAAC;IAExC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC;AApBD,gDAoBC"}
1
+ {"version":3,"file":"layout-util.js","sourceRoot":"","sources":["../../../src/common/utils/layout-util.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,5 @@ export * from './gmodel/gmodel-storage';
21
21
  export * from './launch/cli-parser';
22
22
  export * from './launch/socket-cli-parser';
23
23
  export * from './launch/socket-server-launcher';
24
+ export * from './launch/websocket-server-launcher';
24
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC"}
package/lib/node/index.js CHANGED
@@ -37,4 +37,5 @@ __exportStar(require("./gmodel/gmodel-storage"), exports);
37
37
  __exportStar(require("./launch/cli-parser"), exports);
38
38
  __exportStar(require("./launch/socket-cli-parser"), exports);
39
39
  __exportStar(require("./launch/socket-server-launcher"), exports);
40
+ __exportStar(require("./launch/websocket-server-launcher"), exports);
40
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,kDAAgC;AAChC,gEAA8C;AAC9C,kDAAgC;AAChC,sDAAoC;AACpC,0DAAwC;AACxC,sDAAoC;AACpC,6DAA2C;AAC3C,kEAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,kDAAgC;AAChC,gEAA8C;AAC9C,kDAAgC;AAChC,sDAAoC;AACpC,0DAAwC;AACxC,sDAAoC;AACpC,6DAA2C;AAC3C,kEAAgD;AAChD,qEAAmD"}
@@ -18,7 +18,7 @@ exports.processPort = exports.createSocketCliParser = exports.defaultSocketLaunc
18
18
  ********************************************************************************/
19
19
  const cmd = require("commander");
20
20
  const cli_parser_1 = require("./cli-parser");
21
- exports.defaultSocketLaunchOptions = Object.assign(Object.assign({}, cli_parser_1.defaultLaunchOptions), { port: 5007, host: 'localhost' });
21
+ exports.defaultSocketLaunchOptions = Object.assign(Object.assign({}, cli_parser_1.defaultLaunchOptions), { port: 0, host: 'localhost' });
22
22
  function createSocketCliParser(defaultOptions = exports.defaultSocketLaunchOptions) {
23
23
  const parser = (0, cli_parser_1.createCliParser)(defaultOptions);
24
24
  parser.command
@@ -1 +1 @@
1
- {"version":3,"file":"socket-cli-parser.js","sourceRoot":"","sources":["../../../src/node/launch/socket-cli-parser.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,6CAA+F;AAOlF,QAAA,0BAA0B,mCAChC,iCAAoB,KACvB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,WAAW,IACnB;AAEF,SAAgB,qBAAqB,CACjC,iBAAsC,kCAA0B;IAEhE,MAAM,MAAM,GAAG,IAAA,4BAAe,EAAI,cAAc,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO;SACT,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,cAAc,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC;SACnH,MAAM,CAAC,eAAe,EAAE,2BAA2B,cAAc,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC;SAC9F,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SACpD,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC;AAClB,CAAC;AAVD,sDAUC;AAED,SAAgB,WAAW,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACb,MAAM,IAAI,GAAG,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;KAC/D;IACD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE;QAC1B,MAAM,IAAI,GAAG,CAAC,oBAAoB,CAAC,4CAA4C,CAAC,CAAC;KACpF;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAVD,kCAUC"}
1
+ {"version":3,"file":"socket-cli-parser.js","sourceRoot":"","sources":["../../../src/node/launch/socket-cli-parser.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,6CAA+F;AAOlF,QAAA,0BAA0B,mCAChC,iCAAoB,KACvB,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,WAAW,IACnB;AAEF,SAAgB,qBAAqB,CACjC,iBAAsC,kCAA0B;IAEhE,MAAM,MAAM,GAAG,IAAA,4BAAe,EAAI,cAAc,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO;SACT,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,cAAc,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC;SACnH,MAAM,CAAC,eAAe,EAAE,2BAA2B,cAAc,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC;SAC9F,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SACpD,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC;AAClB,CAAC;AAVD,sDAUC;AAED,SAAgB,WAAW,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACb,MAAM,IAAI,GAAG,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;KAC/D;IACD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE;QAC1B,MAAM,IAAI,GAAG,CAAC,oBAAoB,CAAC,4CAA4C,CAAC,CAAC;KACpF;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAVD,kCAUC"}
@@ -20,15 +20,16 @@ import * as jsonrpc from 'vscode-jsonrpc/node';
20
20
  import { GLSPServerLauncher } from '../../common/launch/glsp-server-launcher';
21
21
  import { GLSPServer } from '../../common/protocol/glsp-server';
22
22
  import { Logger } from '../../common/utils/logger';
23
+ export declare const START_UP_COMPLETE_MSG = "[GLSP-Server]:Startup completed. Accepting requests on port:";
23
24
  export declare class SocketServerLauncher extends GLSPServerLauncher<net.TcpSocketConnectOpts> {
24
25
  protected logger: Logger;
25
26
  protected currentConnections: jsonrpc.MessageConnection[];
26
27
  protected startupCompleteMessage: string;
27
28
  protected netServer: net.Server;
29
+ constructor();
28
30
  protected run(opts: net.TcpSocketConnectOpts): Promise<void>;
29
31
  protected createClientConnection(socket: net.Socket): Promise<void>;
30
32
  protected disposeClientConnection(container: Container, glspServer: GLSPServer): void;
31
33
  protected createConnection(socket: net.Socket): jsonrpc.MessageConnection;
32
- protected stop(): void;
33
34
  }
34
35
  //# sourceMappingURL=socket-server-launcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,SAAS,EAAsB,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAqB,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGnD,qBACa,oBAAqB,SAAQ,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAClF,UAAmC,MAAM,EAAE,MAAM,CAAC;IAElD,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAM;IAC/D,SAAS,CAAC,sBAAsB,SAAyB;IACzD,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;IAEhC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cA4B5C,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrF,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB;IAIzE,SAAS,CAAC,IAAI,IAAI,IAAI;CAKzB"}
1
+ {"version":3,"file":"socket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,SAAS,EAAsB,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAqB,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,eAAO,MAAM,qBAAqB,iEAAiE,CAAC;AAEpG,qBACa,oBAAqB,SAAQ,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAClF,UAAmC,MAAM,EAAE,MAAM,CAAC;IAElD,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAM;IAC/D,SAAS,CAAC,sBAAsB,SAAyB;IACzD,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;;IAYhC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cA4B5C,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrF,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB;CAG5E"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SocketServerLauncher = void 0;
12
+ exports.SocketServerLauncher = exports.START_UP_COMPLETE_MSG = void 0;
13
13
  /********************************************************************************
14
14
  * Copyright (c) 2022-2023 STMicroelectronics and others.
15
15
  *
@@ -28,15 +28,20 @@ exports.SocketServerLauncher = void 0;
28
28
  const inversify_1 = require("inversify");
29
29
  const net = require("net");
30
30
  const jsonrpc = require("vscode-jsonrpc/node");
31
+ const __1 = require("..");
31
32
  const glsp_server_launcher_1 = require("../../common/launch/glsp-server-launcher");
32
33
  const glsp_server_1 = require("../../common/protocol/glsp-server");
33
34
  const logger_1 = require("../../common/utils/logger");
34
- const START_UP_COMPLETE_MSG = '[GLSP-Server]:Startup completed. Accepting requests on port:';
35
+ exports.START_UP_COMPLETE_MSG = '[GLSP-Server]:Startup completed. Accepting requests on port:';
35
36
  let SocketServerLauncher = class SocketServerLauncher extends glsp_server_launcher_1.GLSPServerLauncher {
36
37
  constructor() {
37
- super(...arguments);
38
+ super();
38
39
  this.currentConnections = [];
39
- this.startupCompleteMessage = START_UP_COMPLETE_MSG;
40
+ this.startupCompleteMessage = exports.START_UP_COMPLETE_MSG;
41
+ this.toDispose.push(__1.Disposable.create(() => {
42
+ this.currentConnections.forEach(connection => connection.dispose());
43
+ this.netServer.close();
44
+ }));
40
45
  }
41
46
  run(opts) {
42
47
  this.netServer = net.createServer(socket => this.createClientConnection(socket));
@@ -87,18 +92,14 @@ let SocketServerLauncher = class SocketServerLauncher extends glsp_server_launch
87
92
  createConnection(socket) {
88
93
  return jsonrpc.createMessageConnection(new jsonrpc.SocketMessageReader(socket), new jsonrpc.SocketMessageWriter(socket), console);
89
94
  }
90
- stop() {
91
- this.logger.info('Shutdown SocketServerLauncher');
92
- this.currentConnections.forEach(connection => connection.dispose());
93
- this.netServer.close();
94
- }
95
95
  };
96
96
  __decorate([
97
97
  (0, inversify_1.inject)(logger_1.Logger),
98
98
  __metadata("design:type", logger_1.Logger)
99
99
  ], SocketServerLauncher.prototype, "logger", void 0);
100
100
  SocketServerLauncher = __decorate([
101
- (0, inversify_1.injectable)()
101
+ (0, inversify_1.injectable)(),
102
+ __metadata("design:paramtypes", [])
102
103
  ], SocketServerLauncher);
103
104
  exports.SocketServerLauncher = SocketServerLauncher;
104
105
  //# sourceMappingURL=socket-server-launcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ /// <reference types="node" />
17
+ import { MaybePromise, WebSocketWrapper } from '@eclipse-glsp/protocol';
18
+ import * as http from 'http';
19
+ import { Container } from 'inversify';
20
+ import * as jsonrpc from 'vscode-jsonrpc';
21
+ import { Server, WebSocket } from 'ws';
22
+ import { GLSPServerLauncher } from '../../common/launch/glsp-server-launcher';
23
+ import { GLSPServer } from '../../common/protocol/glsp-server';
24
+ import { Logger } from '../../common/utils/logger';
25
+ export interface WebSocketServerOptions {
26
+ host?: string;
27
+ port?: number;
28
+ path: string;
29
+ }
30
+ export interface ResolvedWebSocketServerOptions {
31
+ host?: string;
32
+ port: number;
33
+ path: string;
34
+ server: http.Server;
35
+ }
36
+ export interface WebsocketConnectionData {
37
+ socket: WebSocket;
38
+ connection: jsonrpc.MessageConnection;
39
+ }
40
+ export declare class WebSocketServerLauncher extends GLSPServerLauncher<WebSocketServerOptions> {
41
+ protected logger: Logger;
42
+ protected server: Server;
43
+ protected startupCompleteMessage: string;
44
+ protected currentConnections: jsonrpc.MessageConnection[];
45
+ constructor();
46
+ protected run(options: WebSocketServerOptions): Promise<void>;
47
+ protected createClientConnection(socket: WebSocket): Promise<void>;
48
+ protected disposeClientConnection(container: Container, glspServer: GLSPServer): void;
49
+ protected createConnection(socket: WebSocket): jsonrpc.MessageConnection;
50
+ protected resolveOptions(options: WebSocketServerOptions): Promise<ResolvedWebSocketServerOptions>;
51
+ protected createHttpServer(port: number, host?: string): http.Server;
52
+ start(options: WebSocketServerOptions): MaybePromise<void>;
53
+ }
54
+ /**
55
+ * Creates a {@link WebSocketWrapper} for the given plain WebSocket
56
+ * @param socket The socket to wrap
57
+ */
58
+ export declare function wrapWebSocket(socket: WebSocket): WebSocketWrapper;
59
+ //# sourceMappingURL=websocket-server-launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/websocket-server-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,OAAO,EAAyC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAsB,MAAM,WAAW,CAAC;AAE1D,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAqB,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGnD,MAAM,WAAW,sBAAsB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC;CACzC;AAID,qBACa,uBAAwB,SAAQ,kBAAkB,CAAC,sBAAsB,CAAC;IACnF,UACmB,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,sBAAsB,SAAyB;IACzD,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAM;;cAY/C,GAAG,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;cAiBnD,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrF,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB;cAIxD,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAQxG,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAgB3D,KAAK,CAAC,OAAO,EAAE,sBAAsB,GAAG,YAAY,CAAC,IAAI,CAAC;CAGtE;AAeD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,CAQjE"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2023 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.wrapWebSocket = exports.WebSocketServerLauncher = void 0;
28
+ const protocol_1 = require("@eclipse-glsp/protocol");
29
+ const http = require("http");
30
+ const inversify_1 = require("inversify");
31
+ const net = require("net");
32
+ const ws_1 = require("ws");
33
+ const glsp_server_launcher_1 = require("../../common/launch/glsp-server-launcher");
34
+ const glsp_server_1 = require("../../common/protocol/glsp-server");
35
+ const logger_1 = require("../../common/utils/logger");
36
+ const socket_server_launcher_1 = require("./socket-server-launcher");
37
+ const STATUS_UPGRADE_REQUIRED = 426;
38
+ let WebSocketServerLauncher = class WebSocketServerLauncher extends glsp_server_launcher_1.GLSPServerLauncher {
39
+ constructor() {
40
+ super();
41
+ this.startupCompleteMessage = socket_server_launcher_1.START_UP_COMPLETE_MSG;
42
+ this.currentConnections = [];
43
+ this.toDispose.push(protocol_1.Disposable.create(() => {
44
+ this.currentConnections.forEach(connection => connection.dispose());
45
+ this.server.close();
46
+ }));
47
+ }
48
+ async run(options) {
49
+ const resolvedOptions = await this.resolveOptions(options);
50
+ this.server = new ws_1.Server({ server: resolvedOptions.server, path: resolvedOptions.path });
51
+ const endpoint = `ws://${resolvedOptions.host}:${resolvedOptions.port}:${resolvedOptions.path}`;
52
+ this.logger.info(`The GLSP Websocket launcher is ready to accept new client requests on endpoint '${endpoint}'`);
53
+ console.log(this.startupCompleteMessage.concat(resolvedOptions.port.toString()));
54
+ this.server.on('connection', (ws, req) => {
55
+ this.createClientConnection(ws);
56
+ });
57
+ return new Promise((resolve, reject) => {
58
+ this.server.on('close', () => resolve(undefined));
59
+ this.server.on('error', error => reject(error));
60
+ });
61
+ }
62
+ async createClientConnection(socket) {
63
+ const container = this.createContainer();
64
+ const connection = this.createConnection(socket);
65
+ this.currentConnections.push(connection);
66
+ const glspServer = container.get(glsp_server_1.JsonRpcGLSPServer);
67
+ glspServer.connect(connection);
68
+ this.logger.info('Starting GLSP server connection');
69
+ connection.listen();
70
+ connection.onDispose(() => this.disposeClientConnection(container, glspServer));
71
+ socket.on('close', () => this.disposeClientConnection(container, glspServer));
72
+ connection.onClose(() => console.log('GOD dam'));
73
+ return new Promise((resolve, rejects) => {
74
+ connection.onClose(() => resolve(undefined));
75
+ connection.onError(error => rejects(error));
76
+ });
77
+ }
78
+ disposeClientConnection(container, glspServer) {
79
+ glspServer.shutdown();
80
+ container.unbindAll();
81
+ }
82
+ createConnection(socket) {
83
+ return (0, protocol_1.createWebSocketConnection)(wrapWebSocket(socket));
84
+ }
85
+ async resolveOptions(options) {
86
+ const port = !options.port || options.port === 0 ? await getFreePort() : options.port;
87
+ const path = options.path.startsWith('/') ? options.path : `/${options.path}`;
88
+ const server = this.createHttpServer(port, options.host);
89
+ return Object.assign(Object.assign({}, options), { port, path, server });
90
+ }
91
+ createHttpServer(port, host) {
92
+ const server = http.createServer((req, res) => {
93
+ const body = http.STATUS_CODES[STATUS_UPGRADE_REQUIRED];
94
+ res.writeHead(426, {
95
+ 'Content-Length': body === null || body === void 0 ? void 0 : body.length,
96
+ 'Content-Type': 'text/plain'
97
+ });
98
+ res.end(body);
99
+ });
100
+ server.listen(port, host);
101
+ // Set server timeout to infinite
102
+ server.setTimeout(0);
103
+ return server;
104
+ }
105
+ start(options) {
106
+ super.start(options);
107
+ }
108
+ };
109
+ __decorate([
110
+ (0, inversify_1.inject)(logger_1.Logger),
111
+ __metadata("design:type", logger_1.Logger)
112
+ ], WebSocketServerLauncher.prototype, "logger", void 0);
113
+ WebSocketServerLauncher = __decorate([
114
+ (0, inversify_1.injectable)(),
115
+ __metadata("design:paramtypes", [])
116
+ ], WebSocketServerLauncher);
117
+ exports.WebSocketServerLauncher = WebSocketServerLauncher;
118
+ async function getFreePort() {
119
+ return new Promise((resolve, reject) => {
120
+ const srv = net.createServer();
121
+ srv.listen(0, () => {
122
+ const address = srv.address();
123
+ if (!address || typeof address === 'string') {
124
+ reject(new Error('Could not address to compute a free port'));
125
+ return;
126
+ }
127
+ srv.close(() => resolve(address.port));
128
+ });
129
+ });
130
+ }
131
+ /**
132
+ * Creates a {@link WebSocketWrapper} for the given plain WebSocket
133
+ * @param socket The socket to wrap
134
+ */
135
+ function wrapWebSocket(socket) {
136
+ return {
137
+ send: content => socket.send(content),
138
+ onMessage: cb => socket.on('message', cb),
139
+ onClose: cb => socket.on('close', cb),
140
+ onError: cb => socket.on('error', cb),
141
+ dispose: () => socket.close()
142
+ };
143
+ }
144
+ exports.wrapWebSocket = wrapWebSocket;
145
+ //# sourceMappingURL=websocket-server-launcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/websocket-server-launcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/server",
3
- "version": "1.1.0-next.44bd1e0.43+44bd1e0",
3
+ "version": "1.1.0-next.dc6b980.47+dc6b980",
4
4
  "description": "A js server framework for Eclipse GLSP",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -59,19 +59,21 @@
59
59
  "watch": "tsc -w"
60
60
  },
61
61
  "dependencies": {
62
- "@eclipse-glsp/graph": "1.1.0-next.44bd1e0.43+44bd1e0",
62
+ "@eclipse-glsp/graph": "1.1.0-next.dc6b980.47+dc6b980",
63
63
  "@eclipse-glsp/protocol": "next",
64
64
  "@types/uuid": "8.3.1",
65
65
  "commander": "^8.3.0",
66
66
  "fast-json-patch": "^3.1.0",
67
67
  "inversify": "^5.1.1",
68
- "winston": "^3.3.3"
68
+ "winston": "^3.3.3",
69
+ "ws": "^8.12.1"
69
70
  },
70
71
  "devDependencies": {
71
- "@types/fs-extra": "^9.0.13"
72
+ "@types/fs-extra": "^9.0.13",
73
+ "@types/ws": "^8.5.4"
72
74
  },
73
75
  "publishConfig": {
74
76
  "access": "public"
75
77
  },
76
- "gitHead": "44bd1e05dcc86ad71386a5286eed7e3300afb51a"
78
+ "gitHead": "dc6b980a473afbce8e304a2b68efe6877069dc97"
77
79
  }
@@ -16,24 +16,30 @@
16
16
 
17
17
  import { Container, injectable } from 'inversify';
18
18
  import * as jsonrpc from 'vscode-jsonrpc/browser';
19
- import { GLSPServer, GLSPServerLauncher, JsonRpcGLSPServer, MaybePromise, START_UP_COMPLETE_MSG } from '../../common/index';
19
+ import { GLSPServer, GLSPServerLauncher, JsonRpcGLSPServer, MaybePromise } from '../../common/index';
20
+ export interface WorkerLaunchOptions {
21
+ context?: Worker;
22
+ }
23
+
24
+ export const START_UP_COMPLETE_MSG = '[GLSP-Server]:Startup completed.';
20
25
 
21
26
  @injectable()
22
- export class WorkerServerLauncher extends GLSPServerLauncher {
23
- private connection?: jsonrpc.MessageConnection;
27
+ export class WorkerServerLauncher extends GLSPServerLauncher<WorkerLaunchOptions> {
28
+ protected connection?: jsonrpc.MessageConnection;
24
29
 
25
- protected run(): MaybePromise<void> {
30
+ protected run(options: WorkerLaunchOptions): MaybePromise<void> {
26
31
  if (this.connection) {
27
32
  throw new Error('Error during launch. Server already has an active client connection');
28
33
  }
29
34
  const container = this.createContainer();
30
- this.connection = this.createConnection();
35
+ this.connection = this.createConnection(options);
31
36
  const glspServer = container.get<JsonRpcGLSPServer>(JsonRpcGLSPServer);
32
37
  glspServer.connect(this.connection);
33
38
  this.connection.onDispose(() => this.disposeClientConnection(container, glspServer));
34
39
 
35
40
  this.logger.info('GLSP server worker connection established');
36
41
  this.connection.listen();
42
+ this.toDispose.push(this.connection);
37
43
  postMessage(START_UP_COMPLETE_MSG);
38
44
  return new Promise((resolve, rejects) => {
39
45
  this.connection?.onClose(() => resolve(undefined));
@@ -47,12 +53,10 @@ export class WorkerServerLauncher extends GLSPServerLauncher {
47
53
  this.connection = undefined;
48
54
  }
49
55
 
50
- protected stop(): MaybePromise<void> {
51
- this.logger.info('Shutdown WorkerServerLauncher');
52
- this.connection?.dispose();
53
- }
54
-
55
- protected createConnection(): jsonrpc.MessageConnection {
56
- return jsonrpc.createMessageConnection(new jsonrpc.BrowserMessageReader(self), new jsonrpc.BrowserMessageWriter(self));
56
+ protected createConnection(options: WorkerLaunchOptions): jsonrpc.MessageConnection {
57
+ return jsonrpc.createMessageConnection(
58
+ new jsonrpc.BrowserMessageReader(options.context ?? self),
59
+ new jsonrpc.BrowserMessageWriter(options.context ?? self)
60
+ );
57
61
  }
58
62
  }