@pact-foundation/pact 16.3.1 → 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 (213) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/CONTRIBUTING.md +2 -2
  3. package/package.json +16 -24
  4. package/src/common/graphQL/configurationError.js +2 -22
  5. package/src/common/graphQL/configurationError.js.map +1 -1
  6. package/src/common/graphQL/graphQL.d.ts +2 -2
  7. package/src/common/graphQL/graphQL.js +11 -14
  8. package/src/common/graphQL/graphQL.js.map +1 -1
  9. package/src/common/graphQL/graphQLQueryError.js +2 -22
  10. package/src/common/graphQL/graphQLQueryError.js.map +1 -1
  11. package/src/common/logger.js +9 -9
  12. package/src/common/logger.js.map +1 -1
  13. package/src/common/matchingRules.d.ts +1 -1
  14. package/src/common/matchingRules.js +21 -21
  15. package/src/common/matchingRules.js.map +1 -1
  16. package/src/common/net.js +36 -42
  17. package/src/common/net.js.map +1 -1
  18. package/src/common/net.spec.js +41 -53
  19. package/src/common/net.spec.js.map +1 -1
  20. package/src/common/request.js +33 -82
  21. package/src/common/request.js.map +1 -1
  22. package/src/common/request.spec.js +26 -26
  23. package/src/common/request.spec.js.map +1 -1
  24. package/src/common/spec.js +3 -4
  25. package/src/common/spec.js.map +1 -1
  26. package/src/dsl/apolloGraphql.js +7 -25
  27. package/src/dsl/apolloGraphql.js.map +1 -1
  28. package/src/dsl/apolloGraphql.spec.js +21 -18
  29. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  30. package/src/dsl/graphql.d.ts +2 -2
  31. package/src/dsl/graphql.js +29 -48
  32. package/src/dsl/graphql.js.map +1 -1
  33. package/src/dsl/graphql.spec.js +81 -66
  34. package/src/dsl/graphql.spec.js.map +1 -1
  35. package/src/dsl/interaction.d.ts +2 -2
  36. package/src/dsl/interaction.js +41 -48
  37. package/src/dsl/interaction.js.map +1 -1
  38. package/src/dsl/interaction.spec.js +77 -70
  39. package/src/dsl/interaction.spec.js.map +1 -1
  40. package/src/dsl/matchers.d.ts +1 -1
  41. package/src/dsl/matchers.js +19 -31
  42. package/src/dsl/matchers.js.map +1 -1
  43. package/src/dsl/matchers.spec.js +199 -208
  44. package/src/dsl/matchers.spec.js.map +1 -1
  45. package/src/dsl/message.d.ts +3 -3
  46. package/src/dsl/options.d.ts +3 -3
  47. package/src/dsl/verifier/proxy/hooks.d.ts +2 -2
  48. package/src/dsl/verifier/proxy/hooks.js +42 -112
  49. package/src/dsl/verifier/proxy/hooks.js.map +1 -1
  50. package/src/dsl/verifier/proxy/hooks.spec.js +84 -199
  51. package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
  52. package/src/dsl/verifier/proxy/messages.d.ts +2 -2
  53. package/src/dsl/verifier/proxy/messages.js +88 -106
  54. package/src/dsl/verifier/proxy/messages.js.map +1 -1
  55. package/src/dsl/verifier/proxy/parseBody.d.ts +1 -1
  56. package/src/dsl/verifier/proxy/parseBody.js +2 -2
  57. package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
  58. package/src/dsl/verifier/proxy/parseBody.spec.js +31 -76
  59. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
  60. package/src/dsl/verifier/proxy/proxy.d.ts +2 -2
  61. package/src/dsl/verifier/proxy/proxy.js +22 -26
  62. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  63. package/src/dsl/verifier/proxy/proxy.spec.js +14 -14
  64. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
  65. package/src/dsl/verifier/proxy/proxyRequest.d.ts +3 -3
  66. package/src/dsl/verifier/proxy/proxyRequest.js +7 -7
  67. package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
  68. package/src/dsl/verifier/proxy/proxyRequest.spec.js +49 -64
  69. package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
  70. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -3
  71. package/src/dsl/verifier/proxy/stateHandler/setupStates.js +14 -18
  72. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
  73. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +76 -159
  74. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
  75. package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +2 -2
  76. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +23 -72
  77. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
  78. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +37 -85
  79. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  80. package/src/dsl/verifier/proxy/tracer.d.ts +1 -1
  81. package/src/dsl/verifier/proxy/tracer.js +42 -35
  82. package/src/dsl/verifier/proxy/tracer.js.map +1 -1
  83. package/src/dsl/verifier/proxy/types.d.ts +5 -5
  84. package/src/dsl/verifier/types.d.ts +3 -3
  85. package/src/dsl/verifier/verifier.d.ts +1 -1
  86. package/src/dsl/verifier/verifier.js +49 -56
  87. package/src/dsl/verifier/verifier.js.map +1 -1
  88. package/src/dsl/verifier/verifier.spec.js +76 -93
  89. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  90. package/src/errors/configurationError.js +2 -22
  91. package/src/errors/configurationError.js.map +1 -1
  92. package/src/errors/graphQLQueryError.js +2 -22
  93. package/src/errors/graphQLQueryError.js.map +1 -1
  94. package/src/errors/matcherError.js +2 -22
  95. package/src/errors/matcherError.js.map +1 -1
  96. package/src/errors/verificationError.js +2 -22
  97. package/src/errors/verificationError.js.map +1 -1
  98. package/src/httpPact/ffi.d.ts +2 -2
  99. package/src/httpPact/ffi.js +28 -29
  100. package/src/httpPact/ffi.js.map +1 -1
  101. package/src/httpPact/ffi.spec.js +30 -31
  102. package/src/httpPact/ffi.spec.js.map +1 -1
  103. package/src/httpPact/index.d.ts +3 -3
  104. package/src/httpPact/index.js +92 -149
  105. package/src/httpPact/index.js.map +1 -1
  106. package/src/httpPact/index.spec.js +75 -125
  107. package/src/httpPact/index.spec.js.map +1 -1
  108. package/src/httpPact/tracing.js +20 -28
  109. package/src/httpPact/tracing.js.map +1 -1
  110. package/src/index.js +1 -1
  111. package/src/index.js.map +1 -1
  112. package/src/messageConsumerPact.d.ts +3 -3
  113. package/src/messageConsumerPact.js +50 -51
  114. package/src/messageConsumerPact.js.map +1 -1
  115. package/src/messageConsumerPact.spec.js +50 -49
  116. package/src/messageConsumerPact.spec.js.map +1 -1
  117. package/src/messageProviderPact.d.ts +3 -3
  118. package/src/messageProviderPact.js +68 -85
  119. package/src/messageProviderPact.js.map +1 -1
  120. package/src/messageProviderPact.spec.js +75 -66
  121. package/src/messageProviderPact.spec.js.map +1 -1
  122. package/src/pact.integration.spec.js +243 -313
  123. package/src/pact.integration.spec.js.map +1 -1
  124. package/src/v3/display.d.ts +1 -1
  125. package/src/v3/display.js +44 -58
  126. package/src/v3/display.js.map +1 -1
  127. package/src/v3/ffi.js +15 -15
  128. package/src/v3/ffi.js.map +1 -1
  129. package/src/v3/ffi.spec.js +8 -8
  130. package/src/v3/ffi.spec.js.map +1 -1
  131. package/src/v3/graphql/graphQL.d.ts +4 -4
  132. package/src/v3/graphql/graphQL.js +50 -75
  133. package/src/v3/graphql/graphQL.js.map +1 -1
  134. package/src/v3/matchers.d.ts +2 -2
  135. package/src/v3/matchers.js +112 -147
  136. package/src/v3/matchers.js.map +1 -1
  137. package/src/v3/matchers.spec.js +168 -187
  138. package/src/v3/matchers.spec.js.map +1 -1
  139. package/src/v3/pact.d.ts +2 -2
  140. package/src/v3/pact.js +103 -151
  141. package/src/v3/pact.js.map +1 -1
  142. package/src/v3/types.d.ts +1 -1
  143. package/src/v3/xml/xmlBuilder.d.ts +1 -3
  144. package/src/v3/xml/xmlBuilder.js +7 -9
  145. package/src/v3/xml/xmlBuilder.js.map +1 -1
  146. package/src/v3/xml/xmlElement.d.ts +2 -2
  147. package/src/v3/xml/xmlElement.js +24 -41
  148. package/src/v3/xml/xmlElement.js.map +1 -1
  149. package/src/v3/xml/xmlElement.spec.js +23 -25
  150. package/src/v3/xml/xmlElement.spec.js.map +1 -1
  151. package/src/v3/xml/xmlNode.js +2 -5
  152. package/src/v3/xml/xmlNode.js.map +1 -1
  153. package/src/v3/xml/xmlText.d.ts +1 -1
  154. package/src/v3/xml/xmlText.js +9 -25
  155. package/src/v3/xml/xmlText.js.map +1 -1
  156. package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +4 -4
  157. package/src/v4/graphql/graphQLInteractionWithRequest.js +21 -17
  158. package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
  159. package/src/v4/graphql/graphQLRequestBuilder.d.ts +3 -3
  160. package/src/v4/graphql/graphQLRequestBuilder.js +18 -20
  161. package/src/v4/graphql/graphQLRequestBuilder.js.map +1 -1
  162. package/src/v4/graphql/index.d.ts +6 -6
  163. package/src/v4/graphql/index.js +21 -17
  164. package/src/v4/graphql/index.js.map +1 -1
  165. package/src/v4/graphql/types.d.ts +5 -5
  166. package/src/v4/http/index.d.ts +2 -2
  167. package/src/v4/http/index.js +48 -93
  168. package/src/v4/http/index.js.map +1 -1
  169. package/src/v4/http/interactionWithCompleteRequest.d.ts +4 -7
  170. package/src/v4/http/interactionWithCompleteRequest.js +6 -10
  171. package/src/v4/http/interactionWithCompleteRequest.js.map +1 -1
  172. package/src/v4/http/interactionWithPlugin.d.ts +3 -3
  173. package/src/v4/http/interactionWithPlugin.js +14 -11
  174. package/src/v4/http/interactionWithPlugin.js.map +1 -1
  175. package/src/v4/http/interactionWithPluginRequest.d.ts +2 -2
  176. package/src/v4/http/interactionWithPluginRequest.js +11 -8
  177. package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
  178. package/src/v4/http/interactionWithPluginResponse.d.ts +2 -2
  179. package/src/v4/http/interactionWithPluginResponse.js +10 -48
  180. package/src/v4/http/interactionWithPluginResponse.js.map +1 -1
  181. package/src/v4/http/interactionWithRequest.d.ts +2 -2
  182. package/src/v4/http/interactionWithRequest.js +11 -8
  183. package/src/v4/http/interactionWithRequest.js.map +1 -1
  184. package/src/v4/http/interactionWithResponse.d.ts +2 -2
  185. package/src/v4/http/interactionWithResponse.js +10 -48
  186. package/src/v4/http/interactionWithResponse.js.map +1 -1
  187. package/src/v4/http/requestBuilder.d.ts +3 -3
  188. package/src/v4/http/requestBuilder.js +32 -34
  189. package/src/v4/http/requestBuilder.js.map +1 -1
  190. package/src/v4/http/requestWithPluginBuilder.d.ts +2 -2
  191. package/src/v4/http/requestWithPluginBuilder.js +26 -46
  192. package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
  193. package/src/v4/http/responseBuilder.d.ts +3 -3
  194. package/src/v4/http/responseBuilder.js +24 -25
  195. package/src/v4/http/responseBuilder.js.map +1 -1
  196. package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
  197. package/src/v4/http/responseWithPluginBuilder.js +5 -25
  198. package/src/v4/http/responseWithPluginBuilder.js.map +1 -1
  199. package/src/v4/http/types.d.ts +3 -2
  200. package/src/v4/http/unconfiguredInteraction.d.ts +6 -5
  201. package/src/v4/http/unconfiguredInteraction.js +31 -26
  202. package/src/v4/http/unconfiguredInteraction.js.map +1 -1
  203. package/src/v4/index.d.ts +4 -4
  204. package/src/v4/index.js +31 -35
  205. package/src/v4/index.js.map +1 -1
  206. package/src/v4/message/asynchronousMessage.d.ts +7 -6
  207. package/src/v4/message/asynchronousMessage.js +157 -190
  208. package/src/v4/message/asynchronousMessage.js.map +1 -1
  209. package/src/v4/message/index.d.ts +7 -6
  210. package/src/v4/message/index.js +188 -217
  211. package/src/v4/message/index.js.map +1 -1
  212. package/src/v4/message/types.d.ts +5 -3
  213. package/src/v4/types.d.ts +3 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
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
+
5
12
  ## [16.3.1](https://github.com/pact-foundation/pact-js/compare/v16.3.0...v16.3.1) (2026-04-29)
6
13
 
7
14
 
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "16.3.1",
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.2",
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",
@@ -136,31 +139,20 @@
136
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
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.2.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.13",
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
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"
164
156
  },
165
157
  "pnpm": {
166
158
  "onlyBuiltDependencies": [
@@ -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"}
@@ -36,69 +36,57 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var chai = __importStar(require("chai"));
40
- var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
41
- var net_1 = __importDefault(require("net"));
42
- var net_2 = require("./net");
43
- var logger_1 = __importDefault(require("./logger"));
44
- var expect = chai.expect;
39
+ const chai = __importStar(require("chai"));
40
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
41
+ const node_net_1 = __importDefault(require("node:net"));
42
+ const net_1 = require("./net");
43
+ const logger_1 = __importDefault(require("./logger"));
44
+ const { expect } = chai;
45
45
  chai.use(chai_as_promised_1.default);
46
- describe('Net', function () {
47
- var port = 4567;
48
- var defaultHost = '0.0.0.0';
49
- var specialPort = -1;
46
+ describe('Net', () => {
47
+ const port = 4567;
48
+ const defaultHost = '0.0.0.0';
49
+ const specialPort = -1;
50
50
  // Utility function to create a server on a given port and return a Promise
51
- var createServer = function (p, host) {
52
- if (host === void 0) { host = defaultHost; }
53
- return new Promise(function (resolve, reject) {
54
- var server = net_1.default.createServer();
55
- server.on('error', function (err) { return reject(err); });
56
- server.on('listening', function () { return resolve(server); });
57
- server.listen({ port: p, host: host, exclusive: true }, function () {
58
- logger_1.default.info("test server is up on ".concat(host, ":").concat(p));
59
- });
51
+ const createServer = (p, host = defaultHost) => new Promise((resolve, reject) => {
52
+ const server = node_net_1.default.createServer();
53
+ server.on('error', (err) => reject(err));
54
+ server.on('listening', () => resolve(server));
55
+ server.listen({ port: p, host, exclusive: true }, () => {
56
+ logger_1.default.info(`test server is up on ${host}:${p}`);
60
57
  });
61
- };
62
- describe('#isPortAvailable', function () {
63
- context('when the port is not allowed to be bound', function () {
64
- it('returns a rejected promise', function () {
65
- return expect((0, net_2.isPortAvailable)(specialPort, defaultHost)).to.eventually.be
66
- .rejected;
67
- });
58
+ });
59
+ describe('#isPortAvailable', () => {
60
+ context('when the port is not allowed to be bound', () => {
61
+ it('returns a rejected promise', () => expect((0, net_1.isPortAvailable)(specialPort, defaultHost)).to.eventually.be
62
+ .rejected);
68
63
  });
69
- context('when the port is available', function () {
70
- it('returns a fulfilled promise', function () {
71
- return expect((0, net_2.isPortAvailable)(port, defaultHost)).to.eventually.be.fulfilled;
72
- });
64
+ context('when the port is available', () => {
65
+ it('returns a fulfilled promise', () => expect((0, net_1.isPortAvailable)(port, defaultHost)).to.eventually.be.fulfilled);
73
66
  });
74
- context('when the port is unavailable', function () {
75
- var closeFn = function (cb) { return cb(); };
76
- it('returns a rejected promise', function () {
77
- return createServer(port).then(function (server) {
78
- closeFn = server.close.bind(server);
79
- return expect((0, net_2.isPortAvailable)(port, defaultHost)).to.eventually.be
67
+ context('when the port is unavailable', () => {
68
+ it('returns a rejected promise', () => {
69
+ let server;
70
+ return createServer(port)
71
+ .then((s) => {
72
+ server = s;
73
+ return expect((0, net_1.isPortAvailable)(port, defaultHost)).to.eventually.be
80
74
  .rejected;
81
- });
82
- });
83
- // close the servers used in this test as to not conflict with other tests
84
- afterEach(function (done) {
85
- closeFn(done);
75
+ })
76
+ .finally(() => new Promise((resolve) => server?.close(() => resolve())));
86
77
  });
87
78
  });
88
- context('when a single host is unavailable', function () {
89
- var closeFn = function (cb) { return cb(); };
90
- it('returns a fulfilled promise', function () {
91
- // simulate ::1 being unavailable
92
- return createServer(port, '::1').then(function (server) {
93
- closeFn = server.close.bind(server);
79
+ context('when a single host is unavailable', () => {
80
+ it('returns a fulfilled promise', () => {
81
+ let server;
82
+ return createServer(port, '::1')
83
+ .then((s) => {
84
+ server = s;
94
85
  // this should work as the `127.0.0.1` is NOT `::1`
95
- return expect((0, net_2.isPortAvailable)(port, '127.0.0.1')).to.eventually.be
86
+ return expect((0, net_1.isPortAvailable)(port, '127.0.0.1')).to.eventually.be
96
87
  .fulfilled;
97
- });
98
- });
99
- // close the servers used in this test as to not conflict with other tests
100
- afterEach(function (done) {
101
- closeFn(done);
88
+ })
89
+ .finally(() => new Promise((resolve) => server?.close(() => resolve())));
102
90
  });
103
91
  });
104
92
  });