@serenity-js/local-server 3.0.0-rc.40 → 3.0.0-rc.42

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/CHANGELOG.md CHANGED
@@ -3,6 +3,26 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.0.0-rc.42](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.41...v3.0.0-rc.42) (2023-02-12)
7
+
8
+ **Note:** Version bump only for package @serenity-js/local-server
9
+
10
+
11
+
12
+
13
+
14
+ # [3.0.0-rc.41](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.40...v3.0.0-rc.41) (2023-02-07)
15
+
16
+
17
+ ### Features
18
+
19
+ * **core:** better assertion errors reporting in Visual Studio Code ([3b94b7d](https://github.com/serenity-js/serenity-js/commit/3b94b7d606fae49e7ca77c2fbe09d07eeb042ea9)), closes [#1486](https://github.com/serenity-js/serenity-js/issues/1486)
20
+ * **core:** overridable abilities ([03966cc](https://github.com/serenity-js/serenity-js/commit/03966ccae40d102b7dbca1125beb90ceda8fbc50))
21
+
22
+
23
+
24
+
25
+
6
26
  # [3.0.0-rc.40](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.39...v3.0.0-rc.40) (2023-01-06)
7
27
 
8
28
  **Note:** Version bump only for package @serenity-js/local-server
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  /// <reference types="node" />
4
- import { Ability, UsesAbilities } from '@serenity-js/core';
4
+ import { Ability } from '@serenity-js/core';
5
5
  import * as http from 'http';
6
6
  import * as https from 'https';
7
7
  import * as net from 'net';
@@ -45,7 +45,7 @@ import * as net from 'net';
45
45
  *
46
46
  * @group Abilities
47
47
  */
48
- export declare class ManageALocalServer implements Ability {
48
+ export declare class ManageALocalServer extends Ability {
49
49
  private readonly protocol;
50
50
  private readonly server;
51
51
  /**
@@ -59,18 +59,11 @@ export declare class ManageALocalServer implements Ability {
59
59
  *
60
60
  * @param listener
61
61
  * @param options
62
- * Accepts options from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
62
+ * Accepts an options object from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
63
63
  *
64
64
  * @see https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener
65
65
  */
66
66
  static runningAHttpsListener(listener: RequestListener | https.Server, options?: https.ServerOptions): ManageALocalServer;
67
- /**
68
- * Used to access the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink ManageALocalServer}
69
- * from within the {@apilink Interaction} classes, such as {@apilink StartLocalServer}.
70
- *
71
- * @param actor
72
- */
73
- static as(actor: UsesAbilities): ManageALocalServer;
74
67
  /**
75
68
  * @param protocol
76
69
  * Protocol to be used when communicating with the running server; `http` or `https`
@@ -1 +1 @@
1
- {"version":3,"file":"ManageALocalServer.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/ManageALocalServer.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,OAAO,EAAsB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAG3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,kBAAmB,YAAW,OAAO;IAqDlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAnDrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,GAAG,kBAAkB;IAQvF;;;;;;;;OAQG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,GAAE,KAAK,CAAC,aAAkB,GAAG,kBAAkB;IAQ7H;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB;IAInD;;;;;;;;OAQG;gBAC0B,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;IAI7E;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,SAAO,EAAE,WAAW,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhE;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,kBAAkB,KAAK,CAAC,GAAG,CAAC;CAG1F;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;AAErG;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,GAAG;IAC1C,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;CAC9D,CAAC;AAEF;;;;;GAKG;AACH,oBAAY,kBAAkB;IAC1B,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
1
+ {"version":3,"file":"ManageALocalServer.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/ManageALocalServer.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,OAAO,EAAsB,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAG3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,kBAAmB,SAAQ,OAAO;IA2C/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAzCrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,GAAG,kBAAkB;IAQvF;;;;;;;;OAQG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,GAAE,KAAK,CAAC,aAAkB,GAAG,kBAAkB;IAQ7H;;;;;;;;OAQG;gBAC0B,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;IAK7E;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,SAAO,EAAE,WAAW,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhE;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,kBAAkB,KAAK,CAAC,GAAG,CAAC;CAG1F;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;AAErG;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,GAAG;IAC1C,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;CAC9D,CAAC;AAEF;;;;;GAKG;AACH,oBAAY,kBAAkB;IAC1B,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
@@ -69,7 +69,7 @@ const portfinder_1 = require("portfinder");
69
69
  *
70
70
  * @group Abilities
71
71
  */
72
- class ManageALocalServer {
72
+ class ManageALocalServer extends core_1.Ability {
73
73
  /**
74
74
  * An {@apilink Ability} to manage a Node.js HTTP server using the provided `requestListener`.
75
75
  *
@@ -86,7 +86,7 @@ class ManageALocalServer {
86
86
  *
87
87
  * @param listener
88
88
  * @param options
89
- * Accepts options from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
89
+ * Accepts an options object from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
90
90
  *
91
91
  * @see https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener
92
92
  */
@@ -96,15 +96,6 @@ class ManageALocalServer {
96
96
  : listener;
97
97
  return new ManageALocalServer(SupportedProtocols.HTTPS, server);
98
98
  }
99
- /**
100
- * Used to access the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink ManageALocalServer}
101
- * from within the {@apilink Interaction} classes, such as {@apilink StartLocalServer}.
102
- *
103
- * @param actor
104
- */
105
- static as(actor) {
106
- return actor.abilityTo(ManageALocalServer);
107
- }
108
99
  /**
109
100
  * @param protocol
110
101
  * Protocol to be used when communicating with the running server; `http` or `https`
@@ -115,6 +106,7 @@ class ManageALocalServer {
115
106
  * @see https://www.npmjs.com/package/http-shutdown
116
107
  */
117
108
  constructor(protocol, server) {
109
+ super();
118
110
  this.protocol = protocol;
119
111
  this.server = withShutdownSupport(server);
120
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ManageALocalServer.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/ManageALocalServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA+E;AAC/E,2CAA6B;AAC7B,qDAAsD;AACtD,6CAA+B;AAE/B,2CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAa,kBAAkB;IAI3B;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAsC;QAC9D,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU;YACzC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,QAAQ,CAAC;QAEf,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAwC,EAAE,UAA+B,EAAE;QACpG,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU;YACzC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC;QAEf,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,KAAoB;QAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACH,YAA6B,QAA4B,EAAE,MAAkB;QAAhD,aAAQ,GAAR,QAAQ,CAAoB;QACrD,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK;QAC5C,OAAO,IAAA,2BAAc,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChD,SAAS,YAAY,CAAC,KAA6B;gBAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;oBAC7B,OAAO,MAAM,CAAC,IAAI,yBAAkB,CAAC,qEAAsE,IAAK,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;iBAChI;gBAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAElD,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAI,EAAoE;QAC/E,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;CACJ;AA/FD,gDA+FC;AAmBD;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,qCAAe,CAAA;AACnB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
1
+ {"version":3,"file":"ManageALocalServer.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/ManageALocalServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAgE;AAChE,2CAA6B;AAC7B,qDAAsD;AACtD,6CAA+B;AAE/B,2CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAa,kBAAmB,SAAQ,cAAO;IAI3C;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAsC;QAC9D,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU;YACzC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,QAAQ,CAAC;QAEf,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAwC,EAAE,UAA+B,EAAE;QACpG,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU;YACzC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC;QAEf,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;OAQG;IACH,YAA6B,QAA4B,EAAE,MAAkB;QACzE,KAAK,EAAE,CAAC;QADiB,aAAQ,GAAR,QAAQ,CAAoB;QAErD,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK;QAC5C,OAAO,IAAA,2BAAc,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChD,SAAS,YAAY,CAAC,KAA6B;gBAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;oBAC7B,OAAO,MAAM,CAAC,IAAI,yBAAkB,CAAC,qEAAsE,IAAK,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;iBAChI;gBAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAElD,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAI,EAAoE;QAC/E,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;CACJ;AAtFD,gDAsFC;AAmBD;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,qCAAe,CAAA;AACnB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/local-server",
3
- "version": "3.0.0-rc.40",
3
+ "version": "3.0.0-rc.42",
4
4
  "description": "Enables Serenity/JS Actors to manage local Node.js test servers, such as Express, Koa or Restify",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -49,17 +49,17 @@
49
49
  "npm": "^6 || ^7 || ^8"
50
50
  },
51
51
  "dependencies": {
52
- "@serenity-js/core": "3.0.0-rc.40",
52
+ "@serenity-js/core": "3.0.0-rc.42",
53
53
  "http-shutdown": "^1.2.2",
54
54
  "portfinder": "^1.0.32"
55
55
  },
56
56
  "devDependencies": {
57
- "@hapi/hapi": "^21.1.0",
57
+ "@hapi/hapi": "^21.2.1",
58
58
  "@integration/testing-tools": "3.0.0",
59
- "@serenity-js/assertions": "3.0.0-rc.40",
60
- "@serenity-js/rest": "3.0.0-rc.40",
59
+ "@serenity-js/assertions": "3.0.0-rc.42",
60
+ "@serenity-js/rest": "3.0.0-rc.42",
61
61
  "@types/chai": "^4.3.4",
62
- "@types/express": "^4.17.15",
62
+ "@types/express": "^4.17.17",
63
63
  "@types/hapi": "^18.0.8",
64
64
  "@types/mocha": "^10.0.1",
65
65
  "@types/restify": "^8.5.5",
@@ -68,10 +68,10 @@
68
68
  "koa": "^2.14.1",
69
69
  "mocha": "^10.2.0",
70
70
  "nyc": "15.1.0",
71
- "restify": "^10.0.0",
71
+ "restify": "^11.0.0",
72
72
  "semver": "^7.3.8",
73
73
  "ts-node": "^10.9.1",
74
- "typescript": "^4.9.4"
74
+ "typescript": "^4.9.5"
75
75
  },
76
- "gitHead": "94e7c72355737fe8bf1ad005c1677af13aa8e872"
76
+ "gitHead": "ebe1ca57bb98f09bc4554f32e87f44a0dbce2c22"
77
77
  }
@@ -1,4 +1,4 @@
1
- import { Ability, ConfigurationError, UsesAbilities } from '@serenity-js/core';
1
+ import { Ability, ConfigurationError } from '@serenity-js/core';
2
2
  import * as http from 'http';
3
3
  import withShutdownSupport = require('http-shutdown');
4
4
  import * as https from 'https';
@@ -45,7 +45,7 @@ import { getPortPromise } from 'portfinder';
45
45
  *
46
46
  * @group Abilities
47
47
  */
48
- export class ManageALocalServer implements Ability {
48
+ export class ManageALocalServer extends Ability {
49
49
 
50
50
  private readonly server: ServerWithShutdown;
51
51
 
@@ -67,7 +67,7 @@ export class ManageALocalServer implements Ability {
67
67
  *
68
68
  * @param listener
69
69
  * @param options
70
- * Accepts options from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
70
+ * Accepts an options object from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
71
71
  *
72
72
  * @see https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener
73
73
  */
@@ -79,16 +79,6 @@ export class ManageALocalServer implements Ability {
79
79
  return new ManageALocalServer(SupportedProtocols.HTTPS, server);
80
80
  }
81
81
 
82
- /**
83
- * Used to access the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink ManageALocalServer}
84
- * from within the {@apilink Interaction} classes, such as {@apilink StartLocalServer}.
85
- *
86
- * @param actor
87
- */
88
- static as(actor: UsesAbilities): ManageALocalServer {
89
- return actor.abilityTo(ManageALocalServer);
90
- }
91
-
92
82
  /**
93
83
  * @param protocol
94
84
  * Protocol to be used when communicating with the running server; `http` or `https`
@@ -99,6 +89,7 @@ export class ManageALocalServer implements Ability {
99
89
  * @see https://www.npmjs.com/package/http-shutdown
100
90
  */
101
91
  constructor(private readonly protocol: SupportedProtocols, server: net.Server) {
92
+ super();
102
93
  this.server = withShutdownSupport(server);
103
94
  }
104
95