@contract-case/case-connector 0.30.1 → 0.31.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 +24 -0
- package/dist/cjs/src/connectors/case-boundary/internals/BoundaryPluginLoader.cjs +9 -24
- package/dist/cjs/src/connectors/case-boundary/internals/BoundaryPluginLoader.d.ts.map +1 -1
- package/dist/cjs/src/connectors/case-boundary/internals/BoundaryPluginLoader.js.map +1 -1
- package/dist/cjs/src/connectors/case-boundary/internals/index.cjs +1 -0
- package/dist/cjs/src/connectors/case-boundary/internals/index.d.cts +1 -0
- package/dist/cjs/src/connectors/case-boundary/internals/index.d.ts.map +1 -1
- package/dist/cjs/src/connectors/case-boundary/internals/index.js.map +1 -1
- package/dist/cjs/src/entities/versionString.cjs +1 -1
- package/dist/cjs/src/entities/versionString.d.cts +1 -1
- package/dist/cjs/tsconfig.1a3e54e6.tsbuildinfo +1 -0
- package/dist/src/connectors/case-boundary/internals/BoundaryPluginLoader.d.ts.map +1 -1
- package/dist/src/connectors/case-boundary/internals/BoundaryPluginLoader.js +5 -20
- package/dist/src/connectors/case-boundary/internals/BoundaryPluginLoader.js.map +1 -1
- package/dist/src/connectors/case-boundary/internals/index.d.ts +1 -0
- package/dist/src/connectors/case-boundary/internals/index.d.ts.map +1 -1
- package/dist/src/connectors/case-boundary/internals/index.js +1 -0
- package/dist/src/connectors/case-boundary/internals/index.js.map +1 -1
- package/dist/src/entities/versionString.d.ts +1 -1
- package/dist/src/entities/versionString.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/eslint.config.mjs +2 -2
- package/package/case-connector.js +2 -2
- package/package/case-connector.js.LICENSE.txt +15 -25
- package/package/case-connector.js.map +1 -1
- package/package.json +8 -7
- package/test-fixtures/contract-case-test-plugin/default-export.js +9 -0
- package/test-fixtures/contract-case-test-plugin/esm-default.mjs +7 -0
- package/test-fixtures/contract-case-test-plugin/makePlugin.js +23 -0
- package/test-fixtures/contract-case-test-plugin/module-exports.js +7 -0
- package/test-fixtures/contract-case-test-plugin/named-exports.js +12 -0
- package/test-fixtures/contract-case-test-plugin/not-a-plugin.js +5 -0
- package/test-fixtures/contract-case-test-plugin/package.json +15 -0
- package/dist/cjs/tsconfig.61f51c13.tsbuildinfo +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.31.0](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-v0.30.1...@contract-case/case-connector-v0.31.0) (2026-08-28)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* Make the DSL generator runnable by plugin authors ([#1387](https://github.com/case-contract-testing/contract-case/issues/1387)) ([7576a42](https://github.com/case-contract-testing/contract-case/commit/7576a4207b3c1fa4d8b58d6db233634f9e791c4c))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **plugins:** Make plugin loading work end to end ([#1386](https://github.com/case-contract-testing/contract-case/issues/1386)) ([8d79bb4](https://github.com/case-contract-testing/contract-case/commit/8d79bb4ee7d4f2d78363913f261ef5173a742f96))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Dependencies
|
|
17
|
+
|
|
18
|
+
* The following workspace dependencies were updated
|
|
19
|
+
* dependencies
|
|
20
|
+
* @contract-case/case-connector-proto bumped from 0.30.1 to 0.31.0
|
|
21
|
+
* @contract-case/case-core bumped from 0.30.1 to 0.31.0
|
|
22
|
+
* @contract-case/case-entities-internal bumped from 0.30.1 to 0.31.0
|
|
23
|
+
* devDependencies
|
|
24
|
+
* @contract-case/case-maintainer-config bumped from 0.30.1 to 0.31.0
|
|
25
|
+
* @contract-case/eslint-config-case-maintainer bumped from 0.30.1 to 0.31.0
|
|
26
|
+
|
|
3
27
|
## [0.30.1](https://github.com/case-contract-testing/contract-case/compare/@contract-case/case-connector-v0.30.0...@contract-case/case-connector-v0.30.1) (2026-07-18)
|
|
4
28
|
|
|
5
29
|
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BoundaryPluginLoader = void 0;
|
|
4
4
|
const case_core_1 = require("@contract-case/case-core");
|
|
5
|
+
const case_entities_internal_1 = require("@contract-case/case-entities-internal");
|
|
6
|
+
const index_js_1 = require("./boundary/index.cjs");
|
|
5
7
|
const versionString_js_1 = require("../../../entities/versionString.cjs");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
+
const index_js_2 = require("./mappers/index.cjs");
|
|
9
|
+
const loadOne = (moduleName) => (0, case_entities_internal_1.loadPluginModuleContents)(moduleName).then((moduleContents) => (0, case_entities_internal_1.mustResolvePlugin)(moduleContents, moduleName));
|
|
8
10
|
/**
|
|
9
11
|
* A BoundaryPluginLoader allows loading plugins into the core
|
|
10
12
|
*
|
|
@@ -42,38 +44,21 @@ class BoundaryPluginLoader {
|
|
|
42
44
|
}
|
|
43
45
|
initialiseLoader() {
|
|
44
46
|
if (this.loader === undefined) {
|
|
45
|
-
const { config } = (0,
|
|
46
|
-
this.loader = new case_core_1.PluginLoader(config, (0,
|
|
47
|
+
const { config } = (0, index_js_2.convertConfig)(this.constructorConfig);
|
|
48
|
+
this.loader = new case_core_1.PluginLoader(config, (0, index_js_2.wrapLogPrinter)(this.logPrinter, this.resultPrinter), [...this.parentVersions]);
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
async loadPlugins(moduleNames) {
|
|
50
52
|
this.initialiseLoader();
|
|
51
|
-
return Promise.all(moduleNames.map((moduleName) =>
|
|
52
|
-
if (
|
|
53
|
-
// Forbid URIs
|
|
54
|
-
moduleName.includes(':') ||
|
|
55
|
-
// Forbid strings that start with '.', as they may be hidden files or path traversal
|
|
56
|
-
moduleName.startsWith('.') ||
|
|
57
|
-
// Forbid strings that start with / , as only local packages are supported
|
|
58
|
-
moduleName.startsWith('/') ||
|
|
59
|
-
// Forbid strings that don't look like node module names
|
|
60
|
-
!/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*(?:\/[a-z0-9][a-z0-9._-]*)*$/i.test(moduleName)) {
|
|
61
|
-
throw new case_core_1.CaseConfigurationError(`Unsafe plugin module specifier. Plugin names must be a valid local nodejs package name, and may not be remote or inline URIs. Provided name was: '${moduleName}'`, 'DONT_ADD_LOCATION', 'INVALID_PLUGIN_NAME');
|
|
62
|
-
}
|
|
63
|
-
// webpack ignore is needed here so that the final bundle for host
|
|
64
|
-
// languages is able to import arbitrary libs, without webpack failing
|
|
65
|
-
return import(/* webpackIgnore: true */ moduleName);
|
|
66
|
-
}))
|
|
53
|
+
return Promise.all(moduleNames.map((moduleName) => loadOne(moduleName)))
|
|
67
54
|
.then((plugins) => {
|
|
68
55
|
if (this.loader == null) {
|
|
69
56
|
throw new case_core_1.CaseCoreError('this.loader was not initialised during loadPlugins. This should never happen, as initialiseLoader() is meant to be called first');
|
|
70
57
|
}
|
|
71
58
|
this.loader.loadPlugins(plugins);
|
|
72
|
-
}, (e) => {
|
|
73
|
-
throw new case_core_1.CaseConfigurationError(`Unable to load plugin: ${e.message}`, 'DONT_ADD_LOCATION', 'UNDOCUMENTED');
|
|
74
59
|
})
|
|
75
|
-
.then(() => new
|
|
76
|
-
.catch(
|
|
60
|
+
.then(() => new index_js_1.BoundarySuccess())
|
|
61
|
+
.catch(index_js_2.jsErrorToFailure);
|
|
77
62
|
}
|
|
78
63
|
}
|
|
79
64
|
exports.BoundaryPluginLoader = BoundaryPluginLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundaryPluginLoader.d.ts","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/BoundaryPluginLoader.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,cAAc,
|
|
1
|
+
{"version":3,"file":"BoundaryPluginLoader.d.ts","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/BoundaryPluginLoader.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAe7B;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAA2B;IAEzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAE/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAW;IAE1C;;;;;;;;;;OAUG;gBAED,MAAM,EAAE,0BAA0B,EAClC,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,MAAM,EAAE;IAc1B,OAAO,CAAC,gBAAgB;IAYlB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;CAclE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundaryPluginLoader.js","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/BoundaryPluginLoader.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"BoundaryPluginLoader.js","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/BoundaryPluginLoader.ts"],"names":[],"mappings":";;;AAAA,wDAAuE;AACvE,kFAG+C;AAE/C,kDAM6B;AAC7B,yEAAmE;AACnE,iDAI4B;AAE5B,MAAM,OAAO,GAAG,CACd,UAAkB,EAC6B,EAAE,CACjD,IAAA,iDAAwB,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAC3D,IAAA,0CAAiB,EAAC,cAAc,EAAE,UAAU,CAAC,CAC9C,CAAC;AAEJ;;;;GAIG;AACH,MAAa,oBAAoB;IACvB,MAAM,CAA2B;IAExB,iBAAiB,CAA6B;IAE9C,UAAU,CAAc;IAExB,aAAa,CAAiB;IAE9B,cAAc,CAAW;IAE1C;;;;;;;;;;OAUG;IACH,YACE,MAAkC,EAClC,UAAuB,EACvB,aAA6B,EAC7B,cAAwB;QAExB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,sDAAsD;QACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gCAAa,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,cAAc,EAAE,gCAAa,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEzD,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAY,CAC5B,MAAM,EACN,IAAA,yBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EACnD,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAqB;QACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;aACrE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,yBAAa,CACrB,iIAAiI,CAClI,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,0BAAe,EAAE,CAAC;aACjC,KAAK,CAAC,2BAAgB,CAAC,CAAC;IAC7B,CAAC;CACF;AAlED,oDAkEC"}
|
|
@@ -23,6 +23,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
24
|
__exportStar(require("./BoundaryContractDefiner.cjs"), exports);
|
|
25
25
|
__exportStar(require("./BoundaryContractVerifier.cjs"), exports);
|
|
26
|
+
__exportStar(require("./BoundaryPluginLoader.cjs"), exports);
|
|
26
27
|
__exportStar(require("./boundary/index.cjs"), exports);
|
|
27
28
|
__exportStar(require("./types.cjs"), exports);
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAEH,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/connectors/case-boundary/internals/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAEH,+DAA6C;AAC7C,gEAA8C;AAC9C,4DAA0C;AAC1C,sDAAoC;AACpC,6CAA2B"}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.versionString = void 0;
|
|
4
4
|
const packageName = 'case-connector';
|
|
5
|
-
const version = '0.
|
|
5
|
+
const version = '0.31.0'; // x-release-please-version
|
|
6
6
|
exports.versionString = `${packageName}@${version}`;
|
|
7
7
|
//# sourceMappingURL=versionString.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const versionString = "case-connector@0.
|
|
1
|
+
export declare const versionString = "case-connector@0.31.0";
|
|
2
2
|
//# sourceMappingURL=versionString.d.ts.map
|