@contract-case/case-connector 0.19.2 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # Changelog
2
2
 
3
+ ## [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)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **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))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @contract-case/case-core bumped from 0.20.0 to 0.20.1
16
+ * @contract-case/case-connector-proto bumped from 0.20.0 to 0.20.1
17
+ * @contract-case/case-entities-internal bumped from 0.20.0 to 0.20.1
18
+ * devDependencies
19
+ * @contract-case/case-maintainer-config bumped from 0.20.0 to 0.20.1
20
+ * @contract-case/eslint-config-case-maintainer bumped from 0.20.0 to 0.20.1
21
+
22
+ ## [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)
23
+
24
+
25
+ ### ⚠ BREAKING CHANGES
26
+
27
+ * **core:** Contracts are now hashed to create the filename. This is a breaking change, because the default contractDir now stores contracts in subdirs (by provider name) and allows overwriting the contract file. This improves monorepo support. See the configuration documentation for details.
28
+
29
+ ### Features
30
+
31
+ * **core:** Contracts are now hashed to create the filename. This is a breaking change, because the default contractDir now stores contracts in subdirs (by provider name) and allows overwriting the contract file. This improves monorepo support. See the configuration documentation for details. ([b2a078d](https://github.com/case-contract-testing/contract-case/commit/b2a078d18631c15caf27706a672c49d040a47790))
32
+
33
+
34
+ ### Dependencies
35
+
36
+ * The following workspace dependencies were updated
37
+ * dependencies
38
+ * @contract-case/case-core bumped from 0.19.2 to 0.20.0
39
+ * @contract-case/case-connector-proto bumped from 0.19.2 to 0.20.0
40
+ * @contract-case/case-entities-internal bumped from 0.19.2 to 0.20.0
41
+ * devDependencies
42
+ * @contract-case/case-maintainer-config bumped from 0.19.2 to 0.20.0
43
+ * @contract-case/eslint-config-case-maintainer bumped from 0.19.2 to 0.20.0
44
+
3
45
  ## [0.19.2](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-v0.19.1...@contract-case/case-connector-v0.19.2) (2025-03-19)
4
46
 
5
47
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contract-case/case-connector",
3
- "version": "0.19.2",
3
+ "version": "0.20.1",
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.19.2",
37
- "@contract-case/eslint-config-case-maintainer": "0.19.2",
36
+ "@contract-case/case-maintainer-config": "0.20.1",
37
+ "@contract-case/eslint-config-case-maintainer": "0.20.1",
38
38
  "@types/google-protobuf": "^3.15.12",
39
39
  "@types/jest": "^29.5.12",
40
40
  "@types/uuid": "^10.0.0",
@@ -50,9 +50,9 @@
50
50
  "webpack-cli": "^6.0.1"
51
51
  },
52
52
  "dependencies": {
53
- "@contract-case/case-core": "0.19.2",
54
- "@contract-case/case-connector-proto": "0.19.2",
55
- "@contract-case/case-entities-internal": "0.19.2",
53
+ "@contract-case/case-core": "0.20.1",
54
+ "@contract-case/case-connector-proto": "0.20.1",
55
+ "@contract-case/case-entities-internal": "0.20.1",
56
56
  "@grpc/grpc-js": "^1.12.6",
57
57
  "@grpc/proto-loader": "^0.7.10",
58
58
  "get-port": "^7.1.0",
@@ -51,8 +51,12 @@ export interface ContractCaseBoundaryConfig {
51
51
  readonly logLevel?: string;
52
52
  /**
53
53
  * The directory where the contract will be written. If you provide this, ContractCase
54
- * will generate the filename for you (unless `contractFilename` is specified,
55
- * in which case this setting is ignored)
54
+ * will store contracts in subdirectories for each provider, and the
55
+ * filename is automatically generated from the consumer name and a hash of the contract contents:
56
+ *
57
+ * `${consumerName}-${hashOfContract}.case.json`.
58
+ *
59
+ * Note: if `contractFilename` is specified, this setting is ignored.
56
60
  */
57
61
  readonly contractDir?: string;
58
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/boundary/config.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAE9D;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE9D;;;;;;;OAOG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE;QAClB;;;;;;;;WAQG;QACH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;KACrC,CAAC;CACH"}
1
+ {"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/boundary/config.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAE9D;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE9D;;;;;;;OAOG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE;QAClB;;;;;;;;WAQG;QACH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;KACrC,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"contract-case-stream.d.ts","sourceRoot":"","sources":["../../../../src/connectors/grpc/contract-case-stream.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,IAAI,IAAI,IAAI,CA0B3B"}
1
+ {"version":3,"file":"contract-case-stream.d.ts","sourceRoot":"","sources":["../../../../src/connectors/grpc/contract-case-stream.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAyB3B"}
@@ -10,6 +10,10 @@ import { versionString } from '../../versionString.js';
10
10
  export function main() {
11
11
  const server = new Server();
12
12
  getPort().then((freePort) => {
13
+ server.addService(ContractCaseService, {
14
+ contractDefinition,
15
+ contractVerification,
16
+ });
13
17
  server.bindAsync(`0.0.0.0:${freePort}`, ServerCredentials.createInsecure(), (error, port) => {
14
18
  if (error != null) {
15
19
  // Console used here because there's nothing sensible we can do with this error
@@ -23,10 +27,6 @@ export function main() {
23
27
  console.log('[SERVER]', `Started on port: ${port}`);
24
28
  }
25
29
  });
26
- server.addService(ContractCaseService, {
27
- contractDefinition,
28
- contractVerification,
29
- });
30
30
  });
31
31
  }
32
32
  //# 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;AAEvD;;GAEG;AACH,MAAM,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAE5B,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1B,MAAM,CAAC,SAAS,CACd,WAAW,QAAQ,EAAE,EACrB,iBAAiB,CAAC,cAAc,EAAE,EAClC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,+EAA+E;gBAC/E,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,GAAG,EAAE,oBAAoB,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,0CAA0C;gBAC1C,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE;YACrC,kBAAkB;YAClB,oBAAoB;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,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;AAEvD;;GAEG;AACH,MAAM,UAAU,IAAI;IAClB,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;QACH,MAAM,CAAC,SAAS,CACd,WAAW,QAAQ,EAAE,EACrB,iBAAiB,CAAC,cAAc,EAAE,EAClC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,+EAA+E;gBAC/E,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,GAAG,EAAE,oBAAoB,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,0CAA0C;gBAC1C,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}