@contract-case/case-connector 0.20.0 → 0.21.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/CHANGELOG.md +38 -0
- package/dist/package.json +8 -8
- package/dist/src/connectors/grpc/contract-case-stream.d.ts.map +1 -1
- package/dist/src/connectors/grpc/contract-case-stream.js +31 -13
- package/dist/src/connectors/grpc/contract-case-stream.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package/case-connector.js +2 -2
- package/package/case-connector.js.LICENSE.txt +1 -1
- package/package/case-connector.js.map +1 -1
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.21.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-v0.20.1...@contract-case/case-connector-v0.21.0) (2025-03-25)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **connector:** Start the connector on ipv6 ([#925](https://github.com/case-contract-testing/contract-case/issues/925)) ([e502231](https://github.com/case-contract-testing/contract-case/commit/e502231983f094d492dc141d4467f6dbb4d0315f))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @contract-case/case-core bumped from 0.20.1 to 0.21.0
|
|
16
|
+
* @contract-case/case-connector-proto bumped from 0.20.1 to 0.21.0
|
|
17
|
+
* @contract-case/case-entities-internal bumped from 0.20.1 to 0.21.0
|
|
18
|
+
* devDependencies
|
|
19
|
+
* @contract-case/case-maintainer-config bumped from 0.20.1 to 0.21.0
|
|
20
|
+
* @contract-case/eslint-config-case-maintainer bumped from 0.20.1 to 0.21.0
|
|
21
|
+
|
|
22
|
+
## [0.20.1](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-v0.20.0...@contract-case/case-connector-v0.20.1) (2025-03-22)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* **case-connector:** Add the service to the server before starting, reducing chance of UNAVAILABLE errors ([39f3194](https://github.com/case-contract-testing/contract-case/commit/39f3194b86b1dd8632d29f3d9bc25d8a75655566))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Dependencies
|
|
31
|
+
|
|
32
|
+
* The following workspace dependencies were updated
|
|
33
|
+
* dependencies
|
|
34
|
+
* @contract-case/case-core bumped from 0.20.0 to 0.20.1
|
|
35
|
+
* @contract-case/case-connector-proto bumped from 0.20.0 to 0.20.1
|
|
36
|
+
* @contract-case/case-entities-internal bumped from 0.20.0 to 0.20.1
|
|
37
|
+
* devDependencies
|
|
38
|
+
* @contract-case/case-maintainer-config bumped from 0.20.0 to 0.20.1
|
|
39
|
+
* @contract-case/eslint-config-case-maintainer bumped from 0.20.0 to 0.20.1
|
|
40
|
+
|
|
3
41
|
## [0.20.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-v0.19.2...@contract-case/case-connector-v0.20.0) (2025-03-20)
|
|
4
42
|
|
|
5
43
|
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contract-case/case-connector",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Connector to allow ContractCase to run as a server. Use only if you're creating a custom wrapper for a new language",
|
|
6
6
|
"author": "Timothy Jones <timothy.l.jones@gmail.com> (https://github.com/TimothyJones)",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"url": "https://github.com/case-contract-testing/case/issues"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@contract-case/case-maintainer-config": "0.
|
|
37
|
-
"@contract-case/eslint-config-case-maintainer": "0.
|
|
36
|
+
"@contract-case/case-maintainer-config": "0.21.0",
|
|
37
|
+
"@contract-case/eslint-config-case-maintainer": "0.21.0",
|
|
38
38
|
"@types/google-protobuf": "^3.15.12",
|
|
39
39
|
"@types/jest": "^29.5.12",
|
|
40
40
|
"@types/uuid": "^10.0.0",
|
|
@@ -43,17 +43,17 @@
|
|
|
43
43
|
"prettier": "3.4.2",
|
|
44
44
|
"rimraf": "^6.0.1",
|
|
45
45
|
"source-map-loader": "^5.0.0",
|
|
46
|
-
"terser-webpack-plugin": "^5.3.
|
|
46
|
+
"terser-webpack-plugin": "^5.3.14",
|
|
47
47
|
"ts-jest": "^29.2.5",
|
|
48
48
|
"ts-node": "^10.9.2",
|
|
49
49
|
"webpack": "^5.97.1",
|
|
50
50
|
"webpack-cli": "^6.0.1"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@contract-case/case-core": "0.
|
|
54
|
-
"@contract-case/case-connector-proto": "0.
|
|
55
|
-
"@contract-case/case-entities-internal": "0.
|
|
56
|
-
"@grpc/grpc-js": "^1.
|
|
53
|
+
"@contract-case/case-core": "0.21.0",
|
|
54
|
+
"@contract-case/case-connector-proto": "0.21.0",
|
|
55
|
+
"@contract-case/case-entities-internal": "0.21.0",
|
|
56
|
+
"@grpc/grpc-js": "^1.13.1",
|
|
57
57
|
"@grpc/proto-loader": "^0.7.10",
|
|
58
58
|
"get-port": "^7.1.0",
|
|
59
59
|
"google-protobuf": "^3.21.4",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-case-stream.d.ts","sourceRoot":"","sources":["../../../../src/connectors/grpc/contract-case-stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract-case-stream.d.ts","sourceRoot":"","sources":["../../../../src/connectors/grpc/contract-case-stream.ts"],"names":[],"mappings":"AAgCA;;GAEG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAkC3B"}
|
|
@@ -4,29 +4,47 @@ import getPort from 'get-port';
|
|
|
4
4
|
import { contractDefinition } from './contractDefinition.js';
|
|
5
5
|
import { contractVerification } from './contractVerification.js';
|
|
6
6
|
import { versionString } from '../../versionString.js';
|
|
7
|
+
import { maintainerLog } from '../../domain/maintainerLog.js';
|
|
8
|
+
const bind = (server, host, freePort) => new Promise((resolve, reject) => {
|
|
9
|
+
const address = `${host}:${freePort}`;
|
|
10
|
+
maintainerLog(`Attempting to bind server: ${address}`);
|
|
11
|
+
server.bindAsync(address, ServerCredentials.createInsecure(), (error, port) => {
|
|
12
|
+
if (error != null) {
|
|
13
|
+
reject(error);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
resolve({ port: `${port}`, address });
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
7
20
|
/**
|
|
8
21
|
* Starts a gRPC server for defining and verifying ContractCase contracts
|
|
9
22
|
*/
|
|
10
23
|
export function main() {
|
|
24
|
+
maintainerLog(`Starting ContractCase connector @ ${versionString}`);
|
|
11
25
|
const server = new Server();
|
|
12
26
|
getPort().then((freePort) => {
|
|
13
|
-
server.bindAsync(`0.0.0.0:${freePort}`, ServerCredentials.createInsecure(), (error, port) => {
|
|
14
|
-
if (error != null) {
|
|
15
|
-
// Console used here because there's nothing sensible we can do with this error
|
|
16
|
-
// eslint-disable-next-line no-console
|
|
17
|
-
console.error(`[${versionString}]`, `Unable to start: ${error}`);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
// This is needed to communicate with clients
|
|
21
|
-
// Must have the port number after the `:`
|
|
22
|
-
// eslint-disable-next-line no-console
|
|
23
|
-
console.log('[SERVER]', `Started on port: ${port}`);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
27
|
server.addService(ContractCaseService, {
|
|
27
28
|
contractDefinition,
|
|
28
29
|
contractVerification,
|
|
29
30
|
});
|
|
31
|
+
return bind(server, '[::1]', freePort)
|
|
32
|
+
.catch((error) => {
|
|
33
|
+
maintainerLog('Server bind failed with error: ', error);
|
|
34
|
+
return bind(server, '127.0.0.1', freePort);
|
|
35
|
+
})
|
|
36
|
+
.then(({ port, address }) => {
|
|
37
|
+
maintainerLog(`Successfully started server at ${address}`);
|
|
38
|
+
// This is needed to communicate with clients
|
|
39
|
+
// Must have the port number after the `:`
|
|
40
|
+
// eslint-disable-next-line no-console
|
|
41
|
+
console.log('[SERVER]', `Started on port: ${port}`);
|
|
42
|
+
}, (error) => {
|
|
43
|
+
// Console used here because there's nothing sensible we can do with this error
|
|
44
|
+
// eslint-disable-next-line no-console
|
|
45
|
+
console.error(`[${versionString}]`, `ContractCase's internal server was unable to start: ${error}`);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
});
|
|
30
48
|
});
|
|
31
49
|
}
|
|
32
50
|
//# sourceMappingURL=contract-case-stream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-case-stream.js","sourceRoot":"","sources":["../../../../src/connectors/grpc/contract-case-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,OAAO,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"contract-case-stream.js","sourceRoot":"","sources":["../../../../src/connectors/grpc/contract-case-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,OAAO,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9D,MAAM,IAAI,GAAG,CACX,MAAc,EACd,IAAY,EACZ,QAAgB,EACK,EAAE,CACvB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;IACtC,aAAa,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,CACd,OAAO,EACP,iBAAiB,CAAC,cAAc,EAAE,EAClC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACd,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,UAAU,IAAI;IAClB,aAAa,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAE5B,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1B,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE;YACrC,kBAAkB;YAClB,oBAAoB;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;aACnC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,aAAa,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;aACD,IAAI,CACH,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;YACpB,aAAa,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;YAC3D,6CAA6C;YAC7C,0CAA0C;YAC1C,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,+EAA+E;YAC/E,sCAAsC;YACtC,OAAO,CAAC,KAAK,CACX,IAAI,aAAa,GAAG,EACpB,uDAAuD,KAAK,EAAE,CAC/D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CACF,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC"}
|