@serenity-js/local-server 2.33.1 → 3.0.0-rc.11

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,259 @@
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.11](https://github.com/serenity-js/serenity-js/compare/v2.33.1...v3.0.0-rc.11) (2022-02-13)
7
+
8
+
9
+
10
+ # [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)
11
+
12
+
13
+
14
+ # [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
15
+
16
+
17
+
18
+ # [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
19
+
20
+
21
+
22
+ # [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
23
+
24
+
25
+ ### Features
26
+
27
+ * **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
28
+
29
+
30
+
31
+ # [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
32
+
33
+
34
+
35
+ # [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
36
+
37
+
38
+
39
+ # [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
40
+
41
+
42
+
43
+ # [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
44
+
45
+
46
+
47
+ # [3.0.0-rc.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)
48
+
49
+
50
+
51
+ # [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
52
+
53
+
54
+
55
+ # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
56
+
57
+
58
+ ### Bug Fixes
59
+
60
+ * **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
61
+
62
+
63
+ ### BREAKING CHANGES
64
+
65
+ * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
66
+ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
67
+
68
+
69
+
70
+
71
+
72
+ # [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)
73
+
74
+
75
+
76
+ # [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
77
+
78
+
79
+
80
+ # [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
81
+
82
+
83
+
84
+ # [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
85
+
86
+
87
+ ### Features
88
+
89
+ * **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
90
+
91
+
92
+
93
+ # [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
94
+
95
+
96
+
97
+ # [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
98
+
99
+
100
+
101
+ # [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
102
+
103
+
104
+
105
+ # [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
106
+
107
+
108
+
109
+ # [3.0.0-rc.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)
110
+
111
+
112
+
113
+ # [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
114
+
115
+
116
+
117
+ # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
118
+
119
+
120
+ ### Bug Fixes
121
+
122
+ * **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
123
+
124
+
125
+ ### BREAKING CHANGES
126
+
127
+ * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
128
+ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
129
+
130
+
131
+
132
+
133
+
134
+ # [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
135
+
136
+ **Note:** Version bump only for package @serenity-js/local-server
137
+
138
+
139
+
140
+
141
+
142
+ # [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
143
+
144
+ **Note:** Version bump only for package @serenity-js/local-server
145
+
146
+
147
+
148
+
149
+
150
+ # [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
151
+
152
+
153
+ ### Features
154
+
155
+ * **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
156
+
157
+
158
+
159
+
160
+
161
+ # [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
162
+
163
+
164
+
165
+ # [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
166
+
167
+
168
+
169
+ # [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
170
+
171
+
172
+
173
+ # [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
174
+
175
+
176
+
177
+ # [3.0.0-rc.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)
178
+
179
+
180
+
181
+ # [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
182
+
183
+
184
+
185
+ # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
186
+
187
+
188
+ ### Bug Fixes
189
+
190
+ * **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
191
+
192
+
193
+ ### BREAKING CHANGES
194
+
195
+ * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
196
+ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
197
+
198
+
199
+
200
+
201
+
202
+ # [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
203
+
204
+ **Note:** Version bump only for package @serenity-js/local-server
205
+
206
+
207
+
208
+
209
+
210
+ # [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
211
+
212
+ **Note:** Version bump only for package @serenity-js/local-server
213
+
214
+
215
+
216
+
217
+
218
+ # [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
219
+
220
+ **Note:** Version bump only for package @serenity-js/local-server
221
+
222
+
223
+
224
+
225
+
226
+ # [3.0.0-rc.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)
227
+
228
+ **Note:** Version bump only for package @serenity-js/local-server
229
+
230
+
231
+
232
+
233
+
234
+ # [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
235
+
236
+ **Note:** Version bump only for package @serenity-js/local-server
237
+
238
+
239
+
240
+
241
+
242
+ # [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
243
+
244
+
245
+ ### Bug Fixes
246
+
247
+ * **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
248
+
249
+
250
+ ### BREAKING CHANGES
251
+
252
+ * **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
253
+ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
254
+
255
+
256
+
257
+
258
+
6
259
  ## [2.33.1](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v2.33.1) (2022-02-10)
7
260
 
8
261
  **Note:** Version bump only for package @serenity-js/local-server
@@ -1,4 +1,4 @@
1
- import { Question } from '@serenity-js/core';
1
+ import { QuestionAdapter } from '@serenity-js/core';
2
2
  export declare class LocalServer {
3
3
  /**
4
4
  * @desc
@@ -12,7 +12,7 @@ export declare class LocalServer {
12
12
  *
13
13
  * @returns {@serenity-js/core/lib/screenplay~Question<string>}
14
14
  */
15
- static url(): Question<string>;
15
+ static url(): QuestionAdapter<string>;
16
16
  /**
17
17
  * @desc
18
18
  * Retrieves the port number of the local server started
@@ -25,5 +25,5 @@ export declare class LocalServer {
25
25
  *
26
26
  * @returns {@serenity-js/core/lib/screenplay~Question<number>}
27
27
  */
28
- static port(): Question<number>;
28
+ static port(): QuestionAdapter<number>;
29
29
  }
@@ -50,9 +50,9 @@ class LocalServer {
50
50
  * @returns {@serenity-js/core/lib/screenplay~Question<number>}
51
51
  */
52
52
  static port() {
53
- return core_1.Question.about(`local server port number`, actor => {
54
- const url = LocalServer.url().answeredBy(actor);
55
- return Number.parseInt((0, url_1.parse)(url).port, 10);
53
+ return core_1.Question.about(`local server port number`, async (actor) => {
54
+ const url = await actor.answer(LocalServer.url());
55
+ return Number.parseInt(new url_1.URL(url).port, 10);
56
56
  });
57
57
  }
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalServer.js","sourceRoot":"","sources":["../../../src/screenplay/questions/LocalServer.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAEzD,6BAA4B;AAE5B,4CAAkD;AAElD,MAAa,WAAW;IAEpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG;QACN,OAAO,eAAQ,CAAC,KAAK,CAAS,6BAA6B,EAAE,KAAK,CAAC,EAAE;YACjE,OAAO,8BAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBAE9B,IAAI,CAAE,IAAI,EAAE;oBACR,MAAM,IAAI,iBAAU,CAAC,qCAAqC,CAAC,CAAC;iBAC/D;gBAED,IAAI,CAAE,aAAa,CAAC,IAAI,CAAC,EAAE;oBACvB,MAAM,IAAI,iBAAU,CAAC,yDAAyD,CAAC,CAAC;iBACnF;gBAED,OAAO;oBACH,QAAQ;oBACR,KAAK;oBACL,GAAI,IAAI,CAAC,MAAO,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAK,IAAI,CAAC,OAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;oBAClF,GAAG;oBACH,IAAI,CAAC,IAAI;iBACZ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,eAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE;YACtD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEhD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAA,WAAK,EAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAzDD,kCAyDC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,gBAAsC;IACzD,OAAO,OAAO,gBAAgB,KAAK,QAAQ;WACpC,CAAC,CAAE,gBAAgB,CAAC,OAAO;WAC3B,CAAC,CAAE,gBAAgB,CAAC,MAAM;WAC1B,CAAC,CAAE,gBAAgB,CAAC,IAAI,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"LocalServer.js","sourceRoot":"","sources":["../../../src/screenplay/questions/LocalServer.ts"],"names":[],"mappings":";;;AAAA,4CAA0E;AAE1E,6BAA0B;AAE1B,4CAAkD;AAElD,MAAa,WAAW;IAEpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG;QACN,OAAO,eAAQ,CAAC,KAAK,CAAS,6BAA6B,EAAE,KAAK,CAAC,EAAE;YACjE,OAAO,8BAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBAE9B,IAAI,CAAE,IAAI,EAAE;oBACR,MAAM,IAAI,iBAAU,CAAC,qCAAqC,CAAC,CAAC;iBAC/D;gBAED,IAAI,CAAE,aAAa,CAAC,IAAI,CAAC,EAAE;oBACvB,MAAM,IAAI,iBAAU,CAAC,yDAAyD,CAAC,CAAC;iBACnF;gBAED,OAAO;oBACH,QAAQ;oBACR,KAAK;oBACL,GAAI,IAAI,CAAC,MAAO,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAK,IAAI,CAAC,OAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;oBAClF,GAAG;oBACH,IAAI,CAAC,IAAI;iBACZ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,eAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;YAElD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAzDD,kCAyDC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,gBAAsC;IACzD,OAAO,OAAO,gBAAgB,KAAK,QAAQ;WACpC,CAAC,CAAE,gBAAgB,CAAC,OAAO;WAC3B,CAAC,CAAE,gBAAgB,CAAC,MAAM;WAC1B,CAAC,CAAE,gBAAgB,CAAC,IAAI,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/local-server",
3
- "version": "2.33.1",
3
+ "version": "3.0.0-rc.11",
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",
@@ -33,9 +33,9 @@
33
33
  ],
34
34
  "scripts": {
35
35
  "clean": "rimraf .nyc_output lib target",
36
- "lint": "eslint --ext ts --config ../../.eslintrc.js .",
36
+ "lint": "eslint --ext ts --config ../../.eslintrc.yml .",
37
37
  "lint:fix": "npm run lint -- --fix",
38
- "test": "nyc --report-dir ../../target/coverage/rest mocha --config ../../.mocharc.yml 'spec/**/*.spec.*'",
38
+ "test": "nyc --report-dir ../../target/coverage/local-server mocha --config ../../.mocharc.yml 'spec/**/*.spec.*'",
39
39
  "compile": "tsc --project tsconfig.json",
40
40
  "site": "esdoc -c .esdoc.js"
41
41
  },
@@ -47,20 +47,20 @@
47
47
  "url": "https://github.com/serenity-js/serenity-js/issues"
48
48
  },
49
49
  "engines": {
50
- "node": "^12 || ^14 || ^16",
50
+ "node": "^14 || ^16",
51
51
  "npm": "^6 || ^7 || ^8"
52
52
  },
53
53
  "dependencies": {
54
- "@serenity-js/core": "2.33.1",
54
+ "@serenity-js/core": "3.0.0-rc.11",
55
55
  "http-shutdown": "^1.2.2",
56
56
  "portfinder": "^1.0.28"
57
57
  },
58
58
  "devDependencies": {
59
- "@documentation/esdoc-template": "2.0.0",
59
+ "@documentation/esdoc-template": "3.0.0",
60
60
  "@hapi/hapi": "^20.2.1",
61
- "@integration/testing-tools": "2.0.0",
62
- "@serenity-js/assertions": "2.33.1",
63
- "@serenity-js/rest": "2.33.1",
61
+ "@integration/testing-tools": "3.0.0",
62
+ "@serenity-js/assertions": "3.0.0-rc.11",
63
+ "@serenity-js/rest": "3.0.0-rc.11",
64
64
  "@types/chai": "^4.3.0",
65
65
  "@types/express": "^4.17.13",
66
66
  "@types/hapi": "^18.0.7",
@@ -97,5 +97,5 @@
97
97
  "cache": true,
98
98
  "all": true
99
99
  },
100
- "gitHead": "c029cb6dde88fb0f034b8471ab93e0483c8b106d"
100
+ "gitHead": "0a232ce7ff21df56a9cc9e64859af5b0bce33b32"
101
101
  }
@@ -1,6 +1,6 @@
1
- import { LogicError, Question } from '@serenity-js/core';
1
+ import { LogicError, Question, QuestionAdapter } from '@serenity-js/core';
2
2
  import { AddressInfo } from 'net';
3
- import { parse } from 'url';
3
+ import { URL } from 'url';
4
4
 
5
5
  import { ManageALocalServer } from '../abilities';
6
6
 
@@ -18,7 +18,7 @@ export class LocalServer {
18
18
  *
19
19
  * @returns {@serenity-js/core/lib/screenplay~Question<string>}
20
20
  */
21
- static url(): Question<string> {
21
+ static url(): QuestionAdapter<string> {
22
22
  return Question.about<string>('the URL of the local server', actor => {
23
23
  return ManageALocalServer.as(actor).mapInstance((server, protocol) => {
24
24
  const info = server.address();
@@ -54,11 +54,11 @@ export class LocalServer {
54
54
  *
55
55
  * @returns {@serenity-js/core/lib/screenplay~Question<number>}
56
56
  */
57
- static port(): Question<number> {
58
- return Question.about(`local server port number`, actor => {
59
- const url = LocalServer.url().answeredBy(actor);
57
+ static port(): QuestionAdapter<number> {
58
+ return Question.about(`local server port number`, async actor => {
59
+ const url = await actor.answer(LocalServer.url());
60
60
 
61
- return Number.parseInt(parse(url).port, 10);
61
+ return Number.parseInt(new URL(url).port, 10);
62
62
  });
63
63
  }
64
64
  }