@pact-foundation/pact 16.3.0 → 16.4.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 (216) hide show
  1. package/CHANGELOG.md +16 -3
  2. package/CONTRIBUTING.md +2 -2
  3. package/README.md +6 -2
  4. package/package.json +25 -28
  5. package/src/common/graphQL/configurationError.js +2 -22
  6. package/src/common/graphQL/configurationError.js.map +1 -1
  7. package/src/common/graphQL/graphQL.d.ts +2 -2
  8. package/src/common/graphQL/graphQL.js +11 -14
  9. package/src/common/graphQL/graphQL.js.map +1 -1
  10. package/src/common/graphQL/graphQLQueryError.js +2 -22
  11. package/src/common/graphQL/graphQLQueryError.js.map +1 -1
  12. package/src/common/logger.js +9 -9
  13. package/src/common/logger.js.map +1 -1
  14. package/src/common/matchingRules.d.ts +1 -1
  15. package/src/common/matchingRules.js +21 -21
  16. package/src/common/matchingRules.js.map +1 -1
  17. package/src/common/net.js +36 -42
  18. package/src/common/net.js.map +1 -1
  19. package/src/common/net.spec.js +41 -53
  20. package/src/common/net.spec.js.map +1 -1
  21. package/src/common/request.js +33 -82
  22. package/src/common/request.js.map +1 -1
  23. package/src/common/request.spec.js +26 -26
  24. package/src/common/request.spec.js.map +1 -1
  25. package/src/common/spec.js +3 -4
  26. package/src/common/spec.js.map +1 -1
  27. package/src/dsl/apolloGraphql.js +7 -25
  28. package/src/dsl/apolloGraphql.js.map +1 -1
  29. package/src/dsl/apolloGraphql.spec.js +21 -18
  30. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  31. package/src/dsl/graphql.d.ts +2 -2
  32. package/src/dsl/graphql.js +29 -48
  33. package/src/dsl/graphql.js.map +1 -1
  34. package/src/dsl/graphql.spec.js +81 -66
  35. package/src/dsl/graphql.spec.js.map +1 -1
  36. package/src/dsl/interaction.d.ts +2 -2
  37. package/src/dsl/interaction.js +41 -48
  38. package/src/dsl/interaction.js.map +1 -1
  39. package/src/dsl/interaction.spec.js +77 -70
  40. package/src/dsl/interaction.spec.js.map +1 -1
  41. package/src/dsl/matchers.d.ts +1 -1
  42. package/src/dsl/matchers.js +19 -31
  43. package/src/dsl/matchers.js.map +1 -1
  44. package/src/dsl/matchers.spec.js +199 -208
  45. package/src/dsl/matchers.spec.js.map +1 -1
  46. package/src/dsl/message.d.ts +3 -3
  47. package/src/dsl/options.d.ts +3 -3
  48. package/src/dsl/verifier/proxy/hooks.d.ts +2 -2
  49. package/src/dsl/verifier/proxy/hooks.js +42 -112
  50. package/src/dsl/verifier/proxy/hooks.js.map +1 -1
  51. package/src/dsl/verifier/proxy/hooks.spec.js +84 -199
  52. package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
  53. package/src/dsl/verifier/proxy/messages.d.ts +2 -2
  54. package/src/dsl/verifier/proxy/messages.js +88 -106
  55. package/src/dsl/verifier/proxy/messages.js.map +1 -1
  56. package/src/dsl/verifier/proxy/parseBody.d.ts +1 -1
  57. package/src/dsl/verifier/proxy/parseBody.js +2 -2
  58. package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
  59. package/src/dsl/verifier/proxy/parseBody.spec.js +31 -76
  60. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
  61. package/src/dsl/verifier/proxy/proxy.d.ts +2 -2
  62. package/src/dsl/verifier/proxy/proxy.js +22 -26
  63. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  64. package/src/dsl/verifier/proxy/proxy.spec.js +14 -14
  65. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
  66. package/src/dsl/verifier/proxy/proxyRequest.d.ts +3 -3
  67. package/src/dsl/verifier/proxy/proxyRequest.js +7 -7
  68. package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
  69. package/src/dsl/verifier/proxy/proxyRequest.spec.js +49 -64
  70. package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
  71. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -3
  72. package/src/dsl/verifier/proxy/stateHandler/setupStates.js +14 -18
  73. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
  74. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +76 -159
  75. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
  76. package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +2 -2
  77. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +23 -72
  78. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
  79. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +37 -85
  80. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  81. package/src/dsl/verifier/proxy/tracer.d.ts +1 -1
  82. package/src/dsl/verifier/proxy/tracer.js +42 -35
  83. package/src/dsl/verifier/proxy/tracer.js.map +1 -1
  84. package/src/dsl/verifier/proxy/types.d.ts +5 -5
  85. package/src/dsl/verifier/types.d.ts +3 -3
  86. package/src/dsl/verifier/verifier.d.ts +1 -1
  87. package/src/dsl/verifier/verifier.js +49 -56
  88. package/src/dsl/verifier/verifier.js.map +1 -1
  89. package/src/dsl/verifier/verifier.spec.js +76 -93
  90. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  91. package/src/errors/configurationError.js +2 -22
  92. package/src/errors/configurationError.js.map +1 -1
  93. package/src/errors/graphQLQueryError.js +2 -22
  94. package/src/errors/graphQLQueryError.js.map +1 -1
  95. package/src/errors/matcherError.js +2 -22
  96. package/src/errors/matcherError.js.map +1 -1
  97. package/src/errors/verificationError.js +2 -22
  98. package/src/errors/verificationError.js.map +1 -1
  99. package/src/httpPact/ffi.d.ts +2 -2
  100. package/src/httpPact/ffi.js +28 -29
  101. package/src/httpPact/ffi.js.map +1 -1
  102. package/src/httpPact/ffi.spec.js +30 -31
  103. package/src/httpPact/ffi.spec.js.map +1 -1
  104. package/src/httpPact/index.d.ts +3 -3
  105. package/src/httpPact/index.js +92 -149
  106. package/src/httpPact/index.js.map +1 -1
  107. package/src/httpPact/index.spec.js +75 -125
  108. package/src/httpPact/index.spec.js.map +1 -1
  109. package/src/httpPact/tracing.js +20 -28
  110. package/src/httpPact/tracing.js.map +1 -1
  111. package/src/index.js +1 -1
  112. package/src/index.js.map +1 -1
  113. package/src/messageConsumerPact.d.ts +3 -3
  114. package/src/messageConsumerPact.js +50 -51
  115. package/src/messageConsumerPact.js.map +1 -1
  116. package/src/messageConsumerPact.spec.js +50 -49
  117. package/src/messageConsumerPact.spec.js.map +1 -1
  118. package/src/messageProviderPact.d.ts +3 -3
  119. package/src/messageProviderPact.js +68 -85
  120. package/src/messageProviderPact.js.map +1 -1
  121. package/src/messageProviderPact.spec.js +75 -66
  122. package/src/messageProviderPact.spec.js.map +1 -1
  123. package/src/pact.integration.spec.js +250 -268
  124. package/src/pact.integration.spec.js.map +1 -1
  125. package/src/v3/display.d.ts +1 -1
  126. package/src/v3/display.js +44 -58
  127. package/src/v3/display.js.map +1 -1
  128. package/src/v3/ffi.d.ts +2 -2
  129. package/src/v3/ffi.js +18 -16
  130. package/src/v3/ffi.js.map +1 -1
  131. package/src/v3/ffi.spec.d.ts +1 -0
  132. package/src/v3/ffi.spec.js +50 -0
  133. package/src/v3/ffi.spec.js.map +1 -0
  134. package/src/v3/graphql/graphQL.d.ts +4 -4
  135. package/src/v3/graphql/graphQL.js +50 -75
  136. package/src/v3/graphql/graphQL.js.map +1 -1
  137. package/src/v3/matchers.d.ts +2 -2
  138. package/src/v3/matchers.js +112 -147
  139. package/src/v3/matchers.js.map +1 -1
  140. package/src/v3/matchers.spec.js +168 -187
  141. package/src/v3/matchers.spec.js.map +1 -1
  142. package/src/v3/pact.d.ts +2 -2
  143. package/src/v3/pact.js +103 -151
  144. package/src/v3/pact.js.map +1 -1
  145. package/src/v3/types.d.ts +1 -1
  146. package/src/v3/xml/xmlBuilder.d.ts +1 -3
  147. package/src/v3/xml/xmlBuilder.js +7 -9
  148. package/src/v3/xml/xmlBuilder.js.map +1 -1
  149. package/src/v3/xml/xmlElement.d.ts +2 -2
  150. package/src/v3/xml/xmlElement.js +24 -41
  151. package/src/v3/xml/xmlElement.js.map +1 -1
  152. package/src/v3/xml/xmlElement.spec.js +23 -25
  153. package/src/v3/xml/xmlElement.spec.js.map +1 -1
  154. package/src/v3/xml/xmlNode.js +2 -5
  155. package/src/v3/xml/xmlNode.js.map +1 -1
  156. package/src/v3/xml/xmlText.d.ts +1 -1
  157. package/src/v3/xml/xmlText.js +9 -25
  158. package/src/v3/xml/xmlText.js.map +1 -1
  159. package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +4 -4
  160. package/src/v4/graphql/graphQLInteractionWithRequest.js +21 -17
  161. package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
  162. package/src/v4/graphql/graphQLRequestBuilder.d.ts +3 -3
  163. package/src/v4/graphql/graphQLRequestBuilder.js +18 -20
  164. package/src/v4/graphql/graphQLRequestBuilder.js.map +1 -1
  165. package/src/v4/graphql/index.d.ts +6 -6
  166. package/src/v4/graphql/index.js +21 -17
  167. package/src/v4/graphql/index.js.map +1 -1
  168. package/src/v4/graphql/types.d.ts +5 -5
  169. package/src/v4/http/index.d.ts +2 -2
  170. package/src/v4/http/index.js +48 -93
  171. package/src/v4/http/index.js.map +1 -1
  172. package/src/v4/http/interactionWithCompleteRequest.d.ts +4 -7
  173. package/src/v4/http/interactionWithCompleteRequest.js +6 -10
  174. package/src/v4/http/interactionWithCompleteRequest.js.map +1 -1
  175. package/src/v4/http/interactionWithPlugin.d.ts +3 -3
  176. package/src/v4/http/interactionWithPlugin.js +14 -11
  177. package/src/v4/http/interactionWithPlugin.js.map +1 -1
  178. package/src/v4/http/interactionWithPluginRequest.d.ts +2 -2
  179. package/src/v4/http/interactionWithPluginRequest.js +11 -8
  180. package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
  181. package/src/v4/http/interactionWithPluginResponse.d.ts +2 -2
  182. package/src/v4/http/interactionWithPluginResponse.js +10 -48
  183. package/src/v4/http/interactionWithPluginResponse.js.map +1 -1
  184. package/src/v4/http/interactionWithRequest.d.ts +2 -2
  185. package/src/v4/http/interactionWithRequest.js +11 -8
  186. package/src/v4/http/interactionWithRequest.js.map +1 -1
  187. package/src/v4/http/interactionWithResponse.d.ts +2 -2
  188. package/src/v4/http/interactionWithResponse.js +10 -48
  189. package/src/v4/http/interactionWithResponse.js.map +1 -1
  190. package/src/v4/http/requestBuilder.d.ts +3 -3
  191. package/src/v4/http/requestBuilder.js +32 -34
  192. package/src/v4/http/requestBuilder.js.map +1 -1
  193. package/src/v4/http/requestWithPluginBuilder.d.ts +2 -2
  194. package/src/v4/http/requestWithPluginBuilder.js +26 -46
  195. package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
  196. package/src/v4/http/responseBuilder.d.ts +3 -3
  197. package/src/v4/http/responseBuilder.js +24 -25
  198. package/src/v4/http/responseBuilder.js.map +1 -1
  199. package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
  200. package/src/v4/http/responseWithPluginBuilder.js +5 -25
  201. package/src/v4/http/responseWithPluginBuilder.js.map +1 -1
  202. package/src/v4/http/types.d.ts +3 -2
  203. package/src/v4/http/unconfiguredInteraction.d.ts +6 -5
  204. package/src/v4/http/unconfiguredInteraction.js +31 -26
  205. package/src/v4/http/unconfiguredInteraction.js.map +1 -1
  206. package/src/v4/index.d.ts +4 -4
  207. package/src/v4/index.js +31 -35
  208. package/src/v4/index.js.map +1 -1
  209. package/src/v4/message/asynchronousMessage.d.ts +7 -6
  210. package/src/v4/message/asynchronousMessage.js +157 -190
  211. package/src/v4/message/asynchronousMessage.js.map +1 -1
  212. package/src/v4/message/index.d.ts +7 -6
  213. package/src/v4/message/index.js +188 -217
  214. package/src/v4/message/index.js.map +1 -1
  215. package/src/v4/message/types.d.ts +5 -3
  216. package/src/v4/types.d.ts +3 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [16.4.0](https://github.com/pact-foundation/pact-js/compare/v16.3.1...v16.4.0) (2026-05-04)
6
+
7
+
8
+ ### Features
9
+
10
+ * add the addInteractionReference function to V4 DSL classes to support external references ([#1762](https://github.com/pact-foundation/pact-js/issues/1762)) ([a65fe91](https://github.com/pact-foundation/pact-js/commit/a65fe918ec7224adbfe5b336e8864774a42cefe6))
11
+
12
+ ## [16.3.1](https://github.com/pact-foundation/pact-js/compare/v16.3.0...v16.3.1) (2026-04-29)
13
+
14
+
15
+ ### Fixes and Improvements
16
+
17
+ * extract content type from matchers ([5913a8e](https://github.com/pact-foundation/pact-js/commit/5913a8eb2a0c1520bd4e2f46be7a738d14782ab0))
18
+
5
19
  ## [16.3.0](https://github.com/pact-foundation/pact-js/compare/v16.2.0...v16.3.0) (2026-03-11)
6
20
 
7
21
 
@@ -56,7 +70,7 @@ All notable changes to this project will be documented in this file. See [commit
56
70
 
57
71
  * **deps:** update dependency ramda to ^0.32.0 ([#1578](https://github.com/pact-foundation/pact-js/issues/1578)) ([efb267f](https://github.com/pact-foundation/pact-js/commit/efb267fb41ae006b192ba602a224fd6565972e60))
58
72
  * Pact-JS Verifier Proxy Cannot Handle Root Path ([#1582](https://github.com/pact-foundation/pact-js/issues/1582)) ([983f5b3](https://github.com/pact-foundation/pact-js/commit/983f5b3db96454ea0c0be72f7f2cc5bef14d4669)), closes [#1581](https://github.com/pact-foundation/pact-js/issues/1581)
59
- * use /{*splat} for express proxy routes to match root and wildcard subpaths ([cf95657](https://github.com/pact-foundation/pact-js/commit/cf95657294aaab9bf8500f29d5419c22c9b7fe60))
73
+ * use `/{*splat}` for express proxy routes to match root and wildcard subpaths ([cf95657](https://github.com/pact-foundation/pact-js/commit/cf95657294aaab9bf8500f29d5419c22c9b7fe60))
60
74
 
61
75
  ## [16.0.0](https://github.com/pact-foundation/pact-js/compare/v15.0.1...v16.0.0) (2025-10-07)
62
76
 
@@ -1707,14 +1721,13 @@ different state phases.
1707
1721
 
1708
1722
  ### Fixes and Improvements
1709
1723
 
1710
- <<<<<<< HEAD
1711
1724
  * **pact-node:** bump dependency on pact-node ([a200414](https://github.com/pact-foundation/pact-js/commit/a2004143782be418b59a8266834c6aa8e6d2a1ef))
1712
1725
 
1713
1726
  ### [9.15.1](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.31...v9.15.1) (2021-02-23)
1714
1727
  * Bump pact-node version to get vulnerability fixes ([bc0e7f0](https://github.com/pact-foundation/pact-js/commit/bc0e7f019ef8585d4fc5c980575e0ec0a72f1b65))
1715
1728
 
1716
1729
  ### [9.15.3](https://github.com/pact-foundation/pact-js/compare/v9.15.2...v9.15.3) (2021-03-10)
1717
- <<<<<<< HEAD
1730
+
1718
1731
  * package.json & package-lock.json to reduce vulnerabilities ([aa8036c](https://github.com/pact-foundation/pact-js/commit/aa8036c2dd424d351d2afab003c1e539e2bc6e85))
1719
1732
 
1720
1733
  ## [9.15.0](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.29...v9.15.0) (2021-02-02)
package/CONTRIBUTING.md CHANGED
@@ -73,9 +73,9 @@ modified or new examples, refactorings, new tests, etc. We usually use one of `c
73
73
 
74
74
  ## Code style and formatting
75
75
 
76
- We use [Prettier](https://prettier.io/) for formatting, and for linting we use [ESLint](https://eslint.org/) (for TypeScript).
76
+ We use [Biome](https://biomejs.dev/) for both formatting and linting.
77
77
 
78
- The recommended approach is to configure Prettier to format on save in your editor 👌. If not, don't worry, our lint step will catch it.
78
+ The recommended approach is to install the [Biome VS Code extension](https://marketplace.visualstudio.com/items?itemName=biomejs.biome) and configure it to format on save 👌. If not, don't worry, our lint step will catch it.
79
79
 
80
80
  ## Pull requests
81
81
 
package/README.md CHANGED
@@ -246,7 +246,9 @@ It's best to run Pact verification tests as part of your unit testing suite, so
246
246
 
247
247
  ## Compatibility
248
248
 
249
- <details><summary>Specification Compatibility</summary>
249
+ <details>
250
+
251
+ <summary>Specification Compatibility</summary>
250
252
 
251
253
  | Version | Stable | [Spec] Compatibility | Install |
252
254
  | ------- | ------ | -------------------- | ------------------ |
@@ -258,7 +260,9 @@ _\*_ v3 support is limited to the subset of functionality required to enable lan
258
260
 
259
261
  </details>
260
262
 
261
- <details><summary>Supported Platforms</summary>
263
+ <details>
264
+
265
+ <summary>Supported Platforms</summary>
262
266
 
263
267
  | OS | Architecture | Supported | Pact-JS Version |
264
268
  | ------------- | ------------ | --------- | ---------------- |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "16.3.0",
3
+ "version": "16.4.0",
4
4
  "description": "Pact for all things Javascript",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -10,14 +10,16 @@
10
10
  "predist": "npm run clean",
11
11
  "dist": "tsc && copyfiles package.json ./dist",
12
12
  "install-plugins": "./scripts/install-plugins",
13
- "fix": "npm run format:fix && npm run lint:fix",
14
- "lint": "eslint --config .eslintrc.json \"{src,test}/**/*.ts\"",
15
- "lint:fix": "npm run lint -- --fix",
16
- "format:base": "prettier \"{src,test,examples}/**/*.{ts,js}\"",
17
- "format:fix": "npm run format:base -- --write",
18
- "format:check": "npm run format:base -- --check",
13
+ "lint:biome": "biome lint",
14
+ "lint:tsc": "tsc --noEmit",
15
+ "lint": "npm run lint:biome && npm run lint:tsc",
16
+ "lint:fix:biome": "biome lint --write",
17
+ "lint:fix": "npm run lint:fix:biome",
18
+ "format": "biome format",
19
+ "format:fix": "biome format --write",
20
+ "check": "npm run format && npm run lint",
21
+ "check:fix": "npm run format:fix && npm run lint:fix",
19
22
  "release": "commit-and-tag-version",
20
- "check": "npm run format:check && npm run lint && npm run test",
21
23
  "test": "mocha",
22
24
  "coverage": "nyc npm run test",
23
25
  "pretest": "npm run install-plugins",
@@ -103,7 +105,7 @@
103
105
  ]
104
106
  },
105
107
  "dependencies": {
106
- "@pact-foundation/pact-core": "^19.1.0",
108
+ "@pact-foundation/pact-core": "^19.2.0",
107
109
  "axios": "^1.12.2",
108
110
  "body-parser": "^2.2.0",
109
111
  "chalk": "4.1.2",
@@ -122,8 +124,9 @@
122
124
  "devDependencies": {
123
125
  "@babel/cli": "7.28.6",
124
126
  "@babel/core": "7.29.0",
125
- "@babel/preset-env": "7.29.0",
126
- "@pact-foundation/pact-js-prettier-config": "1.0.0",
127
+ "@babel/preset-env": "7.29.3",
128
+ "@biomejs/biome": "2.4.13",
129
+ "@tsconfig/node20": "20.1.9",
127
130
  "@types/chai": "5.2.3",
128
131
  "@types/chai-as-promised": "8.0.2",
129
132
  "@types/express": "4.17.25",
@@ -131,35 +134,29 @@
131
134
  "@types/lodash": "4.17.24",
132
135
  "@types/mocha": "10.0.10",
133
136
  "@types/nock": "11.1.0",
134
- "@types/node": "24.12.0",
137
+ "@types/node": "24.12.2",
135
138
  "@types/ramda": "0.31.1",
136
- "@types/sinon": "21.0.0",
139
+ "@types/sinon": "21.0.1",
137
140
  "@types/sinon-chai": "4.0.0",
138
141
  "@types/stack-utils": "2.0.3",
139
- "@typescript-eslint/eslint-plugin": "5.62.0",
140
- "@typescript-eslint/parser": "5.62.0",
141
142
  "chai": "6.2.2",
142
143
  "chai-as-promised": "8.0.2",
143
- "commit-and-tag-version": "12.6.1",
144
+ "commit-and-tag-version": "12.7.1",
144
145
  "copyfiles": "2.4.1",
145
- "eslint": "8.57.1",
146
- "eslint-config-airbnb-base": "15.0.0",
147
- "eslint-config-airbnb-typescript": "17.1.0",
148
- "eslint-config-prettier": "10.1.8",
149
- "eslint-import-resolver-typescript": "4.4.2",
150
- "eslint-plugin-chai-friendly": "1.1.0",
151
- "eslint-plugin-import": "2.32.0",
152
- "eslint-plugin-mocha": "10.5.0",
153
146
  "mocha": "11.7.5",
154
- "nock": "14.0.11",
147
+ "nock": "14.0.14",
155
148
  "nyc": "18.0.0",
156
- "prettier": "3.6.2",
157
149
  "proxyquire": "2.1.3",
158
150
  "rimraf": "6.1.3",
159
- "sinon": "21.0.2",
151
+ "sinon": "21.1.2",
160
152
  "sinon-chai": "4.0.1",
161
153
  "source-map-support": "0.5.21",
162
154
  "tsx": "4.21.0",
163
- "typescript": "5.9.3"
155
+ "typescript": "6.0.3"
156
+ },
157
+ "pnpm": {
158
+ "onlyBuiltDependencies": [
159
+ "@pact-foundation/pact-core"
160
+ ]
164
161
  }
165
162
  }
@@ -1,27 +1,7 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.ConfigurationError = void 0;
19
- var ConfigurationError = /** @class */ (function (_super) {
20
- __extends(ConfigurationError, _super);
21
- function ConfigurationError() {
22
- return _super !== null && _super.apply(this, arguments) || this;
23
- }
24
- return ConfigurationError;
25
- }(Error));
4
+ class ConfigurationError extends Error {
5
+ }
26
6
  exports.ConfigurationError = ConfigurationError;
27
7
  //# sourceMappingURL=configurationError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configurationError.js","sourceRoot":"","sources":["../../../../src/common/graphQL/configurationError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAAwC,sCAAK;IAA7C;;IAA+C,CAAC;IAAD,yBAAC;AAAD,CAAC,AAAhD,CAAwC,KAAK,GAAG;AAAnC,gDAAkB"}
1
+ {"version":3,"file":"configurationError.js","sourceRoot":"","sources":["../../../../src/common/graphQL/configurationError.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAmB,SAAQ,KAAK;CAAG;AAAhD,gDAAgD"}
@@ -1,5 +1,5 @@
1
- import { ASTNode } from 'graphql';
2
- import { OperationType } from './types';
1
+ import { type ASTNode } from 'graphql';
2
+ import type { OperationType } from './types';
3
3
  export interface GraphQLVariables {
4
4
  [name: string]: unknown;
5
5
  }
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.escapeGraphQlQuery = exports.escapeRegexChars = exports.escapeSpace = void 0;
7
7
  exports.validateQuery = validateQuery;
8
- var graphql_1 = require("graphql");
9
- var graphql_tag_1 = __importDefault(require("graphql-tag"));
10
- var graphQLQueryError_1 = require("./graphQLQueryError");
11
- var configurationError_1 = require("./configurationError");
8
+ const graphql_1 = require("graphql");
9
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
10
+ const graphQLQueryError_1 = require("./graphQLQueryError");
11
+ const configurationError_1 = require("./configurationError");
12
12
  /**
13
13
  * Accepts a raw or pre-parsed query, validating in the former case, and
14
14
  * returns a normalized raw query.
@@ -17,10 +17,10 @@ var configurationError_1 = require("./configurationError");
17
17
  */
18
18
  function validateQuery(query, type) {
19
19
  if (!query) {
20
- throw new configurationError_1.ConfigurationError("You must provide a GraphQL ".concat(type, "."));
20
+ throw new configurationError_1.ConfigurationError(`You must provide a GraphQL ${type}.`);
21
21
  }
22
22
  if (typeof query !== 'string') {
23
- if ((query === null || query === void 0 ? void 0 : query.kind) === 'Document') {
23
+ if (query?.kind === 'Document') {
24
24
  // Already parsed, store in string form
25
25
  return (0, graphql_1.print)(query);
26
26
  }
@@ -32,19 +32,16 @@ function validateQuery(query, type) {
32
32
  (0, graphql_tag_1.default)(query);
33
33
  }
34
34
  catch (e) {
35
- throw new graphQLQueryError_1.GraphQLQueryError("GraphQL ".concat(type, " is invalid: ").concat(e.message));
35
+ const error = e instanceof Error ? e : new Error(String(e));
36
+ throw new graphQLQueryError_1.GraphQLQueryError(`GraphQL ${type} is invalid: ${error.message}`);
36
37
  }
37
38
  return query;
38
39
  }
39
40
  }
40
- var escapeSpace = function (s) { return s.replace(/\s+/g, '\\s*'); };
41
+ const escapeSpace = (s) => s.replace(/\s+/g, '\\s*');
41
42
  exports.escapeSpace = escapeSpace;
42
- var escapeRegexChars = function (s) {
43
- return s.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
44
- };
43
+ const escapeRegexChars = (s) => s.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
45
44
  exports.escapeRegexChars = escapeRegexChars;
46
- var escapeGraphQlQuery = function (s) {
47
- return (0, exports.escapeSpace)((0, exports.escapeRegexChars)(s));
48
- };
45
+ const escapeGraphQlQuery = (s) => (0, exports.escapeSpace)((0, exports.escapeRegexChars)(s));
49
46
  exports.escapeGraphQlQuery = escapeGraphQlQuery;
50
47
  //# sourceMappingURL=graphQL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphQL.js","sourceRoot":"","sources":["../../../../src/common/graphQL/graphQL.ts"],"names":[],"mappings":";;;;;;AAgBA,sCA0BC;AA1CD,mCAAyC;AACzC,4DAA8B;AAC9B,yDAAwD;AACxD,2DAA0D;AAO1D;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,KAAuB,EACvB,IAAmB;IAEnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,uCAAkB,CAAC,qCAA8B,IAAI,MAAG,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,UAAU,EAAE,CAAC;YAC/B,uCAAuC;YACvC,OAAO,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,uCAAkB,CAC1B,uDAAuD,CACxD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,IAAI,CAAC;YACH,IAAA,qBAAG,EAAC,KAAK,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,qCAAiB,CAAC,kBAAW,IAAI,0BAAgB,CAAC,CAAC,OAAO,CAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,IAAM,WAAW,GAAG,UAAC,CAAS,IAAa,OAAA,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAzB,CAAyB,CAAC;AAA/D,QAAA,WAAW,eAAoD;AAErE,IAAM,gBAAgB,GAAG,UAAC,CAAS;IACxC,OAAA,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC;AAA1C,CAA0C,CAAC;AADhC,QAAA,gBAAgB,oBACgB;AAEtC,IAAM,kBAAkB,GAAG,UAAC,CAAS;IAC1C,OAAA,IAAA,mBAAW,EAAC,IAAA,wBAAgB,EAAC,CAAC,CAAC,CAAC;AAAhC,CAAgC,CAAC;AADtB,QAAA,kBAAkB,sBACI"}
1
+ {"version":3,"file":"graphQL.js","sourceRoot":"","sources":["../../../../src/common/graphQL/graphQL.ts"],"names":[],"mappings":";;;;;;AAgBA,sCA6BC;AA7CD,qCAA8C;AAC9C,8DAA8B;AAC9B,2DAAwD;AACxD,6DAA0D;AAO1D;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,KAAuB,EACvB,IAAmB;IAEnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,uCAAkB,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,uCAAuC;YACvC,OAAO,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,uCAAkB,CAC1B,uDAAuD,CACxD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,IAAI,CAAC;YACH,IAAA,qBAAG,EAAC,KAAK,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,IAAI,qCAAiB,CACzB,WAAW,IAAI,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAA/D,QAAA,WAAW,eAAoD;AAErE,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAU,EAAE,CACpD,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AADhC,QAAA,gBAAgB,oBACgB;AAEtC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAU,EAAE,CACtD,IAAA,mBAAW,EAAC,IAAA,wBAAgB,EAAC,CAAC,CAAC,CAAC,CAAC;AADtB,QAAA,kBAAkB,sBACI"}
@@ -1,27 +1,7 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.GraphQLQueryError = void 0;
19
- var GraphQLQueryError = /** @class */ (function (_super) {
20
- __extends(GraphQLQueryError, _super);
21
- function GraphQLQueryError() {
22
- return _super !== null && _super.apply(this, arguments) || this;
23
- }
24
- return GraphQLQueryError;
25
- }(Error));
4
+ class GraphQLQueryError extends Error {
5
+ }
26
6
  exports.GraphQLQueryError = GraphQLQueryError;
27
7
  //# sourceMappingURL=graphQLQueryError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphQLQueryError.js","sourceRoot":"","sources":["../../../../src/common/graphQL/graphQLQueryError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAAuC,qCAAK;IAA5C;;IAA8C,CAAC;IAAD,wBAAC;AAAD,CAAC,AAA/C,CAAuC,KAAK,GAAG;AAAlC,8CAAiB"}
1
+ {"version":3,"file":"graphQLQueryError.js","sourceRoot":"","sources":["../../../../src/common/graphQL/graphQLQueryError.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C"}
@@ -17,16 +17,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- var logger_1 = __importDefault(require("@pact-foundation/pact-core/src/logger"));
21
- var package_json_1 = require("../../package.json");
20
+ const logger_1 = __importDefault(require("@pact-foundation/pact-core/src/logger"));
21
+ const package_json_1 = require("../../package.json");
22
22
  __exportStar(require("@pact-foundation/pact-core/src/logger"), exports);
23
- var context = "pact@".concat(package_json_1.version);
23
+ const context = `pact@${package_json_1.version}`;
24
24
  exports.default = {
25
- pactCrash: function (message) { return logger_1.default.pactCrash(message, context); },
26
- error: function (message) { return logger_1.default.error(message, context); },
27
- warn: function (message) { return logger_1.default.warn(message, context); },
28
- info: function (message) { return logger_1.default.info(message, context); },
29
- debug: function (message) { return logger_1.default.debug(message, context); },
30
- trace: function (message) { return logger_1.default.trace(message, context); },
25
+ pactCrash: (message) => logger_1.default.pactCrash(message, context),
26
+ error: (message) => logger_1.default.error(message, context),
27
+ warn: (message) => logger_1.default.warn(message, context),
28
+ info: (message) => logger_1.default.info(message, context),
29
+ debug: (message) => logger_1.default.debug(message, context),
30
+ trace: (message) => logger_1.default.trace(message, context),
31
31
  };
32
32
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,iFAA2D;AAE3D,mDAA6C;AAE7C,wEAAsD;AAEtD,IAAM,OAAO,GAAG,eAAQ,sBAAO,CAAE,CAAC;AAElC,kBAAe;IACb,SAAS,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAlC,CAAkC;IACxE,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;IAChE,IAAI,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAA7B,CAA6B;IAC9D,IAAI,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAA7B,CAA6B;IAC9D,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;IAChE,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;CACjE,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,mFAA2D;AAE3D,qDAA6C;AAE7C,wEAAsD;AAEtD,MAAM,OAAO,GAAG,QAAQ,sBAAO,EAAE,CAAC;AAElC,kBAAe;IACb,SAAS,EAAE,CAAC,OAAe,EAAQ,EAAE,CAAC,gBAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IACxE,KAAK,EAAE,CAAC,OAAe,EAAQ,EAAE,CAAC,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAChE,IAAI,EAAE,CAAC,OAAe,EAAQ,EAAE,CAAC,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;IAC9D,IAAI,EAAE,CAAC,OAAe,EAAQ,EAAE,CAAC,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;IAC9D,KAAK,EAAE,CAAC,OAAe,EAAQ,EAAE,CAAC,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAChE,KAAK,EAAE,CAAC,OAAe,EAAQ,EAAE,CAAC,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;CACjE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Rules, Matcher } from '../v3/types';
1
+ import type { Rules, Matcher } from '../v3/types';
2
2
  /**
3
3
  * Converts a matcher to the FFI format expected by pact-core
4
4
  * @param matcher The matcher to convert
@@ -6,12 +6,12 @@ exports.convertRulesToFFI = exports.validateRules = exports.convertMatcherToFFI
6
6
  * @param matcher The matcher to convert
7
7
  * @returns The matcher in FFI format
8
8
  */
9
- var convertMatcherToFFI = function (matcher) {
10
- var result = {};
9
+ const convertMatcherToFFI = (matcher) => {
10
+ const result = {};
11
11
  if (matcher['pact:matcher:type']) {
12
12
  result.match = matcher['pact:matcher:type'];
13
13
  }
14
- Object.keys(matcher).forEach(function (key) {
14
+ Object.keys(matcher).forEach((key) => {
15
15
  if (key !== 'pact:matcher:type' && key !== 'pact:generator:type') {
16
16
  result[key] = matcher[key];
17
17
  }
@@ -24,30 +24,30 @@ exports.convertMatcherToFFI = convertMatcherToFFI;
24
24
  * @param rules The rules to validate
25
25
  * @throws Error if rules is not a valid Rules object
26
26
  */
27
- var validateRules = function (rules) {
27
+ const validateRules = (rules) => {
28
28
  if (!rules || typeof rules !== 'object' || Array.isArray(rules)) {
29
29
  throw new Error('rules must be an object');
30
30
  }
31
- var validParts = ['path', 'body', 'header', 'query', 'status'];
32
- var ruleKeys = Object.keys(rules);
33
- ruleKeys.forEach(function (key) {
31
+ const validParts = ['path', 'body', 'header', 'query', 'status'];
32
+ const ruleKeys = Object.keys(rules);
33
+ ruleKeys.forEach((key) => {
34
34
  if (!validParts.includes(key)) {
35
- throw new Error("Invalid part \"".concat(key, "\" in rules. Valid parts are: ").concat(validParts.join(', ')));
35
+ throw new Error(`Invalid part "${key}" in rules. Valid parts are: ${validParts.join(', ')}`);
36
36
  }
37
- var partRules = rules[key];
37
+ const partRules = rules[key];
38
38
  if (!partRules)
39
39
  return;
40
- var rulesArray = Array.isArray(partRules) ? partRules : [partRules];
41
- rulesArray.forEach(function (rule, index) {
40
+ const rulesArray = Array.isArray(partRules) ? partRules : [partRules];
41
+ rulesArray.forEach((rule, index) => {
42
42
  if (!rule || typeof rule !== 'object') {
43
- throw new Error("Rule at ".concat(key, "[").concat(index, "] must be an object"));
43
+ throw new Error(`Rule at ${key}[${index}] must be an object`);
44
44
  }
45
- var ruleObj = rule;
45
+ const ruleObj = rule;
46
46
  if (!('rules' in ruleObj) || !Array.isArray(ruleObj.rules)) {
47
- throw new Error("Rule at ".concat(key, "[").concat(index, "] must have a \"rule\" property that is an array"));
47
+ throw new Error(`Rule at ${key}[${index}] must have a "rule" property that is an array`);
48
48
  }
49
49
  if ('path' in ruleObj && typeof ruleObj.path !== 'string') {
50
- throw new Error("Rule at ".concat(key, "[").concat(index, "] has a \"path\" property that is not a string"));
50
+ throw new Error(`Rule at ${key}[${index}] has a "path" property that is not a string`);
51
51
  }
52
52
  });
53
53
  });
@@ -58,15 +58,15 @@ exports.validateRules = validateRules;
58
58
  * @param rules Rules in the user-friendly format
59
59
  * @returns Rules in FFI format
60
60
  */
61
- var convertRulesToFFI = function (rules) {
62
- var ffiRules = {};
63
- Object.keys(rules).forEach(function (part) {
64
- var partRules = rules[part];
61
+ const convertRulesToFFI = (rules) => {
62
+ const ffiRules = {};
63
+ Object.keys(rules).forEach((part) => {
64
+ const partRules = rules[part];
65
65
  if (!partRules)
66
66
  return;
67
- var rulesArray = Array.isArray(partRules) ? partRules : [partRules];
67
+ const rulesArray = Array.isArray(partRules) ? partRules : [partRules];
68
68
  ffiRules[part] = {};
69
- rulesArray.forEach(function (rule) {
69
+ rulesArray.forEach((rule) => {
70
70
  if (rule.path) {
71
71
  ffiRules[part][rule.path] = {
72
72
  matchers: rule.rules.map(exports.convertMatcherToFFI),
@@ -1 +1 @@
1
- {"version":3,"file":"matchingRules.js","sourceRoot":"","sources":["../../../src/common/matchingRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matchingRules.js","sourceRoot":"","sources":["../../../src/common/matchingRules.ts"],"names":[],"mappings":"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"}
package/src/common/net.js CHANGED
@@ -9,52 +9,46 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.freePort = exports.isPortAvailable = exports.portCheck = exports.localAddresses = void 0;
12
- var net_1 = __importDefault(require("net"));
12
+ const node_net_1 = __importDefault(require("node:net"));
13
13
  exports.localAddresses = ['127.0.0.1', 'localhost', '0.0.0.0', '::1'];
14
- var portCheck = function (port, host) {
15
- return new Promise(function (resolve, reject) {
16
- var server = net_1.default
17
- .createServer()
18
- .listen({ port: port, host: host, exclusive: true })
19
- .on('error', function (e) {
20
- if (e.code === 'EADDRINUSE') {
21
- reject(new Error("Port ".concat(port, " is unavailable on address ").concat(host)));
22
- }
23
- else {
24
- reject(e);
25
- }
26
- })
27
- .on('listening', function () {
28
- server.once('close', function () { return resolve(); }).close();
29
- });
30
- });
31
- };
32
- exports.portCheck = portCheck;
33
- var isPortAvailable = function (port, host) {
34
- return Promise.allSettled(exports.localAddresses.map(function (localHost) { return (0, exports.portCheck)(port, localHost); })).then(function (settledPortChecks) {
35
- // if every port check failed, then fail the `isPortAvailable` check
36
- if (settledPortChecks.every(function (result) { return result.status === 'rejected'; })) {
37
- throw new Error("Cannot open port ".concat(port, " on ipv4 or ipv6 interfaces"));
14
+ const portCheck = (port, host) => new Promise((resolve, reject) => {
15
+ const server = node_net_1.default
16
+ .createServer()
17
+ .listen({ port, host, exclusive: true })
18
+ .on('error', (e) => {
19
+ if (e.code === 'EADDRINUSE') {
20
+ reject(new Error(`Port ${port} is unavailable on address ${host}`));
38
21
  }
39
- // the local addresses passed - now check the host that the user has specified
40
- return (0, exports.portCheck)(port, host);
22
+ else {
23
+ reject(e);
24
+ }
25
+ })
26
+ .on('listening', () => {
27
+ server.once('close', () => resolve()).close();
41
28
  });
42
- };
29
+ });
30
+ exports.portCheck = portCheck;
31
+ const isPortAvailable = (port, host) => Promise.allSettled(exports.localAddresses.map((localHost) => (0, exports.portCheck)(port, localHost))).then((settledPortChecks) => {
32
+ // if every port check failed, then fail the `isPortAvailable` check
33
+ if (settledPortChecks.every((result) => result.status === 'rejected')) {
34
+ throw new Error(`Cannot open port ${port} on ipv4 or ipv6 interfaces`);
35
+ }
36
+ // the local addresses passed - now check the host that the user has specified
37
+ return (0, exports.portCheck)(port, host);
38
+ });
43
39
  exports.isPortAvailable = isPortAvailable;
44
- var freePort = function () {
45
- return new Promise(function (res) {
46
- var s = net_1.default.createServer();
47
- s.listen(0, function () {
48
- var addr = s.address();
49
- if (addr !== null && typeof addr !== 'string') {
50
- var port_1 = addr.port;
51
- s.close(function () { return res(port_1); });
52
- }
53
- else {
54
- throw Error('unable to find a free port');
55
- }
56
- });
40
+ const freePort = () => new Promise((res) => {
41
+ const s = node_net_1.default.createServer();
42
+ s.listen(0, () => {
43
+ const addr = s.address();
44
+ if (addr !== null && typeof addr !== 'string') {
45
+ const { port } = addr;
46
+ s.close(() => res(port));
47
+ }
48
+ else {
49
+ throw Error('unable to find a free port');
50
+ }
57
51
  });
58
- };
52
+ });
59
53
  exports.freePort = freePort;
60
54
  //# sourceMappingURL=net.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/common/net.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,4CAAsB;AAET,QAAA,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEpE,IAAM,SAAS,GAAG,UAAC,IAAY,EAAE,IAAY;IAClD,OAAA,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAC1B,IAAM,MAAM,GAAG,aAAG;aACf,YAAY,EAAE;aACd,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACvC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAwB;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,eAAQ,IAAI,wCAA8B,IAAI,CAAE,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AAdF,CAcE,CAAC;AAfQ,QAAA,SAAS,aAejB;AAEE,IAAM,eAAe,GAAG,UAAC,IAAY,EAAE,IAAY;IACxD,OAAA,OAAO,CAAC,UAAU,CAChB,sBAAc,CAAC,GAAG,CAAC,UAAC,SAAS,IAAK,OAAA,IAAA,iBAAS,EAAC,IAAI,EAAE,SAAS,CAAC,EAA1B,CAA0B,CAAC,CAC9D,CAAC,IAAI,CAAC,UAAC,iBAAiB;QACvB,oEAAoE;QACpE,IAAI,iBAAiB,CAAC,KAAK,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,MAAM,KAAK,UAAU,EAA5B,CAA4B,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,2BAAoB,IAAI,gCAA6B,CAAC,CAAC;QACzE,CAAC;QAED,8EAA8E;QAC9E,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC;AAVF,CAUE,CAAC;AAXQ,QAAA,eAAe,mBAWvB;AAEE,IAAM,QAAQ,GAAG;IACtB,OAAA,IAAI,OAAO,CAAC,UAAC,GAAG;QACd,IAAM,CAAC,GAAG,aAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;YACV,IAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,IAAA,MAAI,GAAK,IAAI,KAAT,CAAU;gBACtB,CAAC,CAAC,KAAK,CAAC,cAAM,OAAA,GAAG,CAAC,MAAI,CAAC,EAAT,CAAS,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AAXF,CAWE,CAAC;AAZQ,QAAA,QAAQ,YAYhB"}
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/common/net.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,wDAA2B;AAEd,QAAA,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEpE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,IAAY,EAAiB,EAAE,CACrE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,MAAM,GAAG,kBAAG;SACf,YAAY,EAAE;SACd,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACvC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAwB,EAAE,EAAE;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,8BAA8B,IAAI,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;SACD,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAfQ,QAAA,SAAS,aAejB;AAEE,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAY,EAAiB,EAAE,CAC3E,OAAO,CAAC,UAAU,CAChB,sBAAc,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAC9D,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;IAC3B,oEAAoE;IACpE,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,6BAA6B,CAAC,CAAC;IACzE,CAAC;IAED,8EAA8E;IAC9E,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAXQ,QAAA,eAAe,mBAWvB;AAEE,MAAM,QAAQ,GAAG,GAAoB,EAAE,CAC5C,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;IAClB,MAAM,CAAC,GAAG,kBAAG,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;QACf,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAZQ,QAAA,QAAQ,YAYhB"}