@pact-foundation/pact-core 19.1.0 → 20.0.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.
- package/.editorconfig +13 -0
- package/CHANGELOG.md +16 -0
- package/biome.jsonc +28 -0
- package/{src → dist}/consumer/checkErrors.js +1 -1
- package/dist/consumer/checkErrors.js.map +1 -0
- package/{src → dist}/consumer/index.d.ts +2 -2
- package/{src → dist}/consumer/index.js +13 -1
- package/dist/consumer/index.js.map +1 -0
- package/{src → dist}/consumer/internals.d.ts +2 -2
- package/dist/consumer/internals.js.map +1 -0
- package/{src → dist}/consumer/types.d.ts +52 -0
- package/dist/consumer/types.js.map +1 -0
- package/{src → dist}/ffi/index.d.ts +3 -3
- package/{src → dist}/ffi/index.js +18 -2
- package/dist/ffi/index.js.map +1 -0
- package/{src → dist}/ffi/types.d.ts +6 -5
- package/{src → dist}/ffi/types.js +16 -0
- package/dist/ffi/types.js.map +1 -0
- package/{src → dist}/index.js +4 -5
- package/dist/index.js.map +1 -0
- package/dist/logger/crashMessage.js.map +1 -0
- package/{src → dist}/logger/index.d.ts +1 -1
- package/{src → dist}/logger/index.js +2 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/pino.d.ts +3 -0
- package/{src → dist}/logger/pino.js +3 -0
- package/dist/logger/pino.js.map +1 -0
- package/dist/logger/types.js.map +1 -0
- package/{src → dist}/pact-environment.js +1 -1
- package/dist/pact-environment.js.map +1 -0
- package/{src → dist}/pact.d.ts +2 -2
- package/{src → dist}/pact.js +3 -2
- package/dist/pact.js.map +1 -0
- package/{src → dist}/verifier/argumentMapper/arguments.d.ts +3 -3
- package/{src → dist}/verifier/argumentMapper/arguments.js +5 -5
- package/dist/verifier/argumentMapper/arguments.js.map +1 -0
- package/{src → dist}/verifier/argumentMapper/index.d.ts +2 -2
- package/{src → dist}/verifier/argumentMapper/index.js +1 -1
- package/dist/verifier/argumentMapper/index.js.map +1 -0
- package/{src → dist}/verifier/argumentMapper/types.d.ts +1 -1
- package/dist/verifier/argumentMapper/types.js.map +1 -0
- package/{src → dist}/verifier/index.d.ts +1 -1
- package/{src → dist}/verifier/index.js +4 -0
- package/dist/verifier/index.js.map +1 -0
- package/{src → dist}/verifier/nativeVerifier.d.ts +1 -1
- package/{src → dist}/verifier/nativeVerifier.js +4 -1
- package/dist/verifier/nativeVerifier.js.map +1 -0
- package/{src → dist}/verifier/types.d.ts +4 -1
- package/dist/verifier/types.js.map +1 -0
- package/{src → dist}/verifier/validateOptions.d.ts +1 -1
- package/{src → dist}/verifier/validateOptions.js +3 -0
- package/dist/verifier/validateOptions.js.map +1 -0
- package/junit.xml +526 -0
- package/package.json +33 -52
- package/eslint.config.mjs +0 -68
- package/src/consumer/checkErrors.js.map +0 -1
- package/src/consumer/index.js.map +0 -1
- package/src/consumer/internals.js.map +0 -1
- package/src/consumer/types.js.map +0 -1
- package/src/ffi/index.js.map +0 -1
- package/src/ffi/node-gyp-build.d.ts +0 -1
- package/src/ffi/node-gyp-build.js +0 -2
- package/src/ffi/node-gyp-build.js.map +0 -1
- package/src/ffi/types.js.map +0 -1
- package/src/index.js.map +0 -1
- package/src/logger/crashMessage.js.map +0 -1
- package/src/logger/index.js.map +0 -1
- package/src/logger/pino.d.ts +0 -3
- package/src/logger/pino.js.map +0 -1
- package/src/logger/types.js.map +0 -1
- package/src/pact-environment.js.map +0 -1
- package/src/pact.js.map +0 -1
- package/src/verifier/argumentMapper/arguments.js.map +0 -1
- package/src/verifier/argumentMapper/index.js.map +0 -1
- package/src/verifier/argumentMapper/types.js.map +0 -1
- package/src/verifier/index.js.map +0 -1
- package/src/verifier/nativeVerifier.js.map +0 -1
- package/src/verifier/types.js.map +0 -1
- package/src/verifier/validateOptions.js.map +0 -1
- package/tsconfig.test.json +0 -13
- package/{src → dist}/consumer/checkErrors.d.ts +0 -0
- package/{src → dist}/consumer/internals.js +0 -0
- package/{src → dist}/consumer/types.js +0 -0
- package/{src → dist}/index.d.ts +4 -4
- /package/{src → dist}/logger/crashMessage.d.ts +0 -0
- /package/{src → dist}/logger/crashMessage.js +0 -0
- /package/{src → dist}/logger/types.d.ts +0 -0
- /package/{src → dist}/logger/types.js +0 -0
- /package/{src → dist}/pact-environment.d.ts +0 -0
- /package/{src → dist}/verifier/argumentMapper/types.js +0 -0
- /package/{src → dist}/verifier/types.js +0 -0
package/.editorconfig
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# EditorConfig is awesome: http://EditorConfig.org
|
|
2
|
+
|
|
3
|
+
# top-most EditorConfig file
|
|
4
|
+
root = true
|
|
5
|
+
|
|
6
|
+
# Unix-style newlines with a newline ending every file
|
|
7
|
+
[*]
|
|
8
|
+
charset = utf-8
|
|
9
|
+
end_of_line = lf
|
|
10
|
+
insert_final_newline = true
|
|
11
|
+
trim_trailing_whitespace = true
|
|
12
|
+
indent_style = space
|
|
13
|
+
indent_size = 2
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
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
|
+
## [20.0.0](https://github.com/pact-foundation/pact-js-core/compare/v19.2.0...v20.0.0) (2026-05-29)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### ⚠ BREAKING CHANGES
|
|
9
|
+
|
|
10
|
+
* drop Node 18/20 support, target Node 22+ (#885)
|
|
11
|
+
|
|
12
|
+
* drop Node 18/20 support, target Node 22+ ([#885](https://github.com/pact-foundation/pact-js-core/issues/885)) ([60313ee](https://github.com/pact-foundation/pact-js-core/commit/60313ee47a5c4264c140c171bd37510fca78daba))
|
|
13
|
+
|
|
14
|
+
## [19.2.0](https://github.com/pact-foundation/pact-js-core/compare/v19.1.0...v19.2.0) (2026-05-01)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* Update FFI lib to 0.5.4 and add the addInteractionReference function ([#861](https://github.com/pact-foundation/pact-js-core/issues/861)) ([e5035cc](https://github.com/pact-foundation/pact-js-core/commit/e5035cc9dbebda04527848f4192f5f39605d64a0))
|
|
20
|
+
|
|
5
21
|
## [19.1.0](https://github.com/pact-foundation/pact-js-core/compare/v19.0.0...v19.1.0) (2026-03-10)
|
|
6
22
|
|
|
7
23
|
|
package/biome.jsonc
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"assist": { "actions": { "source": { "organizeImports": "on" } } },
|
|
3
|
+
"linter": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"rules": {
|
|
6
|
+
"recommended": true,
|
|
7
|
+
"complexity": {
|
|
8
|
+
// Conflicts with TypeScript's noPropertyAccessFromIndexSignature
|
|
9
|
+
"useLiteralKeys": "off"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"formatter": {
|
|
14
|
+
"useEditorconfig": true,
|
|
15
|
+
"indentStyle": "space",
|
|
16
|
+
"indentWidth": 2
|
|
17
|
+
},
|
|
18
|
+
"javascript": {
|
|
19
|
+
"formatter": {
|
|
20
|
+
"quoteStyle": "single"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"vcs": {
|
|
24
|
+
"enabled": true,
|
|
25
|
+
"clientKind": "git",
|
|
26
|
+
"useIgnoreFile": true
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -18,6 +18,6 @@ const wrapAllWithCheck = (o) => Object.keys(o)
|
|
|
18
18
|
.map((key) => ({
|
|
19
19
|
[key]: (0, exports.wrapWithCheck)(o[key], String(key)),
|
|
20
20
|
}))
|
|
21
|
-
.reduce((acc, curr) => (
|
|
21
|
+
.reduce((acc, curr) => Object.assign(acc, curr), {});
|
|
22
22
|
exports.wrapAllWithCheck = wrapAllWithCheck;
|
|
23
23
|
//# sourceMappingURL=checkErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkErrors.js","sourceRoot":"","sources":["../../src/consumer/checkErrors.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAExB,MAAM,aAAa,GACxB,CACE,CAAuB,EACvB,cAAsB,EACtB,EAAE,CACJ,CAAC,GAAG,IAAmB,EAAiB,EAAE;IACxC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,IAAI,MAAM,EAAE,CAAC;QACX,gBAAM,CAAC,SAAS,CACd,6CAA6C,cAAc,2EAA2E,CACvI,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAdS,QAAA,aAAa,iBActB;AAUG,MAAM,gBAAgB,GAAG,CAC9B,CAAI,EACmB,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAoB;KAC/B,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC,GAAG,CAAC,EAAE,IAAA,qBAAa,EAClB,CAAC,CAAC,GAAG,CAAkC,EACvC,MAAM,CAAC,GAAG,CAAC,CACZ;CACF,CAAC,CAAC;KACF,MAAM,CACL,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EACvC,EAA2B,CACvB,CAAC;AAbE,QAAA,gBAAgB,oBAalB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FfiSpecificationVersion } from '../ffi/types';
|
|
2
|
-
import { ConsumerMessagePact, ConsumerPact } from './types';
|
|
1
|
+
import { type FfiSpecificationVersion } from '../ffi/types';
|
|
2
|
+
import type { ConsumerMessagePact, ConsumerPact } from './types';
|
|
3
3
|
export declare const makeConsumerPact: (consumer: string, provider: string, version?: FfiSpecificationVersion, logLevel?: import("..").LogLevel, logFile?: string) => ConsumerPact;
|
|
4
4
|
export declare const makeConsumerMessagePact: (consumer: string, provider: string, version?: FfiSpecificationVersion, logLevel?: import("..").LogLevel, logFile?: string) => ConsumerMessagePact;
|
|
5
5
|
export declare const makeConsumerAsyncMessagePact: (consumer: string, provider: string, version?: FfiSpecificationVersion, logLevel?: import("..").LogLevel, logFile?: string) => ConsumerMessagePact;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeConsumerAsyncMessagePact = exports.makeConsumerMessagePact = exports.makeConsumerPact = void 0;
|
|
4
|
+
const ffi_1 = require("../ffi");
|
|
4
5
|
const types_1 = require("../ffi/types");
|
|
5
6
|
const logger_1 = require("../logger");
|
|
6
7
|
const checkErrors_1 = require("./checkErrors");
|
|
7
|
-
const ffi_1 = require("../ffi");
|
|
8
8
|
const internals_1 = require("./internals");
|
|
9
9
|
const asyncMessage = (ffi, interactionPtr, pactPtr, messageCount, index) => ({
|
|
10
|
+
// todo count the number of messages (and ref them?)
|
|
11
|
+
// Required to get contents
|
|
10
12
|
withPluginRequestInteractionContents: (contentType, contents) => {
|
|
11
13
|
ffi.pactffiPluginInteractionContents(interactionPtr, types_1.INTERACTION_PART_REQUEST, contentType, contents);
|
|
12
14
|
return true;
|
|
@@ -18,6 +20,7 @@ const asyncMessage = (ffi, interactionPtr, pactPtr, messageCount, index) => ({
|
|
|
18
20
|
setPending: (pending) => ffi.pactffiSetPending(interactionPtr, pending),
|
|
19
21
|
setComment: (key, value) => ffi.pactffiSetComment(interactionPtr, key, value),
|
|
20
22
|
addTextComment: (comment) => ffi.pactffiAddTextComment(interactionPtr, comment),
|
|
23
|
+
addInteractionReference: (group, name, value) => ffi.pactffiAddInteractionReference(interactionPtr, group, name, value),
|
|
21
24
|
setInteractionTestName: (name) => ffi.pactffiInteractionTestName(interactionPtr, name),
|
|
22
25
|
withContents: (body, contentType) => ffi.pactffiMessageWithContents(interactionPtr, contentType, body),
|
|
23
26
|
withBinaryContents: (body, contentType) => ffi.pactffiMessageWithBinaryContents(interactionPtr, contentType, body, body.length),
|
|
@@ -31,6 +34,8 @@ const makeConsumerPact = (consumer, provider, version = 3, logLevel = (0, logger
|
|
|
31
34
|
(0, logger_1.setLogLevel)(logLevel);
|
|
32
35
|
}
|
|
33
36
|
const ffi = (0, ffi_1.getFfiLib)(logLevel, logFile);
|
|
37
|
+
// We need to track the number of messages so that we can
|
|
38
|
+
// correctly reference them when extracting contents
|
|
34
39
|
let messageCount = 0;
|
|
35
40
|
const pactPtr = ffi.pactffiNewPact(consumer, provider);
|
|
36
41
|
if (!ffi.pactffiWithSpecification(pactPtr, version)) {
|
|
@@ -95,6 +100,7 @@ const makeConsumerPact = (consumer, provider, version = 3, logLevel = (0, logger
|
|
|
95
100
|
setPending: (pending) => ffi.pactffiSetPending(interactionPtr, pending),
|
|
96
101
|
setComment: (key, value) => ffi.pactffiSetComment(interactionPtr, key, value),
|
|
97
102
|
addTextComment: (comment) => ffi.pactffiAddTextComment(interactionPtr, comment),
|
|
103
|
+
addInteractionReference: (group, name, value) => ffi.pactffiAddInteractionReference(interactionPtr, group, name, value),
|
|
98
104
|
setInteractionTestName: (name) => ffi.pactffiInteractionTestName(interactionPtr, name),
|
|
99
105
|
withRequestContents: (body, contentType) => ffi.pactffiWithBody(interactionPtr, types_1.INTERACTION_PART_REQUEST, contentType, body),
|
|
100
106
|
withResponseContents: (body, contentType) => ffi.pactffiWithBody(interactionPtr, types_1.INTERACTION_PART_RESPONSE, contentType, body),
|
|
@@ -120,6 +126,7 @@ const makeConsumerPact = (consumer, provider, version = 3, logLevel = (0, logger
|
|
|
120
126
|
setPending: (pending) => ffi.pactffiSetPending(interactionPtr, pending),
|
|
121
127
|
setComment: (key, value) => ffi.pactffiSetComment(interactionPtr, key, value),
|
|
122
128
|
addTextComment: (comment) => ffi.pactffiAddTextComment(interactionPtr, comment),
|
|
129
|
+
addInteractionReference: (group, name, value) => ffi.pactffiAddInteractionReference(interactionPtr, group, name, value),
|
|
123
130
|
setInteractionTestName: (name) => ffi.pactffiInteractionTestName(interactionPtr, name),
|
|
124
131
|
withRequest: (method, path) => ffi.pactffiWithRequest(interactionPtr, method, path),
|
|
125
132
|
withQuery: (name, index, value) => ffi.pactffiWithQueryParameter(interactionPtr, name, index, value),
|
|
@@ -164,6 +171,8 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
|
|
|
164
171
|
(0, logger_1.setLogLevel)(logLevel);
|
|
165
172
|
}
|
|
166
173
|
const ffi = (0, ffi_1.getFfiLib)(logLevel, logFile);
|
|
174
|
+
// We need to track the number of messages so that we can
|
|
175
|
+
// correctly reference them when extracting contents
|
|
167
176
|
let messageCount = 0;
|
|
168
177
|
const pactPtr = ffi.pactffiNewPact(consumer, provider);
|
|
169
178
|
if (!ffi.pactffiWithSpecification(pactPtr, version) || version < 4) {
|
|
@@ -180,6 +189,7 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
|
|
|
180
189
|
writePactFile: (dir, merge = true) => (0, internals_1.writePact)(ffi, pactPtr, dir, merge),
|
|
181
190
|
writePactFileForPluginServer: (port, dir, merge = true) => (0, internals_1.writePact)(ffi, pactPtr, dir, merge, port),
|
|
182
191
|
addMetadata: (namespace, name, value) => ffi.pactffiWithPactMetadata(pactPtr, namespace, name, value),
|
|
192
|
+
// Alias for newAsynchronousMessage
|
|
183
193
|
newMessage: (description) => {
|
|
184
194
|
const interactionPtr = ffi.pactffiNewAsyncMessage(pactPtr, description);
|
|
185
195
|
const index = messageCount;
|
|
@@ -195,6 +205,7 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
|
|
|
195
205
|
newSynchronousMessage: (description) => {
|
|
196
206
|
const index = messageCount;
|
|
197
207
|
messageCount += 1;
|
|
208
|
+
// TODO: will this automatically set the correct spec version?
|
|
198
209
|
const interactionPtr = ffi.pactffiNewSyncMessage(pactPtr, description);
|
|
199
210
|
return {
|
|
200
211
|
withPluginRequestInteractionContents: (contentType, contents) => {
|
|
@@ -215,6 +226,7 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
|
|
|
215
226
|
setPending: (pending) => ffi.pactffiSetPending(interactionPtr, pending),
|
|
216
227
|
setComment: (key, value) => ffi.pactffiSetComment(interactionPtr, key, value),
|
|
217
228
|
addTextComment: (comment) => ffi.pactffiAddTextComment(interactionPtr, comment),
|
|
229
|
+
addInteractionReference: (group, name, value) => ffi.pactffiAddInteractionReference(interactionPtr, group, name, value),
|
|
218
230
|
setInteractionTestName: (name) => ffi.pactffiInteractionTestName(interactionPtr, name),
|
|
219
231
|
withRequestContents: (body, contentType) => ffi.pactffiWithBody(interactionPtr, types_1.INTERACTION_PART_REQUEST, contentType, body),
|
|
220
232
|
withResponseContents: (body, contentType) => ffi.pactffiWithBody(interactionPtr, types_1.INTERACTION_PART_RESPONSE, contentType, body),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consumer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ffi, FfiPactHandle } from '../ffi/types';
|
|
2
|
-
import { MatchingResult } from './types';
|
|
1
|
+
import { type Ffi, type FfiPactHandle } from '../ffi/types';
|
|
2
|
+
import type { MatchingResult } from './types';
|
|
3
3
|
export declare const mockServerMismatches: (ffi: Ffi, port: number) => MatchingResult[];
|
|
4
4
|
export declare const writePact: (ffi: Ffi, pactPtr: FfiPactHandle, dir: string, merge?: boolean, port?: number) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internals.js","sourceRoot":"","sources":["../../src/consumer/internals.ts"],"names":[],"mappings":";;;AAAA,wCAIsB;AACtB,sCAA+D;AAGxD,MAAM,oBAAoB,GAAG,CAClC,GAAQ,EACR,IAAY,EACM,EAAE;IACpB,MAAM,OAAO,GAAqB,IAAI,CAAC,KAAK,CAC1C,GAAG,CAAC,2BAA2B,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAsB,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,MAAM;QACT,GAAG,CAAC,YAAY,IAAI,MAAM;YACxB,CAAC,CAAC;gBACE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CACzD,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAjBW,QAAA,oBAAoB,wBAiB/B;AAEK,MAAM,SAAS,GAAG,CACvB,GAAQ,EACR,OAAsB,EACtB,GAAW,EACX,KAAK,GAAG,IAAI,EACZ,IAAI,GAAG,CAAC,EACF,EAAE;IACR,IAAI,MAA4B,CAAC;IAEjC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,4BAAoB,CAAC,SAAS,CAAC;YAClC,OAAO;QACT,KAAK,4BAAoB,CAAC,2BAA2B,CAAC;YACpD,IAAA,yBAAgB,EAAC,iDAAiD,CAAC,CAAC;YACpE,MAAM;QACR,KAAK,4BAAoB,CAAC,eAAe,CAAC;YACxC,IAAA,yBAAgB,EAAC,oDAAoD,CAAC,CAAC;YACvE,MAAM;QACR,KAAK,4BAAoB,CAAC,uBAAuB,CAAC;YAChD,IAAA,yBAAgB,EACd,2FAA2F,CAC5F,CAAC;YACF,MAAM;QACR;YACE,IAAA,yBAAgB,EACd,iDAAiD,MAAM,+BAA+B,CACvF,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAlCW,QAAA,SAAS,aAkCpB"}
|
|
@@ -116,6 +116,7 @@ export type ConsumerInteraction = PluginInteraction & {
|
|
|
116
116
|
setPending: (pending: boolean) => boolean;
|
|
117
117
|
setComment: (key: string, value: string) => boolean;
|
|
118
118
|
addTextComment: (comment: string) => boolean;
|
|
119
|
+
addInteractionReference: (group: string, name: string, value: string) => boolean;
|
|
119
120
|
setInteractionTestName: (name: string) => number;
|
|
120
121
|
withRequest: (method: string, path: string) => boolean;
|
|
121
122
|
withQuery: (name: string, index: number, value: string) => boolean;
|
|
@@ -139,8 +140,33 @@ export type ConsumerPact = PluginPact & {
|
|
|
139
140
|
createMockServer: (address: string, port?: number, tls?: boolean) => number;
|
|
140
141
|
mockServerMismatches: (port: number) => MatchingResult[];
|
|
141
142
|
cleanupMockServer: (port: number) => boolean;
|
|
143
|
+
/**
|
|
144
|
+
* This function writes the pact file, regardless of whether or not the test was successful.
|
|
145
|
+
* Do not call it without checking that the tests were successful, unless you want to write the wrong pact contents.
|
|
146
|
+
*
|
|
147
|
+
* @param port the port number the mock server is running on.
|
|
148
|
+
* @param dir the directory to write the pact file to
|
|
149
|
+
* @param merge whether or not to merge the pact file contents (default true)
|
|
150
|
+
*/
|
|
142
151
|
writePactFile: (dir: string, merge?: boolean) => void;
|
|
152
|
+
/**
|
|
153
|
+
* This function writes the pact file, using the given plugin transport port.
|
|
154
|
+
* If you are using plugins in your test, you must use this method
|
|
155
|
+
*
|
|
156
|
+
* @param port The port that identifies the custom mock server
|
|
157
|
+
* @param dir The directory to write the pact file to
|
|
158
|
+
* @param merge whether or not to merge the pact file contents with previous test runs (default true)
|
|
159
|
+
* @returns
|
|
160
|
+
*/
|
|
143
161
|
writePactFileForPluginServer: (port: number, dir: string, merge?: boolean) => void;
|
|
162
|
+
/**
|
|
163
|
+
* Check if a mock server has matched all its requests.
|
|
164
|
+
*
|
|
165
|
+
* @param port the port number the mock server is running on.
|
|
166
|
+
* @returns {boolean} true if all requests have been matched. False if there
|
|
167
|
+
* is no mock server on the given port, or if any request has not been successfully matched, or
|
|
168
|
+
* the method panics.
|
|
169
|
+
*/
|
|
144
170
|
mockServerMatchedSuccessfully: (port: number) => boolean;
|
|
145
171
|
addMetadata: (namespace: string, name: string, value: string) => boolean;
|
|
146
172
|
};
|
|
@@ -151,6 +177,7 @@ export type AsynchronousMessage = RequestPluginInteraction & {
|
|
|
151
177
|
setPending: (pending: boolean) => void;
|
|
152
178
|
setComment: (key: string, value: string) => boolean;
|
|
153
179
|
addTextComment: (comment: string) => boolean;
|
|
180
|
+
addInteractionReference: (group: string, name: string, value: string) => boolean;
|
|
154
181
|
setInteractionTestName: (name: string) => number;
|
|
155
182
|
expectsToReceive: (description: string) => void;
|
|
156
183
|
withMetadata: (name: string, value: string) => void;
|
|
@@ -168,6 +195,7 @@ export type SynchronousMessage = PluginInteraction & {
|
|
|
168
195
|
setPending: (pending: boolean) => void;
|
|
169
196
|
setComment: (key: string, value: string) => boolean;
|
|
170
197
|
addTextComment: (comment: string) => boolean;
|
|
198
|
+
addInteractionReference: (group: string, name: string, value: string) => boolean;
|
|
171
199
|
setInteractionTestName: (name: string) => number;
|
|
172
200
|
withMetadata: (name: string, value: string) => void;
|
|
173
201
|
withRequestContents: (body: string, contentType: string) => void;
|
|
@@ -184,9 +212,33 @@ export type ConsumerMessagePact = PluginPact & {
|
|
|
184
212
|
newAsynchronousMessage: (description: string) => AsynchronousMessage;
|
|
185
213
|
newSynchronousMessage: (description: string) => SynchronousMessage;
|
|
186
214
|
pactffiCreateMockServerForTransport: (address: string, transport: string, config: string, port?: number) => number;
|
|
215
|
+
/**
|
|
216
|
+
* This function writes the pact file, regardless of whether or not the test was successful.
|
|
217
|
+
* Do not call it without checking that the tests were successful, unless you want to write the wrong pact contents.
|
|
218
|
+
*
|
|
219
|
+
* @param dir the directory to write the pact file to
|
|
220
|
+
* @param merge whether or not to merge the pact file contents with previous test runs (default true)
|
|
221
|
+
*/
|
|
187
222
|
writePactFile: (dir: string, merge?: boolean) => void;
|
|
223
|
+
/**
|
|
224
|
+
* This function writes the pact file, using the given plugin transport port.
|
|
225
|
+
* If you are using plugins in your test, you must use this method
|
|
226
|
+
*
|
|
227
|
+
* @param port The port that identifies the custom mock server
|
|
228
|
+
* @param dir The directory to write the pact file to
|
|
229
|
+
* @param merge whether or not to merge the pact file contents with previous test runs (default true)
|
|
230
|
+
* @returns
|
|
231
|
+
*/
|
|
188
232
|
writePactFileForPluginServer: (port: number, dir: string, merge?: boolean) => void;
|
|
189
233
|
addMetadata: (namespace: string, name: string, value: string) => boolean;
|
|
190
234
|
mockServerMismatches: (port: number) => MatchingResult[];
|
|
235
|
+
/**
|
|
236
|
+
* Check if a mock server has matched all its requests.
|
|
237
|
+
*
|
|
238
|
+
* @param port the port number the mock server is running on.
|
|
239
|
+
* @returns {boolean} true if all requests have been matched. False if there
|
|
240
|
+
* is no mock server on the given port, or if any request has not been successfully matched, or
|
|
241
|
+
* the method panics.
|
|
242
|
+
*/
|
|
191
243
|
mockServerMatchedSuccessfully: (port: number) => boolean;
|
|
192
244
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/consumer/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LogLevel } from '../logger/types';
|
|
2
|
-
import { Ffi } from './types';
|
|
3
|
-
export declare const PACT_FFI_VERSION = "0.5.
|
|
1
|
+
import type { LogLevel } from '../logger/types';
|
|
2
|
+
import { type Ffi } from './types';
|
|
3
|
+
export declare const PACT_FFI_VERSION = "0.5.4";
|
|
4
4
|
declare let ffiLib: Ffi;
|
|
5
5
|
declare let ffi: typeof ffiLib;
|
|
6
6
|
export declare const getFfiLib: (logLevel?: LogLevel, logFile?: string | undefined) => typeof ffi;
|
|
@@ -38,11 +38,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.getFfiLib = exports.PACT_FFI_VERSION = void 0;
|
|
40
40
|
const node_path_1 = __importDefault(require("node:path"));
|
|
41
|
-
const bindings = require("node-gyp-build");
|
|
42
41
|
const detect_libc_1 = require("detect-libc");
|
|
43
42
|
const logger_1 = __importStar(require("../logger"));
|
|
44
43
|
const types_1 = require("./types");
|
|
45
|
-
|
|
44
|
+
const bindings = require('node-gyp-build');
|
|
45
|
+
exports.PACT_FFI_VERSION = '0.5.4';
|
|
46
|
+
/**
|
|
47
|
+
* Returns the library path which is located inside `node_modules`
|
|
48
|
+
* The naming convention is @pact-foundation/pact-core-${os}-${arch}<-${libc}>
|
|
49
|
+
* - "-${libc}" is optional for linux only
|
|
50
|
+
* @see https://nodejs.org/api/os.html#osarch
|
|
51
|
+
* @see https://nodejs.org/api/os.html#osplatform
|
|
52
|
+
* @example "x/xx/node_modules/@pact-foundation/pact-core-darwin-arm64"
|
|
53
|
+
*/
|
|
46
54
|
function getPlatformArchSpecificPackage() {
|
|
47
55
|
const { arch } = process;
|
|
48
56
|
let os = process.platform;
|
|
@@ -72,6 +80,12 @@ function getPlatformArchSpecificPackage() {
|
|
|
72
80
|
throw new Error(`Couldn't find npm package ${platformArchSpecificPackage} \n 💡 you can tell Pact where the npm package is located with env var $PACT_PREBUILD_PACKAGE_LOCATION`);
|
|
73
81
|
}
|
|
74
82
|
}
|
|
83
|
+
// supported prebuilds
|
|
84
|
+
// darwin-arm64
|
|
85
|
+
// darwin-x64
|
|
86
|
+
// linux-arm64
|
|
87
|
+
// linux-x64
|
|
88
|
+
// win32-x64
|
|
75
89
|
const supportedPlatforms = [
|
|
76
90
|
'darwin-arm64',
|
|
77
91
|
'darwin-x64',
|
|
@@ -116,7 +130,9 @@ const renderBinaryErrorMessage = (error) => {
|
|
|
116
130
|
};
|
|
117
131
|
let ffi;
|
|
118
132
|
const initialiseFfi = () => {
|
|
133
|
+
// @ts-expect-error
|
|
119
134
|
if (process.stdout._handle) {
|
|
135
|
+
// @ts-expect-error
|
|
120
136
|
process.stdout._handle.setBlocking(true);
|
|
121
137
|
}
|
|
122
138
|
try {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ffi/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,11 +37,11 @@ export declare enum FfiFunctionResult {
|
|
|
37
37
|
RESULT_FAILED = 1
|
|
38
38
|
}
|
|
39
39
|
export declare enum FfiLogLevelFilter {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
error = 1,
|
|
41
|
+
warn = 2,
|
|
42
|
+
info = 3,
|
|
43
|
+
debug = 4,
|
|
44
|
+
trace = 5
|
|
45
45
|
}
|
|
46
46
|
export type Ffi = {
|
|
47
47
|
pactffiInit(logLevel: string): string;
|
|
@@ -60,6 +60,7 @@ export type FfiConsumerFunctions = {
|
|
|
60
60
|
pactffiSetPending(handle: FfiInteractionHandle, pending: boolean): boolean;
|
|
61
61
|
pactffiSetComment(handle: FfiInteractionHandle, key: string, value: string): boolean;
|
|
62
62
|
pactffiAddTextComment(handle: FfiInteractionHandle, comment: string): boolean;
|
|
63
|
+
pactffiAddInteractionReference(handle: FfiInteractionHandle, group: string, name: string, value: string): boolean;
|
|
63
64
|
pactffiInteractionTestName(handle: FfiInteractionHandle, name: string): number;
|
|
64
65
|
pactffiWithRequest(handle: FfiInteractionHandle, method: string, path: string): boolean;
|
|
65
66
|
pactffiWithQueryParameter(handle: FfiInteractionHandle, name: string, index: number, value: string): boolean;
|
|
@@ -45,6 +45,14 @@ exports.CREATE_MOCK_SERVER_ERRORS = {
|
|
|
45
45
|
ADDRESS_NOT_VALID: -5,
|
|
46
46
|
TLS_CONFIG: -6,
|
|
47
47
|
};
|
|
48
|
+
/*
|
|
49
|
+
-1 A null pointer was received
|
|
50
|
+
-2 The pact JSON could not be parsed
|
|
51
|
+
-3 The mock server could not be started
|
|
52
|
+
-4 The method panicked
|
|
53
|
+
-5 The address is not valid
|
|
54
|
+
-6 Could not create the TLS configuration with the self-signed certificate
|
|
55
|
+
*/
|
|
48
56
|
var VERIFY_PROVIDER_RESPONSE;
|
|
49
57
|
(function (VERIFY_PROVIDER_RESPONSE) {
|
|
50
58
|
VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["VERIFICATION_SUCCESSFUL"] = 0] = "VERIFICATION_SUCCESSFUL";
|
|
@@ -53,6 +61,14 @@ var VERIFY_PROVIDER_RESPONSE;
|
|
|
53
61
|
VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["METHOD_PANICKED"] = 3] = "METHOD_PANICKED";
|
|
54
62
|
VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["INVALID_ARGUMENTS"] = 4] = "INVALID_ARGUMENTS";
|
|
55
63
|
})(VERIFY_PROVIDER_RESPONSE || (exports.VERIFY_PROVIDER_RESPONSE = VERIFY_PROVIDER_RESPONSE = {}));
|
|
64
|
+
/*
|
|
65
|
+
* | Error | Description |
|
|
66
|
+
* |-------|-------------|
|
|
67
|
+
* | 1 | The verification process failed, see output for errors |
|
|
68
|
+
* | 2 | A null pointer was received |
|
|
69
|
+
* | 3 | The method panicked |
|
|
70
|
+
* | 4 | Invalid arguments were provided to the verification process |
|
|
71
|
+
*/
|
|
56
72
|
var FfiFunctionResult;
|
|
57
73
|
(function (FfiFunctionResult) {
|
|
58
74
|
FfiFunctionResult[FfiFunctionResult["RESULT_OK"] = 0] = "RESULT_OK";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ffi/types.ts"],"names":[],"mappings":";;;AAWa,QAAA,uBAAuB,GAClC;IACE,6BAA6B,EAAE,CAAC;IAChC,wBAAwB,EAAE,CAAC;IAC3B,0BAA0B,EAAE,CAAC;IAC7B,wBAAwB,EAAE,CAAC;IAC3B,wBAAwB,EAAE,CAAC;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAIS,QAAA,oBAAoB,GAAyC;IACxE,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,yBAAyB,EAAE,CAAC;IAC5B,qBAAqB,EAAE,CAAC;CACzB,CAAC;AAIW,QAAA,2BAA2B,GAGpC;IACF,OAAO,EAAE,CAAC;IACV,yBAAyB,EAAE,CAAC;IAC5B,sBAAsB,EAAE,CAAC;CAC1B,CAAC;AAIW,QAAA,0BAA0B,GAGnC;IACF,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,qBAAqB,EAAE,CAAC;IACxB,mBAAmB,EAAE,CAAC;CACvB,CAAC;AAIW,QAAA,4BAA4B,GAGrC;IACF,OAAO,EAAE,CAAC;IACV,0BAA0B,EAAE,CAAC;IAC7B,oCAAoC,EAAE,CAAC;IACvC,6BAA6B,EAAE,CAAC;IAChC,yBAAyB,EAAE,CAAC;IAC5B,+BAA+B,EAAE,CAAC;IAClC,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAIW,QAAA,wBAAwB,GAAuB,CAAC,CAAC;AACjD,QAAA,yBAAyB,GAAuB,CAAC,CAAC;AAElD,QAAA,yBAAyB,GAAG;IACvC,YAAY,EAAE,CAAC,CAAC;IAChB,gBAAgB,EAAE,CAAC,CAAC;IACpB,sBAAsB,EAAE,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC;IACd,iBAAiB,EAAE,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,CAAC;CACf,CAAC;AACF;;;;;;;EAOE;AAEF,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,6GAA2B,CAAA;IAC3B,qGAAmB,CAAA;IACnB,yGAAqB,CAAA;IACrB,6FAAe,CAAA;IACf,iGAAiB,CAAA;AACnB,CAAC,EANW,wBAAwB,wCAAxB,wBAAwB,QAMnC;AACD;;;;;;;GAOG;AAEH,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;IACb,2EAAa,CAAA;AACf,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B;AAED,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,2DAAS,CAAA;IACT,yDAAQ,CAAA;IACR,yDAAQ,CAAA;IACR,2DAAS,CAAA;IACT,2DAAS,CAAA;AACX,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B"}
|
package/{src → dist}/index.js
RENAMED
|
@@ -18,13 +18,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
const pact_1 = __importDefault(require("./pact"));
|
|
21
|
-
module.exports = exports = pact_1.default;
|
|
22
21
|
exports.default = pact_1.default;
|
|
23
|
-
__exportStar(require("./verifier"), exports);
|
|
24
|
-
__exportStar(require("./verifier/types"), exports);
|
|
25
|
-
__exportStar(require("./logger"), exports);
|
|
26
|
-
__exportStar(require("./logger/types"), exports);
|
|
27
22
|
__exportStar(require("./consumer"), exports);
|
|
28
23
|
__exportStar(require("./consumer/types"), exports);
|
|
29
24
|
__exportStar(require("./ffi"), exports);
|
|
25
|
+
__exportStar(require("./logger"), exports);
|
|
26
|
+
__exportStar(require("./logger/types"), exports);
|
|
27
|
+
__exportStar(require("./verifier"), exports);
|
|
28
|
+
__exportStar(require("./verifier/types"), exports);
|
|
30
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,kBAAe,cAAI,CAAC;AAEpB,6CAA2B;AAC3B,mDAAiC;AACjC,wCAAsB;AACtB,2CAAyB;AACzB,iDAA+B;AAC/B,6CAA2B;AAC3B,mDAAiC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crashMessage.js","sourceRoot":"","sources":["../../src/logger/crashMessage.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAC9B,YAAoB,EACZ,EAAE,CAAC;;EAEX,YAAY;;;;;;;;;;;;;;;CAeb,CAAC;AAnBW,QAAA,gBAAgB,oBAmB3B"}
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.logCrashAndThrow = exports.logErrorAndThrow = exports.verboseIsImplied = exports.getLogLevel = exports.setLogLevel = exports.DEFAULT_LOG_LEVEL = void 0;
|
|
4
4
|
const crashMessage_1 = require("./crashMessage");
|
|
5
5
|
const pino_1 = require("./pino");
|
|
6
|
+
// TODO: Replace this hack with https://www.npmjs.com/package/@npmcli/package-json
|
|
7
|
+
// TODO: abstract this so it's not repeated in src/verifier/nativeVerifier.ts
|
|
6
8
|
const pkg = require('../../package.json');
|
|
7
9
|
const logContext = `pact-core@${pkg.version}`;
|
|
8
10
|
let currentLogLevel = process.env['LOG_LEVEL']
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAClD,iCAAsC;AAGtC,kFAAkF;AAClF,6EAA6E;AAE7E,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE1C,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,OAAO,EAAE,CAAC;AAC9C,IAAI,eAAe,GAAa,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACtD,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAc;IACxC,CAAC,CAAC,MAAM,CAAC;AACX,IAAI,MAAM,GAAG,IAAA,mBAAY,EAAC,eAAe,CAAC,CAAC;AAE9B,QAAA,iBAAiB,GAAa,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjE,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAc;IACxC,CAAC,CAAC,MAAM,CAAC;AAEJ,MAAM,WAAW,GAAG,CAAC,QAAkB,MAAM,EAAQ,EAAE;IAC5D,eAAe,GAAG,KAAK,CAAC;IACxB,MAAM,GAAG,IAAA,mBAAY,EAAC,eAAe,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEK,MAAM,WAAW,GAAG,GAAa,EAAE,CAAC,eAAe,CAAC;AAA9C,QAAA,WAAW,eAAmC;AAEpD,MAAM,gBAAgB,GAAG,GAAY,EAAE,CAC5C,eAAe,KAAK,OAAO,IAAI,eAAe,KAAK,OAAO,CAAC;AADhD,QAAA,gBAAgB,oBACgC;AAE7D,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,CACtD,GAAG,OAAO,KAAK,OAAO,EAAE,CAAC;AAE3B,MAAM,YAAY,GAAG;IACnB,SAAS,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CACjE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,KAAK,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC7D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC5D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC5D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,KAAK,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC7D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,KAAK,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC7D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,OAAgB,EAAS,EAAE;IAC3E,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAA+B,CAAC,CAAC;IACvD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEK,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,OAAgB,EAAS,EAAE;IAC3E,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEF,kBAAe,YAAY,CAAC"}
|
|
@@ -5,6 +5,9 @@ const pino_1 = require("pino");
|
|
|
5
5
|
const pino_pretty_1 = require("pino-pretty");
|
|
6
6
|
const createLogger = (level) => {
|
|
7
7
|
const prettify = (0, pino_pretty_1.prettyFactory)({ sync: true });
|
|
8
|
+
// Configure custom stream that forwards pretty message to console
|
|
9
|
+
// to address issues with pino pretty and Jest
|
|
10
|
+
// Thanks to https://github.com/pinojs/pino-pretty/issues/480#issuecomment-2271709217 for the solution
|
|
8
11
|
return (0, pino_1.pino)({
|
|
9
12
|
level: level.toLowerCase(),
|
|
10
13
|
}, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/logger/pino.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;AACzC,6CAA4C;AAIrC,MAAM,YAAY,GAAG,CAAC,KAAe,EAAU,EAAE;IACtD,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,kEAAkE;IAClE,8CAA8C;IAC9C,sGAAsG;IACtG,OAAO,IAAA,WAAI,EACT;QACE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;KAC3B,EACD;QACE,KAAK,CAAC,IAAa;YACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC;KACF,CACF,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logger/types.ts"],"names":[],"mappings":""}
|
|
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.PactEnvironment = void 0;
|
|
37
|
-
const path = __importStar(require("path"));
|
|
37
|
+
const path = __importStar(require("node:path"));
|
|
38
38
|
class PactEnvironment {
|
|
39
39
|
get cwd() {
|
|
40
40
|
return path.resolve(__dirname, '..');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pact-environment.js","sourceRoot":"","sources":["../src/pact-environment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAElC,MAAa,eAAe;IAC1B,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,SAAS,CAAC,WAAmB,OAAO,CAAC,QAAQ;QAClD,OAAO,QAAQ,KAAK,OAAO,CAAC;IAC9B,CAAC;CACF;AARD,0CAQC;AAED,kBAAe,IAAI,eAAe,EAAE,CAAC"}
|
package/{src → dist}/pact.d.ts
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { LogLevel } from './logger/types';
|
|
2
|
+
import type { VerifierOptions } from './verifier/types';
|
|
3
3
|
export declare class Pact {
|
|
4
4
|
logLevel(level?: LogLevel): void;
|
|
5
5
|
verifyPacts(options: VerifierOptions): Promise<string>;
|
package/{src → dist}/pact.js
RENAMED
|
@@ -37,12 +37,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.Pact = void 0;
|
|
40
|
-
const verifier_1 = __importDefault(require("./verifier"));
|
|
41
40
|
const logger_1 = __importStar(require("./logger"));
|
|
41
|
+
const verifier_1 = __importDefault(require("./verifier"));
|
|
42
42
|
class Pact {
|
|
43
43
|
logLevel(level) {
|
|
44
|
-
|
|
44
|
+
(0, logger_1.setLogLevel)(level);
|
|
45
45
|
}
|
|
46
|
+
// Run the Pact Verification process
|
|
46
47
|
verifyPacts(options) {
|
|
47
48
|
logger_1.default.info('Verifying Pacts.');
|
|
48
49
|
return (0, verifier_1.default)(options).verify();
|
package/dist/pact.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pact.js","sourceRoot":"","sources":["../src/pact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA+C;AAE/C,0DAAyC;AAGzC,MAAa,IAAI;IACR,QAAQ,CAAC,KAAgB;QAC9B,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,oCAAoC;IAC7B,WAAW,CAAC,OAAwB;QACzC,gBAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,IAAA,kBAAe,EAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;CACF;AAVD,oBAUC;AAED,kBAAe,IAAI,IAAI,EAAE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { InternalPactVerifierOptions } from '../types';
|
|
3
|
-
import {
|
|
1
|
+
import type { FfiVerificationFunctions } from '../../ffi/types';
|
|
2
|
+
import type { InternalPactVerifierOptions } from '../types';
|
|
3
|
+
import { type FnMapping } from './types';
|
|
4
4
|
type IgnoredFfiFunctions = {
|
|
5
5
|
pactffiVerifierNewForApplication: 1;
|
|
6
6
|
pactffiVerifierExecute: 1;
|
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ffiFnMapping = exports.orderOfExecution = void 0;
|
|
7
|
-
const fs = require("fs");
|
|
8
|
-
const url = require("url");
|
|
9
|
-
const
|
|
7
|
+
const fs = require("node:fs");
|
|
8
|
+
const url = require("node:url");
|
|
9
|
+
const node_url_1 = require("node:url");
|
|
10
10
|
const logger_1 = __importDefault(require("../../logger"));
|
|
11
11
|
const types_1 = require("./types");
|
|
12
12
|
const DEFAULT_TIMEOUT = 30000;
|
|
@@ -64,7 +64,7 @@ exports.ffiFnMapping = {
|
|
|
64
64
|
logger_1.default.debug(`checking source type of given pactUrl: ${file}`);
|
|
65
65
|
if (/https?:/.test(url.parse(file).protocol || '')) {
|
|
66
66
|
try {
|
|
67
|
-
const u = new
|
|
67
|
+
const u = new node_url_1.URL(file);
|
|
68
68
|
if (u.hostname) {
|
|
69
69
|
logger_1.default.debug(`adding ${file} as a Url source`);
|
|
70
70
|
ffi.pactffiVerifierUrlSource(handle, file, options.pactBrokerUsername ||
|
|
@@ -172,7 +172,7 @@ exports.ffiFnMapping = {
|
|
|
172
172
|
},
|
|
173
173
|
pactffiVerifierSetProviderInfo: {
|
|
174
174
|
validateAndExecute(ffi, handle, options) {
|
|
175
|
-
const uri = new
|
|
175
|
+
const uri = new node_url_1.URL(options.providerBaseUrl);
|
|
176
176
|
ffi.pactffiVerifierSetProviderInfo(handle, options.provider || '', uri.protocol.split(':')[0], uri.hostname, parseInt(uri.port, 10), uri.pathname);
|
|
177
177
|
return { status: types_1.FnValidationStatus.SUCCESS };
|
|
178
178
|
},
|