@mnaoumov/typescript-dev-toolkit 3.9.0 → 3.11.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/dist/lib/cjs/commitlint-config.cjs +4 -1
- package/dist/lib/cjs/commitlint-config.d.cts +2 -2
- package/dist/lib/cjs/commitlint-lint-md-header.cjs +78 -0
- package/dist/lib/cjs/commitlint-lint-md-header.d.cts +40 -0
- package/dist/lib/cjs/docs-site/api-doc-page-generation.cjs +8 -2
- package/dist/lib/cjs/docs-site/api-doc-settings.cjs +1 -1
- package/dist/lib/cjs/docs-site/api-doc-settings.d.cts +5 -0
- package/dist/lib/cjs/docs-site/docs-site-config.cjs +3 -1
- package/dist/lib/cjs/docs-site/docs-site-config.d.cts +8 -0
- package/dist/lib/cjs/index.cjs +4 -1
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/test-runners/index.cjs +7 -1
- package/dist/lib/cjs/test-runners/index.d.cts +2 -0
- package/dist/lib/cjs/test-runners/stryker-config.cjs +102 -0
- package/dist/lib/cjs/test-runners/stryker-config.d.cts +60 -0
- package/dist/lib/cjs/test-runners/stryker.cjs +105 -0
- package/dist/lib/cjs/test-runners/stryker.d.cts +30 -0
- package/dist/lib/cjs/version.cjs +50 -29
- package/dist/lib/esm/commitlint-config.d.mts +2 -2
- package/dist/lib/esm/commitlint-config.mjs +7 -1
- package/dist/lib/esm/commitlint-lint-md-header.d.mts +40 -0
- package/dist/lib/esm/commitlint-lint-md-header.mjs +52 -0
- package/dist/lib/esm/docs-site/api-doc-page-generation.mjs +8 -2
- package/dist/lib/esm/docs-site/api-doc-settings.d.mts +5 -0
- package/dist/lib/esm/docs-site/api-doc-settings.mjs +1 -1
- package/dist/lib/esm/docs-site/docs-site-config.d.mts +8 -0
- package/dist/lib/esm/docs-site/docs-site-config.mjs +3 -1
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/test-runners/index.d.mts +2 -0
- package/dist/lib/esm/test-runners/index.mjs +5 -1
- package/dist/lib/esm/test-runners/stryker-config.d.mts +60 -0
- package/dist/lib/esm/test-runners/stryker-config.mjs +63 -0
- package/dist/lib/esm/test-runners/stryker.d.mts +30 -0
- package/dist/lib/esm/test-runners/stryker.mjs +84 -0
- package/dist/lib/esm/version.mjs +50 -29
- package/package.json +12 -1
- package/test-runners/stryker/package.json +6 -0
- package/test-runners/stryker-config/package.json +6 -0
|
@@ -64,6 +64,7 @@ var import_node_path = require('node:path');
|
|
|
64
64
|
var import_api_doc_package_sites = require('./api-doc-package-sites.cjs');
|
|
65
65
|
function resolveDocsSiteConfig(config) {
|
|
66
66
|
const {
|
|
67
|
+
apiIndexIntro,
|
|
67
68
|
docsDirectory = "docs",
|
|
68
69
|
excludedDirectories = [],
|
|
69
70
|
externalTypeLinks = /* @__PURE__ */ new Map(),
|
|
@@ -93,6 +94,7 @@ function resolveDocsSiteConfig(config) {
|
|
|
93
94
|
const basePath = `/${repo}`;
|
|
94
95
|
return {
|
|
95
96
|
apiDocSettings: {
|
|
97
|
+
apiIndexIntro,
|
|
96
98
|
basePath,
|
|
97
99
|
excludedDirectories,
|
|
98
100
|
externalTypeLinks,
|
|
@@ -132,4 +134,4 @@ function resolveDocsSiteConfig(config) {
|
|
|
132
134
|
0 && (module.exports = {
|
|
133
135
|
resolveDocsSiteConfig
|
|
134
136
|
});
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvZG9jcy1zaXRlLWNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIG9uZSBkZXNjcmlwdGlvbiBvZiBhIGRvY3VtZW50YXRpb24gc2l0ZSB0aGF0IGl0cyBBc3RybyBjb25maWcgYW5kIGl0cyBidWlsZCBjb21tYW5kcyBzaGFyZTogd2hpY2ggcmVwb3NpdG9yeVxuICogaXQgZG9jdW1lbnRzLCB3aGVyZSBpdHMgc291cmNlcyBhbmQgcGFnZXMgbGl2ZSwgYW5kIHdoaWNoIG90aGVyIHNpdGVzIGl0IGxpbmtzIHRvLlxuICovXG5cbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgQXBpRG9jU2V0dGluZ3MsXG4gIEltcG9ydFN0YXRlbWVudFByb3ZpZGVyLFxuICBNZW1iZXJSb3V0ZVNlZ21lbnRQcm92aWRlclxufSBmcm9tICcuL2FwaS1kb2Mtc2V0dGluZ3MudHMnO1xuaW1wb3J0IHR5cGUgeyBSZXBvSG9tZXBhZ2VNb2RlIH0gZnJvbSAnLi9yZXBvLWhvbWVwYWdlLnRzJztcblxuaW1wb3J0IHsgREVGQVVMVF9QQUNLQUdFX1NJVEVTIH0gZnJvbSAnLi9hcGktZG9jLXBhY2thZ2Utc2l0ZXMudHMnO1xuXG4vKipcbiAqIERlc2NyaWJlcyBhIGRvY3VtZW50YXRpb24gc2l0ZS4gRXZlcnkgcGF0aCBpcyByZWxhdGl2ZSB0byB7QGxpbmsgRG9jc1NpdGVDb25maWcucm9vdERpcmVjdG9yeX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9jc1NpdGVDb25maWcge1xuICAvKipcbiAgICogVGhlIGZvbGRlciBob2xkaW5nIHRoZSBzaXRlOiBpdHMgYHNyY2AgKHBhZ2VzLCBgY29udGVudC5jb25maWcudHNgKSwgYHB1YmxpY2AgYW5kIGJ1aWxkIG91dHB1dCBgZGlzdGAuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdkb2NzJ1xuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogRm9sZGVyIG5hbWVzIHVuZGVyIHtAbGluayBzb3VyY2VEaXJlY3Rvcnl9IHdob3NlIHN1YnRyZWUgdGhlIEFQSSByZWZlcmVuY2Ugc2tpcHMsIGluIGFkZGl0aW9uIHRvIGBAdHlwZXNgLFxuICAgKiBgc3R5bGVzYCBhbmQgYHRlc3QtaGVscGVyc2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlZERpcmVjdG9yaWVzPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFR5cGUgbmFtZXMgbWFwcGVkIHRvIHRoZSBVUkwgdGhlaXIgcmVmZXJlbmNlcyBsaW5rIHRvLCBmb3IgdHlwZXMgbm8gZG9jdW1lbnRlZCBwYWNrYWdlIGRlY2xhcmVzLiBUaGUgbGF5ZXJcbiAgICogZG9jdW1lbnRpbmcgYW4gZWNvc3lzdGVtJ3MgcGFja2FnZXMgZmlsbHMgaXQgd2l0aCB0aGF0IGVjb3N5c3RlbSdzIHJlZmVyZW5jZXMuXG4gICAqL1xuICByZWFkb25seSBleHRlcm5hbFR5cGVMaW5rcz86IFJlYWRvbmx5TWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogTmFtZXMgdGhlIEFQSSByZWZlcmVuY2UgbmV2ZXIgbGlua3MgYXMgdHlwZXMsIGluIGFkZGl0aW9uIHRvIHRoZSBidWlsdC1pbiBnZW5lcmljIHBhcmFtZXRlciBuYW1lcyBhbmQgZXZlcnlcbiAgICogdHlwZSBwYXJhbWV0ZXIgYSBkb2N1bWVudGVkIHR5cGUgZGVjbGFyZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBnZW5lcmljVHlwZVBhcmFtZXRlcnM/OiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGZvbGRlciB1bmRlciBgPGRvY3M+L3NyYy9jb250ZW50L2RvY3NgIHRoZSBndWlkZXMgc2lkZWJhciBncm91cCBpcyBnZW5lcmF0ZWQgZnJvbS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2d1aWRlcydcbiAgICovXG4gIHJlYWRvbmx5IGd1aWRlc0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogQnVpbGRzIGVhY2ggZXhwb3J0J3MgaW1wb3J0IHN0YXRlbWVudCwgZm9yIGEgcGFja2FnZSB3aG9zZSBleHBvcnRzIGFyZSBub3QgaW1wb3J0ZWQgZnJvbVxuICAgKiBgPHBhY2thZ2U+Lzxtb2R1bGUgcGF0aD5gLCBlLmcuIG9uZSBwdWJsaXNoaW5nIGJhcnJlbCBlbnRyeSBwb2ludHMuIFJldHVybmluZyBgdW5kZWZpbmVkYCBzaG93cyBubyBzdGF0ZW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRoZSBzdGF0ZW1lbnQgaW1wb3J0aW5nIHRoZSBleHBvcnQgZnJvbSBgPHBhY2thZ2U+Lzxtb2R1bGUgcGF0aD5gXG4gICAqL1xuICByZWFkb25seSBpbXBvcnRTdGF0ZW1lbnQ/OiBJbXBvcnRTdGF0ZW1lbnRQcm92aWRlcjtcblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBjYXNlLXByZXNlcnZlZCByb3V0ZSBzZWdtZW50IG9mIGEgbWVtYmVyJ3MgcGFnZSBmcm9tIGEgcHJvcGVydHkncyBuYW1lIG9yIGEgbWV0aG9kJ3Mgb3ZlcmxvYWQga2V5LFxuICAgKiBvdmVycmlkaW5nIHRoZSBnZW5lcmF0b3IncyBvd24gc2x1ZyB3aGVyZSBpdCByZXR1cm5zIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0aGUgbmFtZSBhcyBhIFVSTCBzZWdtZW50LCBpdHMgdHJhaWxpbmcgdW5kZXJzY29yZXMga2VwdFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtYmVyUm91dGVTZWdtZW50PzogTWVtYmVyUm91dGVTZWdtZW50UHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgYWNjb3VudCB0aGUgcmVwb3NpdG9yeSBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbW5hb3Vtb3YnXG4gICAqL1xuICByZWFkb25seSBvd25lcj86IHN0cmluZztcblxuICAvKipcbiAgICogUGFja2FnZSBuYW1lcyBtYXBwZWQgdG8gdGhlIHJvb3QgVVJMIG9mIHRoZWlyIGRvY3VtZW50YXRpb24gc2l0ZSwgd2l0aCBhIHRyYWlsaW5nIHNsYXNoLiBBIHR5cGUgZGVjbGFyZWQgaW4gb25lXG4gICAqIG9mIHRoZW0gbGlua3MgdG8gaXRzIHBhZ2UgdGhlcmUuIFRoZSBkb2N1bWVudGVkIHBhY2thZ2UgaXRzZWxmIGlzIG5ldmVyIGxpbmtlZCB0aGlzIHdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgREVGQVVMVF9QQUNLQUdFX1NJVEVTXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlU2l0ZXM/OiBSZWFkb25seU1hcDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlJ3Mgb25lIHB1YmxpYyBlbnRyeSBwb2ludCwgZS5nLiBgc3JjL2luZGV4LnRzYCwgZm9yIGEgcGFja2FnZSB0aGF0IHB1Ymxpc2hlcyBpdHMgQVBJIGZyb20gYSBiYXJyZWxcbiAgICogcmF0aGVyIHRoYW4gb25lIGltcG9ydCBzdWJwYXRoIHBlciBtb2R1bGUuIFNldCwgdGhlIEFQSSByZWZlcmVuY2UgZG9jdW1lbnRzIG9ubHkgdGhlIGV4cG9ydHMgdGhhdCBiYXJyZWxcbiAgICogcmUtZXhwb3J0cyAoYGV4cG9ydCAuLi4gZnJvbWApLCB7QGxpbmsgZXhjbHVkZWREaXJlY3Rvcmllc30gZG9lcyBub3QgYXBwbHksIGFuZCBldmVyeSBpbXBvcnQgc3RhdGVtZW50IGltcG9ydHNcbiAgICogZnJvbSB0aGUgcGFja2FnZSByb290LlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQ6IGV2ZXJ5IG1vZHVsZSB1bmRlciB7QGxpbmsgc291cmNlRGlyZWN0b3J5fSBpcyBkb2N1bWVudGVkIGFzIGl0cyBvd24gaW1wb3J0IHN1YnBhdGhcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FwaUVudHJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSdzIG5hbWUuIFRoZSBzaXRlIGlzIHNlcnZlZCB1bmRlciBpdDogYDxzaXRlT3JpZ2luPi88cmVwbz4vYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcblxuICAvKipcbiAgICogV2hhdCBgYnVpbGREb2NzU2l0ZWAgZG9lcywgYWZ0ZXIgdGhlIGJ1aWxkLCBhYm91dCB0aGUgcmVwb3NpdG9yeSdzIEdpdEh1YiBob21lcGFnZTogY29tcGFyZSBpdCB3aXRoIHRoZSBzaXRlJ3NcbiAgICogVVJMIGFuZCByZXBvcnQgYSBtaXNtYXRjaCAoYGNoZWNrYCksIG9yIGFsc28gc2V0IGl0IChgc2V0YCkuIEl0IHJlYWRzIGFuZCB3cml0ZXMgdGhyb3VnaCB0aGUgYGdoYCBDTEksIGFuZFxuICAgKiBvbmx5IGV2ZXIgd2FybnMuIEEgd29ya2Zsb3cncyBgR0lUSFVCX1RPS0VOYCBjYW4gcmVhZCB0aGUgaG9tZXBhZ2UgYnV0IG5vdCBzZXQgaXQsIHNvIGluIENJIGBzZXRgIHJlcG9ydHMgdG9vLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnb2ZmJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0hvbWVwYWdlPzogUmVwb0hvbWVwYWdlTW9kZTtcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgcm9vdCwgaG9sZGluZyBgcGFja2FnZS5qc29uYCwgYHRzY29uZmlnLmpzb25gIGFuZCBgbm9kZV9tb2R1bGVzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgcHJvY2Vzcy5jd2QoKVxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdERpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9yaWdpbiBldmVyeSBzaXRlIG9mIHRoZSBhY2NvdW50IGlzIHNlcnZlZCBmcm9tLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnaHR0cHM6Ly9tbmFvdW1vdi5kZXYnXG4gICAqL1xuICByZWFkb25seSBzaXRlT3JpZ2luPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHdob3NlIG1vZHVsZXMgdGhlIEFQSSByZWZlcmVuY2UgZG9jdW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnc3JjJ1xuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l0ZSdzIHRpdGxlLCBzaG93biBpbiBpdHMgaGVhZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiB7QGxpbmsgRG9jc1NpdGVDb25maWd9IHdpdGggZXZlcnkgZGVmYXVsdCBhcHBsaWVkLCBldmVyeSBwYXRoIGFic29sdXRlLCBhbmQgdGhlIHZhbHVlcyBkZXJpdmVkIGZyb20gdGhlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZERvY3NTaXRlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiBnZW5lcmF0b3IncyBzZXR0aW5ncyBmb3IgdGhlIHNpdGUuXG4gICAqL1xuICByZWFkb25seSBhcGlEb2NTZXR0aW5nczogQXBpRG9jU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIHBhdGgsIGUuZy4gYC90eXBlc2NyaXB0LWxpYmAuXG4gICAqL1xuICByZWFkb25seSBiYXNlUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnRhdGlvbiBjb250ZW50IHJvb3QsIGA8ZG9jcz4vc3JjL2NvbnRlbnQvZG9jc2AuXG4gICAqL1xuICByZWFkb25seSBjb250ZW50RG9jc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgb3V0cHV0IGZvbGRlciwgYDxkb2NzPi9kaXN0YC5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3REaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUgZm9sZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l0ZSdzIHNvdXJjZSBmb2xkZXIsIGA8ZG9jcz4vc3JjYC5cbiAgICovXG4gIHJlYWRvbmx5IGRvY3NTb3VyY2VEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBhIHBhZ2UncyBlZGl0IGxpbmsgc3RhcnRzIHdpdGg6IHRoZSByZXBvc2l0b3J5J3MgYGVkaXQvbWFpbi9gIHRyZWUuXG4gICAqL1xuICByZWFkb25seSBlZGl0TGlua0Jhc2VVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyBTVkcgbG9nbywgYDxkb2NzPi9wdWJsaWMvZmF2aWNvbi5zdmdgLlxuICAgKi9cbiAgcmVhZG9ubHkgZmF2aWNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkncyBHaXRIdWIgVVJMLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgRG9jc1NpdGVDb25maWcuZ3VpZGVzRGlyZWN0b3J5fS5cbiAgICovXG4gIHJlYWRvbmx5IGd1aWRlc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHRoZSBPcGVuIEdyYXBoIGNhcmRzIGFyZSB3cml0dGVuIHRvLCBgPGRvY3M+L3B1YmxpYy9vZ2AuXG4gICAqL1xuICByZWFkb25seSBvZ091dHB1dERpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLm93bmVyfS5cbiAgICovXG4gIHJlYWRvbmx5IG93bmVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudGVkIHBhY2thZ2UncyBuYW1lLCByZWFkIGZyb20gdGhlIHJvb3QgYHBhY2thZ2UuanNvbmAuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnRlZCBwYWNrYWdlJ3MgdmVyc2lvbiwgcmVhZCBmcm9tIHRoZSByb290IGBwYWNrYWdlLmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyBzdGF0aWMgZm9sZGVyLCBgPGRvY3M+L3B1YmxpY2AuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yZXBvfS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yZXBvSG9tZXBhZ2V9LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0hvbWVwYWdlOiBSZXBvSG9tZXBhZ2VNb2RlO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnJvb3REaXJlY3Rvcnl9LlxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdERpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBmcm9tLCB3aXRoIGEgdHJhaWxpbmcgc2xhc2guXG4gICAqL1xuICByZWFkb25seSBzaXRlQmFzZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnNpdGVPcmlnaW59LlxuICAgKi9cbiAgcmVhZG9ubHkgc2l0ZU9yaWdpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnNvdXJjZURpcmVjdG9yeX0uXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy50aXRsZX0uXG4gICAqL1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGFja2FnZUpzb25GaWVsZHMge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwcGxpZXMgdGhlIGRlZmF1bHRzIHRvIGEgc2l0ZSdzIG9wdGlvbnMgYW5kIGRlcml2ZXMgZXZlcnkgcGF0aCBhbmQgVVJMIGZyb20gdGhlbS5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gVGhlIHNpdGUncyBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIGNvbmZpZ3VyYXRpb24uXG4gKiBAdGhyb3dzIElmIHRoZSByb290IGBwYWNrYWdlLmpzb25gIGhhcyBubyBgbmFtZWAgb3IgYHZlcnNpb25gLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZURvY3NTaXRlQ29uZmlnKGNvbmZpZzogRG9jc1NpdGVDb25maWcpOiBSZXNvbHZlZERvY3NTaXRlQ29uZmlnIHtcbiAgY29uc3Qge1xuICAgIGRvY3NEaXJlY3RvcnkgPSAnZG9jcycsXG4gICAgZXhjbHVkZWREaXJlY3RvcmllcyA9IFtdLFxuICAgIGV4dGVybmFsVHlwZUxpbmtzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSxcbiAgICBnZW5lcmljVHlwZVBhcmFtZXRlcnMgPSBbXSxcbiAgICBndWlkZXNEaXJlY3RvcnkgPSAnZ3VpZGVzJyxcbiAgICBpbXBvcnRTdGF0ZW1lbnQsXG4gICAgbWVtYmVyUm91dGVTZWdtZW50LFxuICAgIG93bmVyID0gJ21uYW91bW92JyxcbiAgICBwYWNrYWdlU2l0ZXMgPSBERUZBVUxUX1BBQ0tBR0VfU0lURVMsXG4gICAgcHVibGljQXBpRW50cnksXG4gICAgcmVwbyxcbiAgICByZXBvSG9tZXBhZ2UgPSAnb2ZmJyxcbiAgICByb290RGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKSxcbiAgICBzaXRlT3JpZ2luID0gJ2h0dHBzOi8vbW5hb3Vtb3YuZGV2JyxcbiAgICBzb3VyY2VEaXJlY3RvcnkgPSAnc3JjJyxcbiAgICB0aXRsZVxuICB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMoam9pbihyb290RGlyZWN0b3J5LCAncGFja2FnZS5qc29uJyksICd1dGYtOCcpKSBhcyBQYWNrYWdlSnNvbkZpZWxkcztcbiAgaWYgKHBhY2thZ2VKc29uLm5hbWUgPT09IHVuZGVmaW5lZCB8fCBwYWNrYWdlSnNvbi52ZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7am9pbihyb290RGlyZWN0b3J5LCAncGFja2FnZS5qc29uJyl9IGhhcyBubyBuYW1lIG9yIG5vIHZlcnNpb24uYCk7XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZURvY3NEaXJlY3RvcnkgPSBqb2luKHJvb3REaXJlY3RvcnksIGRvY3NEaXJlY3RvcnkpO1xuICBjb25zdCBkb2NzU291cmNlRGlyZWN0b3J5ID0gam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdzcmMnKTtcbiAgY29uc3QgY29udGVudERvY3NEaXJlY3RvcnkgPSBqb2luKGRvY3NTb3VyY2VEaXJlY3RvcnksICdjb250ZW50JywgJ2RvY3MnKTtcbiAgY29uc3QgcHVibGljRGlyZWN0b3J5ID0gam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdwdWJsaWMnKTtcbiAgY29uc3QgZ2l0aHViVXJsID0gYGh0dHBzOi8vZ2l0aHViLmNvbS8ke293bmVyfS8ke3JlcG99YDtcblxuICBjb25zdCBiYXNlUGF0aCA9IGAvJHtyZXBvfWA7XG4gIHJldHVybiB7XG4gICAgYXBpRG9jU2V0dGluZ3M6IHtcbiAgICAgIGJhc2VQYXRoLFxuICAgICAgZXhjbHVkZWREaXJlY3RvcmllcyxcbiAgICAgIGV4dGVybmFsVHlwZUxpbmtzLFxuICAgICAgZ2VuZXJpY1R5cGVQYXJhbWV0ZXJzLFxuICAgICAgaW1wb3J0U3RhdGVtZW50LFxuICAgICAgbWVtYmVyUm91dGVTZWdtZW50LFxuICAgICAgb3V0cHV0RGlyZWN0b3J5OiBqb2luKGNvbnRlbnREb2NzRGlyZWN0b3J5LCAnYXBpJyksXG4gICAgICBwYWNrYWdlTmFtZTogcGFja2FnZUpzb24ubmFtZSxcbiAgICAgIHBhY2thZ2VTaXRlcyxcbiAgICAgIHB1YmxpY0FwaUVudHJ5OiBwdWJsaWNBcGlFbnRyeSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogam9pbihyb290RGlyZWN0b3J5LCBwdWJsaWNBcGlFbnRyeSksXG4gICAgICBzaWRlYmFyRmlsZTogam9pbihkb2NzU291cmNlRGlyZWN0b3J5LCAnZ2VuZXJhdGVkLXNpZGViYXIuanNvbicpXG4gICAgfSxcbiAgICBiYXNlUGF0aCxcbiAgICBjb250ZW50RG9jc0RpcmVjdG9yeSxcbiAgICBkaXN0RGlyZWN0b3J5OiBqb2luKGFic29sdXRlRG9jc0RpcmVjdG9yeSwgJ2Rpc3QnKSxcbiAgICBkb2NzRGlyZWN0b3J5OiBhYnNvbHV0ZURvY3NEaXJlY3RvcnksXG4gICAgZG9jc1NvdXJjZURpcmVjdG9yeSxcbiAgICBlZGl0TGlua0Jhc2VVcmw6IGAke2dpdGh1YlVybH0vZWRpdC9tYWluL2AsXG4gICAgZmF2aWNvblBhdGg6IGpvaW4ocHVibGljRGlyZWN0b3J5LCAnZmF2aWNvbi5zdmcnKSxcbiAgICBnaXRodWJVcmwsXG4gICAgZ3VpZGVzRGlyZWN0b3J5LFxuICAgIG9nT3V0cHV0RGlyZWN0b3J5OiBqb2luKHB1YmxpY0RpcmVjdG9yeSwgJ29nJyksXG4gICAgb3duZXIsXG4gICAgcGFja2FnZU5hbWU6IHBhY2thZ2VKc29uLm5hbWUsXG4gICAgcGFja2FnZVZlcnNpb246IHBhY2thZ2VKc29uLnZlcnNpb24sXG4gICAgcHVibGljRGlyZWN0b3J5LFxuICAgIHJlcG8sXG4gICAgcmVwb0hvbWVwYWdlLFxuICAgIHJvb3REaXJlY3RvcnksXG4gICAgc2l0ZUJhc2VVcmw6IGAke3NpdGVPcmlnaW59LyR7cmVwb30vYCxcbiAgICBzaXRlT3JpZ2luLFxuICAgIHNvdXJjZURpcmVjdG9yeTogam9pbihyb290RGlyZWN0b3J5LCBzb3VyY2VEaXJlY3RvcnkpLFxuICAgIHRpdGxlXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BLHFCQUE2QjtBQUM3Qix1QkFBcUI7QUFTckIsbUNBQXNDO0FBMlAvQixTQUFTLHNCQUFzQixRQUFnRDtBQUNwRixRQUFNO0FBQUEsSUFDSixnQkFBZ0I7QUFBQSxJQUNoQixzQkFBc0IsQ0FBQztBQUFBLElBQ3ZCLG9CQUFvQixvQkFBSSxJQUFvQjtBQUFBLElBQzVDLHdCQUF3QixDQUFDO0FBQUEsSUFDekIsa0JBQWtCO0FBQUEsSUFDbEI7QUFBQSxJQUNBO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixlQUFlO0FBQUEsSUFDZjtBQUFBLElBQ0E7QUFBQSxJQUNBLGVBQWU7QUFBQSxJQUNmLGdCQUFnQixRQUFRLElBQUk7QUFBQSxJQUM1QixhQUFhO0FBQUEsSUFDYixrQkFBa0I7QUFBQSxJQUNsQjtBQUFBLEVBQ0YsSUFBSTtBQUVKLFFBQU0sY0FBYyxLQUFLLFVBQU0saUNBQWEsdUJBQUssZUFBZSxjQUFjLEdBQUcsT0FBTyxDQUFDO0FBQ3pGLE1BQUksWUFBWSxTQUFTLFVBQWEsWUFBWSxZQUFZLFFBQVc7QUFDdkUsVUFBTSxJQUFJLE1BQU0sT0FBRyx1QkFBSyxlQUFlLGNBQWMsQ0FBQyw2QkFBNkI7QUFBQSxFQUNyRjtBQUVBLFFBQU0sNEJBQXdCLHVCQUFLLGVBQWUsYUFBYTtBQUMvRCxRQUFNLDBCQUFzQix1QkFBSyx1QkFBdUIsS0FBSztBQUM3RCxRQUFNLDJCQUF1Qix1QkFBSyxxQkFBcUIsV0FBVyxNQUFNO0FBQ3hFLFFBQU0sc0JBQWtCLHVCQUFLLHVCQUF1QixRQUFRO0FBQzVELFFBQU0sWUFBWSxzQkFBc0IsS0FBSyxJQUFJLElBQUk7QUFFckQsUUFBTSxXQUFXLElBQUksSUFBSTtBQUN6QixTQUFPO0FBQUEsSUFDTCxnQkFBZ0I7QUFBQSxNQUNkO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBLHFCQUFpQix1QkFBSyxzQkFBc0IsS0FBSztBQUFBLE1BQ2pELGFBQWEsWUFBWTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSxnQkFBZ0IsbUJBQW1CLFNBQVksYUFBWSx1QkFBSyxlQUFlLGNBQWM7QUFBQSxNQUM3RixpQkFBYSx1QkFBSyxxQkFBcUIsd0JBQXdCO0FBQUEsSUFDakU7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsbUJBQWUsdUJBQUssdUJBQXVCLE1BQU07QUFBQSxJQUNqRCxlQUFlO0FBQUEsSUFDZjtBQUFBLElBQ0EsaUJBQWlCLEdBQUcsU0FBUztBQUFBLElBQzdCLGlCQUFhLHVCQUFLLGlCQUFpQixhQUFhO0FBQUEsSUFDaEQ7QUFBQSxJQUNBO0FBQUEsSUFDQSx1QkFBbUIsdUJBQUssaUJBQWlCLElBQUk7QUFBQSxJQUM3QztBQUFBLElBQ0EsYUFBYSxZQUFZO0FBQUEsSUFDekIsZ0JBQWdCLFlBQVk7QUFBQSxJQUM1QjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsYUFBYSxHQUFHLFVBQVUsSUFBSSxJQUFJO0FBQUEsSUFDbEM7QUFBQSxJQUNBLHFCQUFpQix1QkFBSyxlQUFlLGVBQWU7QUFBQSxJQUNwRDtBQUFBLEVBQ0Y7QUFDRjsiLCJuYW1lcyI6W119
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvZG9jcy1zaXRlLWNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIG9uZSBkZXNjcmlwdGlvbiBvZiBhIGRvY3VtZW50YXRpb24gc2l0ZSB0aGF0IGl0cyBBc3RybyBjb25maWcgYW5kIGl0cyBidWlsZCBjb21tYW5kcyBzaGFyZTogd2hpY2ggcmVwb3NpdG9yeVxuICogaXQgZG9jdW1lbnRzLCB3aGVyZSBpdHMgc291cmNlcyBhbmQgcGFnZXMgbGl2ZSwgYW5kIHdoaWNoIG90aGVyIHNpdGVzIGl0IGxpbmtzIHRvLlxuICovXG5cbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgQXBpRG9jU2V0dGluZ3MsXG4gIEltcG9ydFN0YXRlbWVudFByb3ZpZGVyLFxuICBNZW1iZXJSb3V0ZVNlZ21lbnRQcm92aWRlclxufSBmcm9tICcuL2FwaS1kb2Mtc2V0dGluZ3MudHMnO1xuaW1wb3J0IHR5cGUgeyBSZXBvSG9tZXBhZ2VNb2RlIH0gZnJvbSAnLi9yZXBvLWhvbWVwYWdlLnRzJztcblxuaW1wb3J0IHsgREVGQVVMVF9QQUNLQUdFX1NJVEVTIH0gZnJvbSAnLi9hcGktZG9jLXBhY2thZ2Utc2l0ZXMudHMnO1xuXG4vKipcbiAqIERlc2NyaWJlcyBhIGRvY3VtZW50YXRpb24gc2l0ZS4gRXZlcnkgcGF0aCBpcyByZWxhdGl2ZSB0byB7QGxpbmsgRG9jc1NpdGVDb25maWcucm9vdERpcmVjdG9yeX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9jc1NpdGVDb25maWcge1xuICAvKipcbiAgICogVGhlIHJvb3QgQVBJIHBhZ2UncyBpbnRybywgYXMgTWFya2Rvd24sIGZvciBhIHBhY2thZ2Ugd2hvc2UgYXJyYW5nZW1lbnQgdGhlIGdlbmVyYXRlZCBpbnRybyBjYW5ub3QgZXhwbGFpbjtcbiAgICogc3RyaXBwZWQgb2YgaXRzIE1hcmtkb3duLCBpdCBpcyBhbHNvIHRoZSBwYWdlJ3MgYGRlc2NyaXB0aW9uYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYSBnZW5lcmF0ZWQgaW50cm8gbmFtaW5nIHRoZSBwYWNrYWdlIGFuZCwgdW5sZXNzIHtAbGluayBpbXBvcnRTdGF0ZW1lbnR9IGlzIHNldCwgd2hlcmUgaXRzIGV4cG9ydHMgYXJlXG4gICAqIGltcG9ydGVkIGZyb21cbiAgICovXG4gIHJlYWRvbmx5IGFwaUluZGV4SW50cm8/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgaG9sZGluZyB0aGUgc2l0ZTogaXRzIGBzcmNgIChwYWdlcywgYGNvbnRlbnQuY29uZmlnLnRzYCksIGBwdWJsaWNgIGFuZCBidWlsZCBvdXRwdXQgYGRpc3RgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnZG9jcydcbiAgICovXG4gIHJlYWRvbmx5IGRvY3NEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvbGRlciBuYW1lcyB1bmRlciB7QGxpbmsgc291cmNlRGlyZWN0b3J5fSB3aG9zZSBzdWJ0cmVlIHRoZSBBUEkgcmVmZXJlbmNlIHNraXBzLCBpbiBhZGRpdGlvbiB0byBgQHR5cGVzYCxcbiAgICogYHN0eWxlc2AgYW5kIGB0ZXN0LWhlbHBlcnNgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVkZWREaXJlY3Rvcmllcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUeXBlIG5hbWVzIG1hcHBlZCB0byB0aGUgVVJMIHRoZWlyIHJlZmVyZW5jZXMgbGluayB0bywgZm9yIHR5cGVzIG5vIGRvY3VtZW50ZWQgcGFja2FnZSBkZWNsYXJlcy4gVGhlIGxheWVyXG4gICAqIGRvY3VtZW50aW5nIGFuIGVjb3N5c3RlbSdzIHBhY2thZ2VzIGZpbGxzIGl0IHdpdGggdGhhdCBlY29zeXN0ZW0ncyByZWZlcmVuY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWxUeXBlTGlua3M/OiBSZWFkb25seU1hcDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIE5hbWVzIHRoZSBBUEkgcmVmZXJlbmNlIG5ldmVyIGxpbmtzIGFzIHR5cGVzLCBpbiBhZGRpdGlvbiB0byB0aGUgYnVpbHQtaW4gZ2VuZXJpYyBwYXJhbWV0ZXIgbmFtZXMgYW5kIGV2ZXJ5XG4gICAqIHR5cGUgcGFyYW1ldGVyIGEgZG9jdW1lbnRlZCB0eXBlIGRlY2xhcmVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgZ2VuZXJpY1R5cGVQYXJhbWV0ZXJzPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgdW5kZXIgYDxkb2NzPi9zcmMvY29udGVudC9kb2NzYCB0aGUgZ3VpZGVzIHNpZGViYXIgZ3JvdXAgaXMgZ2VuZXJhdGVkIGZyb20uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdndWlkZXMnXG4gICAqL1xuICByZWFkb25seSBndWlkZXNEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBlYWNoIGV4cG9ydCdzIGltcG9ydCBzdGF0ZW1lbnQsIGZvciBhIHBhY2thZ2Ugd2hvc2UgZXhwb3J0cyBhcmUgbm90IGltcG9ydGVkIGZyb21cbiAgICogYDxwYWNrYWdlPi88bW9kdWxlIHBhdGg+YCwgZS5nLiBvbmUgcHVibGlzaGluZyBiYXJyZWwgZW50cnkgcG9pbnRzLiBSZXR1cm5pbmcgYHVuZGVmaW5lZGAgc2hvd3Mgbm8gc3RhdGVtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0aGUgc3RhdGVtZW50IGltcG9ydGluZyB0aGUgZXhwb3J0IGZyb20gYDxwYWNrYWdlPi88bW9kdWxlIHBhdGg+YFxuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0U3RhdGVtZW50PzogSW1wb3J0U3RhdGVtZW50UHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgY2FzZS1wcmVzZXJ2ZWQgcm91dGUgc2VnbWVudCBvZiBhIG1lbWJlcidzIHBhZ2UgZnJvbSBhIHByb3BlcnR5J3MgbmFtZSBvciBhIG1ldGhvZCdzIG92ZXJsb2FkIGtleSxcbiAgICogb3ZlcnJpZGluZyB0aGUgZ2VuZXJhdG9yJ3Mgb3duIHNsdWcgd2hlcmUgaXQgcmV0dXJucyBhIHN0cmluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIG5hbWUgYXMgYSBVUkwgc2VnbWVudCwgaXRzIHRyYWlsaW5nIHVuZGVyc2NvcmVzIGtlcHRcbiAgICovXG4gIHJlYWRvbmx5IG1lbWJlclJvdXRlU2VnbWVudD86IE1lbWJlclJvdXRlU2VnbWVudFByb3ZpZGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIGFjY291bnQgdGhlIHJlcG9zaXRvcnkgYmVsb25ncyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgJ21uYW91bW92J1xuICAgKi9cbiAgcmVhZG9ubHkgb3duZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhY2thZ2UgbmFtZXMgbWFwcGVkIHRvIHRoZSByb290IFVSTCBvZiB0aGVpciBkb2N1bWVudGF0aW9uIHNpdGUsIHdpdGggYSB0cmFpbGluZyBzbGFzaC4gQSB0eXBlIGRlY2xhcmVkIGluIG9uZVxuICAgKiBvZiB0aGVtIGxpbmtzIHRvIGl0cyBwYWdlIHRoZXJlLiBUaGUgZG9jdW1lbnRlZCBwYWNrYWdlIGl0c2VsZiBpcyBuZXZlciBsaW5rZWQgdGhpcyB3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IERFRkFVTFRfUEFDS0FHRV9TSVRFU1xuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVNpdGVzPzogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZSdzIG9uZSBwdWJsaWMgZW50cnkgcG9pbnQsIGUuZy4gYHNyYy9pbmRleC50c2AsIGZvciBhIHBhY2thZ2UgdGhhdCBwdWJsaXNoZXMgaXRzIEFQSSBmcm9tIGEgYmFycmVsXG4gICAqIHJhdGhlciB0aGFuIG9uZSBpbXBvcnQgc3VicGF0aCBwZXIgbW9kdWxlLiBTZXQsIHRoZSBBUEkgcmVmZXJlbmNlIGRvY3VtZW50cyBvbmx5IHRoZSBleHBvcnRzIHRoYXQgYmFycmVsXG4gICAqIHJlLWV4cG9ydHMgKGBleHBvcnQgLi4uIGZyb21gKSwge0BsaW5rIGV4Y2x1ZGVkRGlyZWN0b3JpZXN9IGRvZXMgbm90IGFwcGx5LCBhbmQgZXZlcnkgaW1wb3J0IHN0YXRlbWVudCBpbXBvcnRzXG4gICAqIGZyb20gdGhlIHBhY2thZ2Ugcm9vdC5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkOiBldmVyeSBtb2R1bGUgdW5kZXIge0BsaW5rIHNvdXJjZURpcmVjdG9yeX0gaXMgZG9jdW1lbnRlZCBhcyBpdHMgb3duIGltcG9ydCBzdWJwYXRoXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBcGlFbnRyeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkncyBuYW1lLiBUaGUgc2l0ZSBpcyBzZXJ2ZWQgdW5kZXIgaXQ6IGA8c2l0ZU9yaWdpbj4vPHJlcG8+L2AuXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoYXQgYGJ1aWxkRG9jc1NpdGVgIGRvZXMsIGFmdGVyIHRoZSBidWlsZCwgYWJvdXQgdGhlIHJlcG9zaXRvcnkncyBHaXRIdWIgaG9tZXBhZ2U6IGNvbXBhcmUgaXQgd2l0aCB0aGUgc2l0ZSdzXG4gICAqIFVSTCBhbmQgcmVwb3J0IGEgbWlzbWF0Y2ggKGBjaGVja2ApLCBvciBhbHNvIHNldCBpdCAoYHNldGApLiBJdCByZWFkcyBhbmQgd3JpdGVzIHRocm91Z2ggdGhlIGBnaGAgQ0xJLCBhbmRcbiAgICogb25seSBldmVyIHdhcm5zLiBBIHdvcmtmbG93J3MgYEdJVEhVQl9UT0tFTmAgY2FuIHJlYWQgdGhlIGhvbWVwYWdlIGJ1dCBub3Qgc2V0IGl0LCBzbyBpbiBDSSBgc2V0YCByZXBvcnRzIHRvby5cbiAgICpcbiAgICogQGRlZmF1bHQgJ29mZidcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9Ib21lcGFnZT86IFJlcG9Ib21lcGFnZU1vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHJvb3QsIGhvbGRpbmcgYHBhY2thZ2UuanNvbmAsIGB0c2NvbmZpZy5qc29uYCBhbmQgYG5vZGVfbW9kdWxlc2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IHByb2Nlc3MuY3dkKClcbiAgICovXG4gIHJlYWRvbmx5IHJvb3REaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvcmlnaW4gZXZlcnkgc2l0ZSBvZiB0aGUgYWNjb3VudCBpcyBzZXJ2ZWQgZnJvbS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2h0dHBzOi8vbW5hb3Vtb3YuZGV2J1xuICAgKi9cbiAgcmVhZG9ubHkgc2l0ZU9yaWdpbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZvbGRlciB3aG9zZSBtb2R1bGVzIHRoZSBBUEkgcmVmZXJlbmNlIGRvY3VtZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgJ3NyYydcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZURpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyB0aXRsZSwgc2hvd24gaW4gaXRzIGhlYWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG59XG5cbi8qKlxuICoge0BsaW5rIERvY3NTaXRlQ29uZmlnfSB3aXRoIGV2ZXJ5IGRlZmF1bHQgYXBwbGllZCwgZXZlcnkgcGF0aCBhYnNvbHV0ZSwgYW5kIHRoZSB2YWx1ZXMgZGVyaXZlZCBmcm9tIHRoZW0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWREb2NzU2l0ZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQVBJIGRvY3VtZW50YXRpb24gZ2VuZXJhdG9yJ3Mgc2V0dGluZ3MgZm9yIHRoZSBzaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRG9jU2V0dGluZ3M6IEFwaURvY1NldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBwYXRoLCBlLmcuIGAvdHlwZXNjcmlwdC1saWJgLlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRvY3VtZW50YXRpb24gY29udGVudCByb290LCBgPGRvY3M+L3NyYy9jb250ZW50L2RvY3NgLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudERvY3NEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGJ1aWxkIG91dHB1dCBmb2xkZXIsIGA8ZG9jcz4vZGlzdGAuXG4gICAqL1xuICByZWFkb25seSBkaXN0RGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXRlIGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IGRvY3NEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyBzb3VyY2UgZm9sZGVyLCBgPGRvY3M+L3NyY2AuXG4gICAqL1xuICByZWFkb25seSBkb2NzU291cmNlRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgYSBwYWdlJ3MgZWRpdCBsaW5rIHN0YXJ0cyB3aXRoOiB0aGUgcmVwb3NpdG9yeSdzIGBlZGl0L21haW4vYCB0cmVlLlxuICAgKi9cbiAgcmVhZG9ubHkgZWRpdExpbmtCYXNlVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXRlJ3MgU1ZHIGxvZ28sIGA8ZG9jcz4vcHVibGljL2Zhdmljb24uc3ZnYC5cbiAgICovXG4gIHJlYWRvbmx5IGZhdmljb25QYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5J3MgR2l0SHViIFVSTC5cbiAgICovXG4gIHJlYWRvbmx5IGdpdGh1YlVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLmd1aWRlc0RpcmVjdG9yeX0uXG4gICAqL1xuICByZWFkb25seSBndWlkZXNEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZvbGRlciB0aGUgT3BlbiBHcmFwaCBjYXJkcyBhcmUgd3JpdHRlbiB0bywgYDxkb2NzPi9wdWJsaWMvb2dgLlxuICAgKi9cbiAgcmVhZG9ubHkgb2dPdXRwdXREaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5vd25lcn0uXG4gICAqL1xuICByZWFkb25seSBvd25lcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnRlZCBwYWNrYWdlJ3MgbmFtZSwgcmVhZCBmcm9tIHRoZSByb290IGBwYWNrYWdlLmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRvY3VtZW50ZWQgcGFja2FnZSdzIHZlcnNpb24sIHJlYWQgZnJvbSB0aGUgcm9vdCBgcGFja2FnZS5qc29uYC5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXRlJ3Mgc3RhdGljIGZvbGRlciwgYDxkb2NzPi9wdWJsaWNgLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgRG9jc1NpdGVDb25maWcucmVwb30uXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgRG9jc1NpdGVDb25maWcucmVwb0hvbWVwYWdlfS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9Ib21lcGFnZTogUmVwb0hvbWVwYWdlTW9kZTtcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yb290RGlyZWN0b3J5fS5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3REaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFic29sdXRlIFVSTCB0aGUgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSwgd2l0aCBhIHRyYWlsaW5nIHNsYXNoLlxuICAgKi9cbiAgcmVhZG9ubHkgc2l0ZUJhc2VVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5zaXRlT3JpZ2lufS5cbiAgICovXG4gIHJlYWRvbmx5IHNpdGVPcmlnaW46IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5zb3VyY2VEaXJlY3Rvcnl9LlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgRG9jc1NpdGVDb25maWcudGl0bGV9LlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhY2thZ2VKc29uRmllbGRzIHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBkZWZhdWx0cyB0byBhIHNpdGUncyBvcHRpb25zIGFuZCBkZXJpdmVzIGV2ZXJ5IHBhdGggYW5kIFVSTCBmcm9tIHRoZW0uXG4gKlxuICogQHBhcmFtIGNvbmZpZyAtIFRoZSBzaXRlJ3MgY29uZmlndXJhdGlvbi5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBjb25maWd1cmF0aW9uLlxuICogQHRocm93cyBJZiB0aGUgcm9vdCBgcGFja2FnZS5qc29uYCBoYXMgbm8gYG5hbWVgIG9yIGB2ZXJzaW9uYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVEb2NzU2l0ZUNvbmZpZyhjb25maWc6IERvY3NTaXRlQ29uZmlnKTogUmVzb2x2ZWREb2NzU2l0ZUNvbmZpZyB7XG4gIGNvbnN0IHtcbiAgICBhcGlJbmRleEludHJvLFxuICAgIGRvY3NEaXJlY3RvcnkgPSAnZG9jcycsXG4gICAgZXhjbHVkZWREaXJlY3RvcmllcyA9IFtdLFxuICAgIGV4dGVybmFsVHlwZUxpbmtzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSxcbiAgICBnZW5lcmljVHlwZVBhcmFtZXRlcnMgPSBbXSxcbiAgICBndWlkZXNEaXJlY3RvcnkgPSAnZ3VpZGVzJyxcbiAgICBpbXBvcnRTdGF0ZW1lbnQsXG4gICAgbWVtYmVyUm91dGVTZWdtZW50LFxuICAgIG93bmVyID0gJ21uYW91bW92JyxcbiAgICBwYWNrYWdlU2l0ZXMgPSBERUZBVUxUX1BBQ0tBR0VfU0lURVMsXG4gICAgcHVibGljQXBpRW50cnksXG4gICAgcmVwbyxcbiAgICByZXBvSG9tZXBhZ2UgPSAnb2ZmJyxcbiAgICByb290RGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKSxcbiAgICBzaXRlT3JpZ2luID0gJ2h0dHBzOi8vbW5hb3Vtb3YuZGV2JyxcbiAgICBzb3VyY2VEaXJlY3RvcnkgPSAnc3JjJyxcbiAgICB0aXRsZVxuICB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMoam9pbihyb290RGlyZWN0b3J5LCAncGFja2FnZS5qc29uJyksICd1dGYtOCcpKSBhcyBQYWNrYWdlSnNvbkZpZWxkcztcbiAgaWYgKHBhY2thZ2VKc29uLm5hbWUgPT09IHVuZGVmaW5lZCB8fCBwYWNrYWdlSnNvbi52ZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7am9pbihyb290RGlyZWN0b3J5LCAncGFja2FnZS5qc29uJyl9IGhhcyBubyBuYW1lIG9yIG5vIHZlcnNpb24uYCk7XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZURvY3NEaXJlY3RvcnkgPSBqb2luKHJvb3REaXJlY3RvcnksIGRvY3NEaXJlY3RvcnkpO1xuICBjb25zdCBkb2NzU291cmNlRGlyZWN0b3J5ID0gam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdzcmMnKTtcbiAgY29uc3QgY29udGVudERvY3NEaXJlY3RvcnkgPSBqb2luKGRvY3NTb3VyY2VEaXJlY3RvcnksICdjb250ZW50JywgJ2RvY3MnKTtcbiAgY29uc3QgcHVibGljRGlyZWN0b3J5ID0gam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdwdWJsaWMnKTtcbiAgY29uc3QgZ2l0aHViVXJsID0gYGh0dHBzOi8vZ2l0aHViLmNvbS8ke293bmVyfS8ke3JlcG99YDtcblxuICBjb25zdCBiYXNlUGF0aCA9IGAvJHtyZXBvfWA7XG4gIHJldHVybiB7XG4gICAgYXBpRG9jU2V0dGluZ3M6IHtcbiAgICAgIGFwaUluZGV4SW50cm8sXG4gICAgICBiYXNlUGF0aCxcbiAgICAgIGV4Y2x1ZGVkRGlyZWN0b3JpZXMsXG4gICAgICBleHRlcm5hbFR5cGVMaW5rcyxcbiAgICAgIGdlbmVyaWNUeXBlUGFyYW1ldGVycyxcbiAgICAgIGltcG9ydFN0YXRlbWVudCxcbiAgICAgIG1lbWJlclJvdXRlU2VnbWVudCxcbiAgICAgIG91dHB1dERpcmVjdG9yeTogam9pbihjb250ZW50RG9jc0RpcmVjdG9yeSwgJ2FwaScpLFxuICAgICAgcGFja2FnZU5hbWU6IHBhY2thZ2VKc29uLm5hbWUsXG4gICAgICBwYWNrYWdlU2l0ZXMsXG4gICAgICBwdWJsaWNBcGlFbnRyeTogcHVibGljQXBpRW50cnkgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IGpvaW4ocm9vdERpcmVjdG9yeSwgcHVibGljQXBpRW50cnkpLFxuICAgICAgc2lkZWJhckZpbGU6IGpvaW4oZG9jc1NvdXJjZURpcmVjdG9yeSwgJ2dlbmVyYXRlZC1zaWRlYmFyLmpzb24nKVxuICAgIH0sXG4gICAgYmFzZVBhdGgsXG4gICAgY29udGVudERvY3NEaXJlY3RvcnksXG4gICAgZGlzdERpcmVjdG9yeTogam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdkaXN0JyksXG4gICAgZG9jc0RpcmVjdG9yeTogYWJzb2x1dGVEb2NzRGlyZWN0b3J5LFxuICAgIGRvY3NTb3VyY2VEaXJlY3RvcnksXG4gICAgZWRpdExpbmtCYXNlVXJsOiBgJHtnaXRodWJVcmx9L2VkaXQvbWFpbi9gLFxuICAgIGZhdmljb25QYXRoOiBqb2luKHB1YmxpY0RpcmVjdG9yeSwgJ2Zhdmljb24uc3ZnJyksXG4gICAgZ2l0aHViVXJsLFxuICAgIGd1aWRlc0RpcmVjdG9yeSxcbiAgICBvZ091dHB1dERpcmVjdG9yeTogam9pbihwdWJsaWNEaXJlY3RvcnksICdvZycpLFxuICAgIG93bmVyLFxuICAgIHBhY2thZ2VOYW1lOiBwYWNrYWdlSnNvbi5uYW1lLFxuICAgIHBhY2thZ2VWZXJzaW9uOiBwYWNrYWdlSnNvbi52ZXJzaW9uLFxuICAgIHB1YmxpY0RpcmVjdG9yeSxcbiAgICByZXBvLFxuICAgIHJlcG9Ib21lcGFnZSxcbiAgICByb290RGlyZWN0b3J5LFxuICAgIHNpdGVCYXNlVXJsOiBgJHtzaXRlT3JpZ2lufS8ke3JlcG99L2AsXG4gICAgc2l0ZU9yaWdpbixcbiAgICBzb3VyY2VEaXJlY3Rvcnk6IGpvaW4ocm9vdERpcmVjdG9yeSwgc291cmNlRGlyZWN0b3J5KSxcbiAgICB0aXRsZVxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSxxQkFBNkI7QUFDN0IsdUJBQXFCO0FBU3JCLG1DQUFzQztBQW9RL0IsU0FBUyxzQkFBc0IsUUFBZ0Q7QUFDcEYsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBLGdCQUFnQjtBQUFBLElBQ2hCLHNCQUFzQixDQUFDO0FBQUEsSUFDdkIsb0JBQW9CLG9CQUFJLElBQW9CO0FBQUEsSUFDNUMsd0JBQXdCLENBQUM7QUFBQSxJQUN6QixrQkFBa0I7QUFBQSxJQUNsQjtBQUFBLElBQ0E7QUFBQSxJQUNBLFFBQVE7QUFBQSxJQUNSLGVBQWU7QUFBQSxJQUNmO0FBQUEsSUFDQTtBQUFBLElBQ0EsZUFBZTtBQUFBLElBQ2YsZ0JBQWdCLFFBQVEsSUFBSTtBQUFBLElBQzVCLGFBQWE7QUFBQSxJQUNiLGtCQUFrQjtBQUFBLElBQ2xCO0FBQUEsRUFDRixJQUFJO0FBRUosUUFBTSxjQUFjLEtBQUssVUFBTSxpQ0FBYSx1QkFBSyxlQUFlLGNBQWMsR0FBRyxPQUFPLENBQUM7QUFDekYsTUFBSSxZQUFZLFNBQVMsVUFBYSxZQUFZLFlBQVksUUFBVztBQUN2RSxVQUFNLElBQUksTUFBTSxPQUFHLHVCQUFLLGVBQWUsY0FBYyxDQUFDLDZCQUE2QjtBQUFBLEVBQ3JGO0FBRUEsUUFBTSw0QkFBd0IsdUJBQUssZUFBZSxhQUFhO0FBQy9ELFFBQU0sMEJBQXNCLHVCQUFLLHVCQUF1QixLQUFLO0FBQzdELFFBQU0sMkJBQXVCLHVCQUFLLHFCQUFxQixXQUFXLE1BQU07QUFDeEUsUUFBTSxzQkFBa0IsdUJBQUssdUJBQXVCLFFBQVE7QUFDNUQsUUFBTSxZQUFZLHNCQUFzQixLQUFLLElBQUksSUFBSTtBQUVyRCxRQUFNLFdBQVcsSUFBSSxJQUFJO0FBQ3pCLFNBQU87QUFBQSxJQUNMLGdCQUFnQjtBQUFBLE1BQ2Q7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBLHFCQUFpQix1QkFBSyxzQkFBc0IsS0FBSztBQUFBLE1BQ2pELGFBQWEsWUFBWTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSxnQkFBZ0IsbUJBQW1CLFNBQVksYUFBWSx1QkFBSyxlQUFlLGNBQWM7QUFBQSxNQUM3RixpQkFBYSx1QkFBSyxxQkFBcUIsd0JBQXdCO0FBQUEsSUFDakU7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsbUJBQWUsdUJBQUssdUJBQXVCLE1BQU07QUFBQSxJQUNqRCxlQUFlO0FBQUEsSUFDZjtBQUFBLElBQ0EsaUJBQWlCLEdBQUcsU0FBUztBQUFBLElBQzdCLGlCQUFhLHVCQUFLLGlCQUFpQixhQUFhO0FBQUEsSUFDaEQ7QUFBQSxJQUNBO0FBQUEsSUFDQSx1QkFBbUIsdUJBQUssaUJBQWlCLElBQUk7QUFBQSxJQUM3QztBQUFBLElBQ0EsYUFBYSxZQUFZO0FBQUEsSUFDekIsZ0JBQWdCLFlBQVk7QUFBQSxJQUM1QjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsYUFBYSxHQUFHLFVBQVUsSUFBSSxJQUFJO0FBQUEsSUFDbEM7QUFBQSxJQUNBLHFCQUFpQix1QkFBSyxlQUFlLGVBQWU7QUFBQSxJQUNwRDtBQUFBLEVBQ0Y7QUFDRjsiLCJuYW1lcyI6W119
|
|
@@ -11,6 +11,14 @@ import type { RepoHomepageMode } from './repo-homepage.cjs';
|
|
|
11
11
|
* Describes a documentation site. Every path is relative to {@link DocsSiteConfig.rootDirectory}.
|
|
12
12
|
*/
|
|
13
13
|
export interface DocsSiteConfig {
|
|
14
|
+
/**
|
|
15
|
+
* The root API page's intro, as Markdown, for a package whose arrangement the generated intro cannot explain;
|
|
16
|
+
* stripped of its Markdown, it is also the page's `description`.
|
|
17
|
+
*
|
|
18
|
+
* @default a generated intro naming the package and, unless {@link importStatement} is set, where its exports are
|
|
19
|
+
* imported from
|
|
20
|
+
*/
|
|
21
|
+
readonly apiIndexIntro?: string;
|
|
14
22
|
/**
|
|
15
23
|
* The folder holding the site: its `src` (pages, `content.config.ts`), `public` and build output `dist`.
|
|
16
24
|
*
|
package/dist/lib/cjs/index.cjs
CHANGED
|
@@ -40,6 +40,7 @@ __export(index_exports, {
|
|
|
40
40
|
"code-generator": () => code_generator,
|
|
41
41
|
"commitlint-config": () => commitlint_config,
|
|
42
42
|
"commitlint-forbidden-patterns": () => commitlint_forbidden_patterns,
|
|
43
|
+
"commitlint-lint-md-header": () => commitlint_lint_md_header,
|
|
43
44
|
"commitlint-spellcheck-header": () => commitlint_spellcheck_header,
|
|
44
45
|
"docs-site": () => docs_site,
|
|
45
46
|
"env-toggle": () => env_toggle,
|
|
@@ -77,6 +78,7 @@ var cli_utils = __toESM(((module) => module && module.__esModule && 'default' in
|
|
|
77
78
|
var code_generator = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./code-generator.cjs')), 1);
|
|
78
79
|
var commitlint_config = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./commitlint-config.cjs')), 1);
|
|
79
80
|
var commitlint_forbidden_patterns = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./commitlint-forbidden-patterns.cjs')), 1);
|
|
81
|
+
var commitlint_lint_md_header = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./commitlint-lint-md-header.cjs')), 1);
|
|
80
82
|
var commitlint_spellcheck_header = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./commitlint-spellcheck-header.cjs')), 1);
|
|
81
83
|
var docs_site = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./docs-site/index.cjs')), 1);
|
|
82
84
|
var env_toggle = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./env-toggle.cjs')), 1);
|
|
@@ -114,6 +116,7 @@ var version = __toESM(((module) => module && module.__esModule && 'default' in m
|
|
|
114
116
|
"code-generator": null,
|
|
115
117
|
"commitlint-config": null,
|
|
116
118
|
"commitlint-forbidden-patterns": null,
|
|
119
|
+
"commitlint-lint-md-header": null,
|
|
117
120
|
"commitlint-spellcheck-header": null,
|
|
118
121
|
"docs-site": null,
|
|
119
122
|
"env-toggle": null,
|
|
@@ -143,4 +146,4 @@ var version = __toESM(((module) => module && module.__esModule && 'default' in m
|
|
|
143
146
|
"validate-dependencies": null,
|
|
144
147
|
version
|
|
145
148
|
});
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2J1aWxkJyBmcm9tICcuL2J1aWxkLnRzJztcbmV4cG9ydCAqIGFzICdidW5kbGVycycgZnJvbSAnLi9idW5kbGVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnY2hlY2stcHJvamVjdC10eXBlcycgZnJvbSAnLi9jaGVjay1wcm9qZWN0LXR5cGVzLnRzJztcbmV4cG9ydCAqIGFzICdjbGktdXRpbHMnIGZyb20gJy4vY2xpLXV0aWxzLnRzJztcbmV4cG9ydCAqIGFzICdjb2RlLWdlbmVyYXRvcicgZnJvbSAnLi9jb2RlLWdlbmVyYXRvci50cyc7XG5leHBvcnQgKiBhcyAnY29tbWl0bGludC1jb25maWcnIGZyb20gJy4vY29tbWl0bGludC1jb25maWcudHMnO1xuZXhwb3J0ICogYXMgJ2NvbW1pdGxpbnQtZm9yYmlkZGVuLXBhdHRlcm5zJyBmcm9tICcuL2NvbW1pdGxpbnQtZm9yYmlkZGVuLXBhdHRlcm5zLnRzJztcbmV4cG9ydCAqIGFzICdjb21taXRsaW50LWxpbnQtbWQtaGVhZGVyJyBmcm9tICcuL2NvbW1pdGxpbnQtbGludC1tZC1oZWFkZXIudHMnO1xuZXhwb3J0ICogYXMgJ2NvbW1pdGxpbnQtc3BlbGxjaGVjay1oZWFkZXInIGZyb20gJy4vY29tbWl0bGludC1zcGVsbGNoZWNrLWhlYWRlci50cyc7XG5leHBvcnQgKiBhcyAnZG9jcy1zaXRlJyBmcm9tICcuL2RvY3Mtc2l0ZS9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnZW52LXRvZ2dsZScgZnJvbSAnLi9lbnYtdG9nZ2xlLnRzJztcbmV4cG9ydCAqIGFzICdleGVjJyBmcm9tICcuL2V4ZWMudHMnO1xuZXhwb3J0ICogYXMgJ2ZvcmJpZGRlbi1wYXR0ZXJucycgZnJvbSAnLi9mb3JiaWRkZW4tcGF0dGVybnMudHMnO1xuZXhwb3J0ICogYXMgJ2Zvcm1hdHRlcnMnIGZyb20gJy4vZm9ybWF0dGVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnZnMnIGZyb20gJy4vZnMudHMnO1xuZXhwb3J0ICogYXMgJ2dhdGUnIGZyb20gJy4vZ2F0ZS50cyc7XG5leHBvcnQgKiBhcyAnZ2l0JyBmcm9tICcuL2dpdC50cyc7XG5leHBvcnQgKiBhcyAnanNvbicgZnJvbSAnLi9qc29uLnRzJztcbmV4cG9ydCAqIGFzICdsaWJyYXJ5LWJ1aWxkJyBmcm9tICcuL2xpYnJhcnktYnVpbGQudHMnO1xuZXhwb3J0ICogYXMgJ2xpbnRlcnMnIGZyb20gJy4vbGludGVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnbmFuby1zdGFnZWQtY29uZmlnJyBmcm9tICcuL25hbm8tc3RhZ2VkLWNvbmZpZy50cyc7XG5leHBvcnQgKiBhcyAnbnBtLXB1Ymxpc2gnIGZyb20gJy4vbnBtLXB1Ymxpc2gudHMnO1xuZXhwb3J0ICogYXMgJ25wbS1ydW4nIGZyb20gJy4vbnBtLXJ1bi50cyc7XG5leHBvcnQgKiBhcyAnbnBtJyBmcm9tICcuL25wbS50cyc7XG5leHBvcnQgKiBhcyAncGFja2FnZS1sb2NrLWludGVncml0eScgZnJvbSAnLi9wYWNrYWdlLWxvY2staW50ZWdyaXR5LnRzJztcbmV4cG9ydCAqIGFzICdwYWNrYWdlLW1hbmFnZXInIGZyb20gJy4vcGFja2FnZS1tYW5hZ2VyLnRzJztcbmV4cG9ydCAqIGFzICdyZWxlYXNlZC1pc3N1ZXMnIGZyb20gJy4vcmVsZWFzZWQtaXNzdWVzLnRzJztcbmV4cG9ydCAqIGFzICdyZXBvLXBhdGhzJyBmcm9tICcuL3JlcG8tcGF0aHMudHMnO1xuZXhwb3J0ICogYXMgJ3Jvb3QnIGZyb20gJy4vcm9vdC50cyc7XG5leHBvcnQgKiBhcyAnc2hhcmVkLWNvbmZpZy1maWxlcycgZnJvbSAnLi9zaGFyZWQtY29uZmlnLWZpbGVzLnRzJztcbmV4cG9ydCAqIGFzICd0ZXN0LXJ1bm5lcnMnIGZyb20gJy4vdGVzdC1ydW5uZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICd1cHN0cmVhbS1zeW5jLWNsaScgZnJvbSAnLi91cHN0cmVhbS1zeW5jLWNsaS50cyc7XG5leHBvcnQgKiBhcyAndXBzdHJlYW0tc3luYycgZnJvbSAnLi91cHN0cmVhbS1zeW5jLnRzJztcbmV4cG9ydCAqIGFzICd2YWxpZGF0ZS1kZWNsYXJhdGlvbnMnIGZyb20gJy4vdmFsaWRhdGUtZGVjbGFyYXRpb25zLnRzJztcbmV4cG9ydCAqIGFzICd2YWxpZGF0ZS1kZXBlbmRlbmNpZXMnIGZyb20gJy4vdmFsaWRhdGUtZGVwZW5kZW5jaWVzLnRzJztcbmV4cG9ydCAqIGFzICd2ZXJzaW9uJyBmcm9tICcuL3ZlcnNpb24udHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwrQkFBQUE7QUFBQSxFQUFBLG1CQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUEsRUFBQSwyQkFBQUM7QUFBQSxFQUFBLHVDQUFBQztBQUFBLEVBQUEsbUNBQUFDO0FBQUEsRUFBQSxzQ0FBQUM7QUFBQSxFQUFBLG1CQUFBQztBQUFBLEVBQUEsb0JBQUFDO0FBQUEsRUFBQTtBQUFBLDhCQUFBQztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHlCQUFBQztBQUFBLEVBQUE7QUFBQSw4QkFBQUM7QUFBQSxFQUFBO0FBQUEsdUJBQUFDO0FBQUEsRUFBQSxpQkFBQUM7QUFBQSxFQUFBLGdDQUFBQztBQUFBLEVBQUEseUJBQUFDO0FBQUEsRUFBQSx5QkFBQUM7QUFBQSxFQUFBLG9CQUFBQztBQUFBLEVBQUE7QUFBQSwrQkFBQUM7QUFBQSxFQUFBLHNCQUFBQztBQUFBLEVBQUEsdUJBQUFDO0FBQUEsRUFBQSwyQkFBQUM7QUFBQSxFQUFBLCtCQUFBQztBQUFBLEVBQUEsK0JBQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFFQSxZQUF5QjtBQUN6QixlQUE0QjtBQUM1QixJQUFBdkIsc0JBQXVDO0FBQ3ZDLElBQUFDLFlBQTZCO0FBQzdCLElBQUFDLGlCQUFrQztBQUNsQyxJQUFBQyxvQkFBcUM7QUFDckMsSUFBQUMsZ0NBQWlEO0FBQ2pELElBQUFDLDRCQUE2QztBQUM3QyxJQUFBQywrQkFBZ0Q7QUFDaEQsSUFBQUMsWUFBNkI7QUFDN0IsSUFBQUMsYUFBOEI7QUFDOUIsV0FBd0I7QUFDeEIsSUFBQUMscUJBQXNDO0FBQ3RDLGlCQUE4QjtBQUM5QixTQUFzQjtBQUN0QixXQUF3QjtBQUN4QixVQUF1QjtBQUN2QixXQUF3QjtBQUN4QixJQUFBQyxnQkFBaUM7QUFDakMsY0FBMkI7QUFDM0IsSUFBQUMscUJBQXNDO0FBQ3RDLElBQUFDLGNBQStCO0FBQy9CLElBQUFDLFVBQTJCO0FBQzNCLFVBQXVCO0FBQ3ZCLElBQUFDLHlCQUEwQztBQUMxQyxJQUFBQyxrQkFBbUM7QUFDbkMsSUFBQUMsa0JBQW1DO0FBQ25DLElBQUFDLGFBQThCO0FBQzlCLFdBQXdCO0FBQ3hCLElBQUFDLHNCQUF1QztBQUN2QyxJQUFBQyxlQUFnQztBQUNoQyxJQUFBRSxvQkFBcUM7QUFDckMsSUFBQUQsZ0JBQWlDO0FBQ2pDLElBQUFFLHdCQUF5QztBQUN6QyxJQUFBQyx3QkFBeUM7QUFDekMsY0FBMkI7IiwKICAibmFtZXMiOiBbImNoZWNrLXByb2plY3QtdHlwZXMiLCAiY2xpLXV0aWxzIiwgImNvZGUtZ2VuZXJhdG9yIiwgImNvbW1pdGxpbnQtY29uZmlnIiwgImNvbW1pdGxpbnQtZm9yYmlkZGVuLXBhdHRlcm5zIiwgImNvbW1pdGxpbnQtbGludC1tZC1oZWFkZXIiLCAiY29tbWl0bGludC1zcGVsbGNoZWNrLWhlYWRlciIsICJkb2NzLXNpdGUiLCAiZW52LXRvZ2dsZSIsICJmb3JiaWRkZW4tcGF0dGVybnMiLCAibGlicmFyeS1idWlsZCIsICJuYW5vLXN0YWdlZC1jb25maWciLCAibnBtLXB1Ymxpc2giLCAibnBtLXJ1biIsICJwYWNrYWdlLWxvY2staW50ZWdyaXR5IiwgInBhY2thZ2UtbWFuYWdlciIsICJyZWxlYXNlZC1pc3N1ZXMiLCAicmVwby1wYXRocyIsICJzaGFyZWQtY29uZmlnLWZpbGVzIiwgInRlc3QtcnVubmVycyIsICJ1cHN0cmVhbS1zeW5jIiwgInVwc3RyZWFtLXN5bmMtY2xpIiwgInZhbGlkYXRlLWRlY2xhcmF0aW9ucyIsICJ2YWxpZGF0ZS1kZXBlbmRlbmNpZXMiXQp9Cg==
|
package/dist/lib/cjs/index.d.cts
CHANGED
|
@@ -10,6 +10,7 @@ export * as 'cli-utils' from './cli-utils.cjs';
|
|
|
10
10
|
export * as 'code-generator' from './code-generator.cjs';
|
|
11
11
|
export * as 'commitlint-config' from './commitlint-config.cjs';
|
|
12
12
|
export * as 'commitlint-forbidden-patterns' from './commitlint-forbidden-patterns.cjs';
|
|
13
|
+
export * as 'commitlint-lint-md-header' from './commitlint-lint-md-header.cjs';
|
|
13
14
|
export * as 'commitlint-spellcheck-header' from './commitlint-spellcheck-header.cjs';
|
|
14
15
|
export * as 'docs-site' from './docs-site/index.cjs';
|
|
15
16
|
export * as 'env-toggle' from './env-toggle.cjs';
|
|
@@ -36,6 +36,8 @@ __export(test_runners_exports, {
|
|
|
36
36
|
auto: () => auto,
|
|
37
37
|
jest: () => jest,
|
|
38
38
|
"jest-config": () => jest_config,
|
|
39
|
+
stryker: () => stryker,
|
|
40
|
+
"stryker-config": () => stryker_config,
|
|
39
41
|
vitest: () => vitest,
|
|
40
42
|
"vitest-config": () => vitest_config
|
|
41
43
|
});
|
|
@@ -43,6 +45,8 @@ module.exports = __toCommonJS(test_runners_exports);
|
|
|
43
45
|
var auto = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./auto.cjs')), 1);
|
|
44
46
|
var jest_config = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./jest-config.cjs')), 1);
|
|
45
47
|
var jest = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./jest.cjs')), 1);
|
|
48
|
+
var stryker_config = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./stryker-config.cjs')), 1);
|
|
49
|
+
var stryker = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./stryker.cjs')), 1);
|
|
46
50
|
var vitest_config = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./vitest-config.cjs')), 1);
|
|
47
51
|
var vitest = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./vitest.cjs')), 1);
|
|
48
52
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -50,7 +54,9 @@ var vitest = __toESM(((module) => module && module.__esModule && 'default' in mo
|
|
|
50
54
|
auto,
|
|
51
55
|
jest,
|
|
52
56
|
"jest-config": null,
|
|
57
|
+
stryker,
|
|
58
|
+
"stryker-config": null,
|
|
53
59
|
vitest,
|
|
54
60
|
"vitest-config": null
|
|
55
61
|
});
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdhdXRvJyBmcm9tICcuL2F1dG8udHMnO1xuZXhwb3J0ICogYXMgJ2plc3QtY29uZmlnJyBmcm9tICcuL2plc3QtY29uZmlnLnRzJztcbmV4cG9ydCAqIGFzICdqZXN0JyBmcm9tICcuL2plc3QudHMnO1xuZXhwb3J0ICogYXMgJ3N0cnlrZXItY29uZmlnJyBmcm9tICcuL3N0cnlrZXItY29uZmlnLnRzJztcbmV4cG9ydCAqIGFzICdzdHJ5a2VyJyBmcm9tICcuL3N0cnlrZXIudHMnO1xuZXhwb3J0ICogYXMgJ3ZpdGVzdC1jb25maWcnIGZyb20gJy4vdml0ZXN0LWNvbmZpZy50cyc7XG5leHBvcnQgKiBhcyAndml0ZXN0JyBmcm9tICcuL3ZpdGVzdC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHVCQUFBQTtBQUFBLEVBQUE7QUFBQSwwQkFBQUM7QUFBQSxFQUFBO0FBQUEseUJBQUFDO0FBQUE7QUFBQTtBQUVBLFdBQXdCO0FBQ3hCLElBQUFGLGNBQStCO0FBQy9CLFdBQXdCO0FBQ3hCLElBQUFDLGlCQUFrQztBQUNsQyxjQUEyQjtBQUMzQixJQUFBQyxnQkFBaUM7QUFDakMsYUFBMEI7IiwKICAibmFtZXMiOiBbImplc3QtY29uZmlnIiwgInN0cnlrZXItY29uZmlnIiwgInZpdGVzdC1jb25maWciXQp9Cg==
|
|
@@ -2,5 +2,7 @@
|
|
|
2
2
|
export * as 'auto' from './auto.cjs';
|
|
3
3
|
export * as 'jest-config' from './jest-config.cjs';
|
|
4
4
|
export * as 'jest' from './jest.cjs';
|
|
5
|
+
export * as 'stryker-config' from './stryker-config.cjs';
|
|
6
|
+
export * as 'stryker' from './stryker.cjs';
|
|
5
7
|
export * as 'vitest-config' from './vitest-config.cjs';
|
|
6
8
|
export * as 'vitest' from './vitest.cjs';
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
var __create = Object.create;
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
12
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
26
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
27
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
28
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
29
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
30
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
31
|
+
mod
|
|
32
|
+
));
|
|
33
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
|
+
var stryker_config_exports = {};
|
|
35
|
+
__export(stryker_config_exports, {
|
|
36
|
+
DEFAULT_STRYKER_IGNORE_PATTERNS: () => DEFAULT_STRYKER_IGNORE_PATTERNS,
|
|
37
|
+
DEFAULT_STRYKER_MUTATE: () => DEFAULT_STRYKER_MUTATE,
|
|
38
|
+
STRYKER_TEST_FILES_ENV_VARIABLE: () => STRYKER_TEST_FILES_ENV_VARIABLE,
|
|
39
|
+
STRYKER_VITEST_CONFIG_FILE_NAME: () => STRYKER_VITEST_CONFIG_FILE_NAME,
|
|
40
|
+
defineStrykerConfig: () => defineStrykerConfig,
|
|
41
|
+
getStrykerTestInclude: () => getStrykerTestInclude
|
|
42
|
+
});
|
|
43
|
+
module.exports = __toCommonJS(stryker_config_exports);
|
|
44
|
+
var import_node_process = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('node:process')), 1);
|
|
45
|
+
const DEFAULT_CONCURRENCY = 4;
|
|
46
|
+
const DEFAULT_TIMEOUT_IN_MILLISECONDS = 1e4;
|
|
47
|
+
const STRYKER_TEST_FILES_ENV_VARIABLE = "STRYKER_TEST_FILES";
|
|
48
|
+
const STRYKER_VITEST_CONFIG_FILE_NAME = "vitest.stryker.config.ts";
|
|
49
|
+
const DEFAULT_STRYKER_MUTATE = [
|
|
50
|
+
"src/**/*.ts",
|
|
51
|
+
"!src/**/*.test.ts",
|
|
52
|
+
"!src/**/*.d.ts",
|
|
53
|
+
"!src/**/index.ts",
|
|
54
|
+
"!src/__merged.ts",
|
|
55
|
+
"!src/test-helpers/**",
|
|
56
|
+
"!src/**/@types/**"
|
|
57
|
+
];
|
|
58
|
+
const DEFAULT_STRYKER_IGNORE_PATTERNS = [
|
|
59
|
+
"/.astro",
|
|
60
|
+
"/.claude",
|
|
61
|
+
"/.codex",
|
|
62
|
+
"/coverage",
|
|
63
|
+
"/dist",
|
|
64
|
+
"/docs",
|
|
65
|
+
"/reports"
|
|
66
|
+
];
|
|
67
|
+
function defineStrykerConfig(overrides = {}) {
|
|
68
|
+
return {
|
|
69
|
+
checkers: [],
|
|
70
|
+
concurrency: DEFAULT_CONCURRENCY,
|
|
71
|
+
coverageAnalysis: "perTest",
|
|
72
|
+
htmlReporter: { fileName: "reports/mutation/mutation.html" },
|
|
73
|
+
ignorePatterns: [...DEFAULT_STRYKER_IGNORE_PATTERNS],
|
|
74
|
+
inPlace: true,
|
|
75
|
+
jsonReporter: { fileName: "reports/mutation/mutation.json" },
|
|
76
|
+
mutate: [...DEFAULT_STRYKER_MUTATE],
|
|
77
|
+
reporters: ["clear-text", "progress-append-only", "json", "html"],
|
|
78
|
+
// eslint-disable-next-line unicorn/name-replacements -- `tempDirName` is a Stryker option.
|
|
79
|
+
tempDirName: ".stryker-tmp",
|
|
80
|
+
testRunner: "vitest",
|
|
81
|
+
timeoutMS: DEFAULT_TIMEOUT_IN_MILLISECONDS,
|
|
82
|
+
vitest: {
|
|
83
|
+
configFile: STRYKER_VITEST_CONFIG_FILE_NAME,
|
|
84
|
+
related: false
|
|
85
|
+
},
|
|
86
|
+
...overrides
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function getStrykerTestInclude(defaultInclude) {
|
|
90
|
+
const testFiles = import_node_process.default.env[STRYKER_TEST_FILES_ENV_VARIABLE];
|
|
91
|
+
return testFiles ? testFiles.split(",") : [...defaultInclude];
|
|
92
|
+
}
|
|
93
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
94
|
+
0 && (module.exports = {
|
|
95
|
+
DEFAULT_STRYKER_IGNORE_PATTERNS,
|
|
96
|
+
DEFAULT_STRYKER_MUTATE,
|
|
97
|
+
STRYKER_TEST_FILES_ENV_VARIABLE,
|
|
98
|
+
STRYKER_VITEST_CONFIG_FILE_NAME,
|
|
99
|
+
defineStrykerConfig,
|
|
100
|
+
getStrykerTestInclude
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9zdHJ5a2VyLWNvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBzaGFyZWQgU3RyeWtlciBjb25maWd1cmF0aW9uIGZvciBhbiBvbi1kZW1hbmQgbXV0YXRpb24gcnVuICh7QGxpbmsgZGVmaW5lU3RyeWtlckNvbmZpZ30pLCBhbmQgdGhlIHRlc3QgbGlzdCB0aGVcbiAqIG11dGF0aW9uIHJ1bidzIHZpdGVzdCBjb25maWd1cmF0aW9uIHJlYWRzICh7QGxpbmsgZ2V0U3RyeWtlclRlc3RJbmNsdWRlfSkuXG4gKlxuICogVGhlIG1vZHVsZSBpbXBvcnRzIG5vdGhpbmcgYnV0IGBub2RlOnByb2Nlc3NgIGFuZCBob2xkcyBubyBUeXBlU2NyaXB0IHN5bnRheCBOb2RlIGNhbm5vdCBzdHJpcCwgc28gYSByZXBvc2l0b3J5XG4gKiB0aGF0IGNhbm5vdCBpbnN0YWxsIHRoaXMgcGFja2FnZSAodGhpcyBvbmUpIGxvYWRzIGl0IHN0cmFpZ2h0IGZyb20gaXRzIGBzdHJ5a2VyLmNvbmZpZy5tanNgLlxuICovXG5cbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmNvbnN0IERFRkFVTFRfQ09OQ1VSUkVOQ1kgPSA0O1xuY29uc3QgREVGQVVMVF9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDEwXzAwMDtcblxuLyoqXG4gKiBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUgYHRlc3RNdXRhdGlvbmAgaGFuZHMgdGhlIHNjb3BlZCBydW4ncyB0ZXN0IGZpbGVzIGluLCBjb21tYS1zZXBhcmF0ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBTVFJZS0VSX1RFU1RfRklMRVNfRU5WX1ZBUklBQkxFID0gJ1NUUllLRVJfVEVTVF9GSUxFUyc7XG5cbi8qKlxuICogVGhlIHZpdGVzdCBjb25maWd1cmF0aW9uIGZpbGUgdGhlIG11dGF0aW9uIHJ1biByZWFkcywgYmVzaWRlIHRoZSBwcm9qZWN0J3Mgb3duIGB2aXRlc3QuY29uZmlnLipgLlxuICovXG5leHBvcnQgY29uc3QgU1RSWUtFUl9WSVRFU1RfQ09ORklHX0ZJTEVfTkFNRSA9ICd2aXRlc3Quc3RyeWtlci5jb25maWcudHMnO1xuXG4vKipcbiAqIFRoZSBmaWxlcyBtdXRhdGVkIGJ5IGEgcnVuIHRoYXQgbmFtZXMgbm9uZTogZXZlcnkgc291cmNlIGZpbGUgYnV0IHRoZSB0ZXN0cywgdGhlIGRlY2xhcmF0aW9ucywgdGhlIGdlbmVyYXRlZFxuICogYmFycmVscyBhbmQgdGhlIHRlc3QgaGVscGVycy5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RSWUtFUl9NVVRBVEU6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICAnc3JjLyoqLyoudHMnLFxuICAnIXNyYy8qKi8qLnRlc3QudHMnLFxuICAnIXNyYy8qKi8qLmQudHMnLFxuICAnIXNyYy8qKi9pbmRleC50cycsXG4gICchc3JjL19fbWVyZ2VkLnRzJyxcbiAgJyFzcmMvdGVzdC1oZWxwZXJzLyoqJyxcbiAgJyFzcmMvKiovQHR5cGVzLyoqJ1xuXTtcblxuLyoqXG4gKiBUaGUgZm9sZGVycyBTdHJ5a2VyIG5ldmVyIHJlYWRzLiBBIGRvY3VtZW50YXRpb24gc2l0ZSdzIGBkb2NzL2AgYWxvbmUgaGVsZCAxOCwwMDAgZmlsZXMgaW4gdGhlIHBpbG90OiBjb3B5aW5nIGl0XG4gKiB0b29rIDUgbWludXRlcywgYW5kIHRoZW4gdGhlIG1haW4gcHJvY2VzcyBkaWVkIG9mIGEgNCBHQiBoZWFwIE9PTS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RSWUtFUl9JR05PUkVfUEFUVEVSTlM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICAnLy5hc3RybycsXG4gICcvLmNsYXVkZScsXG4gICcvLmNvZGV4JyxcbiAgJy9jb3ZlcmFnZScsXG4gICcvZGlzdCcsXG4gICcvZG9jcycsXG4gICcvcmVwb3J0cydcbl07XG5cbi8qKlxuICogQSBTdHJ5a2VyIGNvbmZpZ3VyYXRpb24gb2JqZWN0LCBhcyBhIGBzdHJ5a2VyLmNvbmZpZy5tanNgIGV4cG9ydHMgaXQuXG4gKlxuICogS2VwdCBsb29zZSByYXRoZXIgdGhhbiB0eXBlZCBieSBgQHN0cnlrZXItbXV0YXRvci9hcGlgLCBzbyBhIGNvbnN1bWVyIHRoYXQgbmV2ZXIgcnVucyBTdHJ5a2VyIG5ldmVyIG5lZWRzIGl0c1xuICogdHlwZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFN0cnlrZXJDb25maWcgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBTdHJ5a2VyIGNvbmZpZ3VyYXRpb24gb2YgYW4gb24tZGVtYW5kIG11dGF0aW9uIHJ1bi5cbiAqXG4gKiBUaGUgZGVmYXVsdHMgZW5jb2RlIHdoYXQgdGhlIHBpbG90IG1lYXN1cmVkOlxuICpcbiAqIC0gYGluUGxhY2U6IHRydWVgLCBiZWNhdXNlIFN0cnlrZXIncyBzYW5kYm94IGNvcHkgYnJlYWtzIG1vZHVsZSByZXNvbHV0aW9uIHRocm91Z2ggYSBzeW1saW5rZWQgYG5vZGVfbW9kdWxlc2AuIEluXG4gKiAgIHBsYWNlLCBTdHJ5a2VyIG11dGF0ZXMgdGhlIHRyZWUgaXRzZWxmIGFuZCBwdXRzIGJhY2sgdGhlIFdIT0xFIHRyZWUgYXMgaXQgd2FzIHdoZW4gdGhlIHJ1biBzdGFydGVkLCBzbyB0aGUgcnVuXG4gKiAgIG5lZWRzIGEgY29tbWl0dGVkIHRyZWUgYW5kIG5vYm9keSBtYXkgZWRpdCBpdCB3aGlsZSB0aGUgcnVuIGlzIGdvaW5nLlxuICogLSBgdml0ZXN0LnJlbGF0ZWQ6IGZhbHNlYCwgYmVjYXVzZSBgdml0ZXN0LnJlbGF0ZWRgIGZvdW5kIG5vIHRlc3RzIGF0IGFsbDsgdGhlIHNjb3BlZCBydW4gbmFtZXMgaXRzIHRlc3QgZmlsZXNcbiAqICAgdGhyb3VnaCB7QGxpbmsgZ2V0U3RyeWtlclRlc3RJbmNsdWRlfSBpbnN0ZWFkLlxuICogLSBgaWdub3JlUGF0dGVybnNgLCBzZWUge0BsaW5rIERFRkFVTFRfU1RSWUtFUl9JR05PUkVfUEFUVEVSTlN9LlxuICpcbiAqIEBwYXJhbSBvdmVycmlkZXMgLSBLZXlzIHRoYXQgcmVwbGFjZSB0aGUgZGVmYXVsdHMuIFRoZSBtZXJnZSBpcyBzaGFsbG93OiBhbiBvdmVycmlkZSBvZiBgdml0ZXN0YCByZXBsYWNlcyB0aGVcbiAqICAgd2hvbGUgYHZpdGVzdGAgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIGNvbmZpZ3VyYXRpb24gdG8gZXhwb3J0IGZyb20gYHN0cnlrZXIuY29uZmlnLm1qc2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVTdHJ5a2VyQ29uZmlnKG92ZXJyaWRlczogU3RyeWtlckNvbmZpZyA9IHt9KTogU3RyeWtlckNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgY2hlY2tlcnM6IFtdLFxuICAgIGNvbmN1cnJlbmN5OiBERUZBVUxUX0NPTkNVUlJFTkNZLFxuICAgIGNvdmVyYWdlQW5hbHlzaXM6ICdwZXJUZXN0JyxcbiAgICBodG1sUmVwb3J0ZXI6IHsgZmlsZU5hbWU6ICdyZXBvcnRzL211dGF0aW9uL211dGF0aW9uLmh0bWwnIH0sXG4gICAgaWdub3JlUGF0dGVybnM6IFsuLi5ERUZBVUxUX1NUUllLRVJfSUdOT1JFX1BBVFRFUk5TXSxcbiAgICBpblBsYWNlOiB0cnVlLFxuICAgIGpzb25SZXBvcnRlcjogeyBmaWxlTmFtZTogJ3JlcG9ydHMvbXV0YXRpb24vbXV0YXRpb24uanNvbicgfSxcbiAgICBtdXRhdGU6IFsuLi5ERUZBVUxUX1NUUllLRVJfTVVUQVRFXSxcbiAgICByZXBvcnRlcnM6IFsnY2xlYXItdGV4dCcsICdwcm9ncmVzcy1hcHBlbmQtb25seScsICdqc29uJywgJ2h0bWwnXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uYW1lLXJlcGxhY2VtZW50cyAtLSBgdGVtcERpck5hbWVgIGlzIGEgU3RyeWtlciBvcHRpb24uXG4gICAgdGVtcERpck5hbWU6ICcuc3RyeWtlci10bXAnLFxuICAgIHRlc3RSdW5uZXI6ICd2aXRlc3QnLFxuICAgIHRpbWVvdXRNUzogREVGQVVMVF9USU1FT1VUX0lOX01JTExJU0VDT05EUyxcbiAgICB2aXRlc3Q6IHtcbiAgICAgIGNvbmZpZ0ZpbGU6IFNUUllLRVJfVklURVNUX0NPTkZJR19GSUxFX05BTUUsXG4gICAgICByZWxhdGVkOiBmYWxzZVxuICAgIH0sXG4gICAgLi4ub3ZlcnJpZGVzXG4gIH07XG59XG5cbi8qKlxuICogUGlja3MgdGhlIHRlc3QgZmlsZXMgb2YgdGhlIG11dGF0aW9uIHJ1bidzIHZpdGVzdCBjb25maWd1cmF0aW9uOiB0aGUgb25lcyBgdGVzdE11dGF0aW9uYCBuYW1lZCBmb3IgYSBzY29wZWQgcnVuLCBvclxuICogdGhlIGdpdmVuIGRlZmF1bHRzIGZvciBhIGZ1bGwgb25lLlxuICpcbiAqIEBwYXJhbSBkZWZhdWx0SW5jbHVkZSAtIFRoZSBgaW5jbHVkZWAgZ2xvYnMgb2YgYSBmdWxsIHJ1bi5cbiAqIEByZXR1cm5zIFRoZSBgaW5jbHVkZWAgbGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0cnlrZXJUZXN0SW5jbHVkZShkZWZhdWx0SW5jbHVkZTogcmVhZG9ubHkgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHRlc3RGaWxlcyA9IHByb2Nlc3MuZW52W1NUUllLRVJfVEVTVF9GSUxFU19FTlZfVkFSSUFCTEVdO1xuICByZXR1cm4gdGVzdEZpbGVzID8gdGVzdEZpbGVzLnNwbGl0KCcsJykgOiBbLi4uZGVmYXVsdEluY2x1ZGVdO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQSwwQkFBb0I7QUFFcEIsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSxrQ0FBa0M7QUFLakMsTUFBTSxrQ0FBa0M7QUFLeEMsTUFBTSxrQ0FBa0M7QUFNeEMsTUFBTSx5QkFBNEM7QUFBQSxFQUN2RDtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGO0FBTU8sTUFBTSxrQ0FBcUQ7QUFBQSxFQUNoRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGO0FBMEJPLFNBQVMsb0JBQW9CLFlBQTJCLENBQUMsR0FBa0I7QUFDaEYsU0FBTztBQUFBLElBQ0wsVUFBVSxDQUFDO0FBQUEsSUFDWCxhQUFhO0FBQUEsSUFDYixrQkFBa0I7QUFBQSxJQUNsQixjQUFjLEVBQUUsVUFBVSxpQ0FBaUM7QUFBQSxJQUMzRCxnQkFBZ0IsQ0FBQyxHQUFHLCtCQUErQjtBQUFBLElBQ25ELFNBQVM7QUFBQSxJQUNULGNBQWMsRUFBRSxVQUFVLGlDQUFpQztBQUFBLElBQzNELFFBQVEsQ0FBQyxHQUFHLHNCQUFzQjtBQUFBLElBQ2xDLFdBQVcsQ0FBQyxjQUFjLHdCQUF3QixRQUFRLE1BQU07QUFBQTtBQUFBLElBRWhFLGFBQWE7QUFBQSxJQUNiLFlBQVk7QUFBQSxJQUNaLFdBQVc7QUFBQSxJQUNYLFFBQVE7QUFBQSxNQUNOLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxJQUNYO0FBQUEsSUFDQSxHQUFHO0FBQUEsRUFDTDtBQUNGO0FBU08sU0FBUyxzQkFBc0IsZ0JBQTZDO0FBQ2pGLFFBQU0sWUFBWSxvQkFBQUEsUUFBUSxJQUFJLCtCQUErQjtBQUM3RCxTQUFPLFlBQVksVUFBVSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsY0FBYztBQUM5RDsiLAogICJuYW1lcyI6IFsicHJvY2VzcyJdCn0K
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* The shared Stryker configuration for an on-demand mutation run ({@link defineStrykerConfig}), and the test list the
|
|
6
|
+
* mutation run's vitest configuration reads ({@link getStrykerTestInclude}).
|
|
7
|
+
*
|
|
8
|
+
* The module imports nothing but `node:process` and holds no TypeScript syntax Node cannot strip, so a repository
|
|
9
|
+
* that cannot install this package (this one) loads it straight from its `stryker.config.mjs`.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* The environment variable `testMutation` hands the scoped run's test files in, comma-separated.
|
|
13
|
+
*/
|
|
14
|
+
export declare const STRYKER_TEST_FILES_ENV_VARIABLE = "STRYKER_TEST_FILES";
|
|
15
|
+
/**
|
|
16
|
+
* The vitest configuration file the mutation run reads, beside the project's own `vitest.config.*`.
|
|
17
|
+
*/
|
|
18
|
+
export declare const STRYKER_VITEST_CONFIG_FILE_NAME = "vitest.stryker.config.ts";
|
|
19
|
+
/**
|
|
20
|
+
* The files mutated by a run that names none: every source file but the tests, the declarations, the generated
|
|
21
|
+
* barrels and the test helpers.
|
|
22
|
+
*/
|
|
23
|
+
export declare const DEFAULT_STRYKER_MUTATE: readonly string[];
|
|
24
|
+
/**
|
|
25
|
+
* The folders Stryker never reads. A documentation site's `docs/` alone held 18,000 files in the pilot: copying it
|
|
26
|
+
* took 5 minutes, and then the main process died of a 4 GB heap OOM.
|
|
27
|
+
*/
|
|
28
|
+
export declare const DEFAULT_STRYKER_IGNORE_PATTERNS: readonly string[];
|
|
29
|
+
/**
|
|
30
|
+
* A Stryker configuration object, as a `stryker.config.mjs` exports it.
|
|
31
|
+
*
|
|
32
|
+
* Kept loose rather than typed by `@stryker-mutator/api`, so a consumer that never runs Stryker never needs its
|
|
33
|
+
* types.
|
|
34
|
+
*/
|
|
35
|
+
export type StrykerConfig = Record<string, unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* Defines the Stryker configuration of an on-demand mutation run.
|
|
38
|
+
*
|
|
39
|
+
* The defaults encode what the pilot measured:
|
|
40
|
+
*
|
|
41
|
+
* - `inPlace: true`, because Stryker's sandbox copy breaks module resolution through a symlinked `node_modules`. In
|
|
42
|
+
* place, Stryker mutates the tree itself and puts back the WHOLE tree as it was when the run started, so the run
|
|
43
|
+
* needs a committed tree and nobody may edit it while the run is going.
|
|
44
|
+
* - `vitest.related: false`, because `vitest.related` found no tests at all; the scoped run names its test files
|
|
45
|
+
* through {@link getStrykerTestInclude} instead.
|
|
46
|
+
* - `ignorePatterns`, see {@link DEFAULT_STRYKER_IGNORE_PATTERNS}.
|
|
47
|
+
*
|
|
48
|
+
* @param overrides - Keys that replace the defaults. The merge is shallow: an override of `vitest` replaces the
|
|
49
|
+
* whole `vitest` object.
|
|
50
|
+
* @returns The configuration to export from `stryker.config.mjs`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function defineStrykerConfig(overrides?: StrykerConfig): StrykerConfig;
|
|
53
|
+
/**
|
|
54
|
+
* Picks the test files of the mutation run's vitest configuration: the ones `testMutation` named for a scoped run, or
|
|
55
|
+
* the given defaults for a full one.
|
|
56
|
+
*
|
|
57
|
+
* @param defaultInclude - The `include` globs of a full run.
|
|
58
|
+
* @returns The `include` list.
|
|
59
|
+
*/
|
|
60
|
+
export declare function getStrykerTestInclude(defaultInclude: readonly string[]): string[];
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return '/';
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: 'android'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const existingProcess = globalThis.process;
|
|
17
|
+
|
|
18
|
+
if (!existingProcess) {
|
|
19
|
+
globalThis.process = browserProcess;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (existingProcess.versions?.node) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const existingProcessRecord = existingProcess;
|
|
28
|
+
|
|
29
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
30
|
+
existingProcessRecord[key] ??= value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
existingProcessRecord['browser'] = true;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ensureBrowserProcess();
|
|
37
|
+
})();
|
|
38
|
+
|
|
39
|
+
"use strict";
|
|
40
|
+
var __defProp = Object.defineProperty;
|
|
41
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
42
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
43
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
44
|
+
var __export = (target, all) => {
|
|
45
|
+
for (var name in all)
|
|
46
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
47
|
+
};
|
|
48
|
+
var __copyProps = (to, from, except, desc) => {
|
|
49
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
50
|
+
for (let key of __getOwnPropNames(from))
|
|
51
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
52
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
53
|
+
}
|
|
54
|
+
return to;
|
|
55
|
+
};
|
|
56
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
57
|
+
var stryker_exports = {};
|
|
58
|
+
__export(stryker_exports, {
|
|
59
|
+
testMutation: () => testMutation
|
|
60
|
+
});
|
|
61
|
+
module.exports = __toCommonJS(stryker_exports);
|
|
62
|
+
var import_path = require('@mnaoumov/typescript-lib/path');
|
|
63
|
+
var import_node_fs = require('node:fs');
|
|
64
|
+
var import_package_manager = require('../package-manager.cjs');
|
|
65
|
+
var import_root = require('../root.cjs');
|
|
66
|
+
var import_stryker_config = require('./stryker-config.cjs');
|
|
67
|
+
const TS_EXTENSION_REG_EXP = /\.ts$/;
|
|
68
|
+
async function testMutation(options = {}) {
|
|
69
|
+
const modulePaths = (options.modulePaths ?? []).map((modulePath) => (0, import_path.toPosixPath)(modulePath));
|
|
70
|
+
const testFiles = getSiblingTestFiles(modulePaths);
|
|
71
|
+
const status = await (0, import_root.execFromRoot)("git status --porcelain --untracked-files=all", { isQuiet: true });
|
|
72
|
+
if (status) {
|
|
73
|
+
throw new Error(
|
|
74
|
+
`Mutation testing needs a committed tree: Stryker mutates it in place and puts the whole tree back as it was when the run started, so an uncommitted change would be lost.
|
|
75
|
+
${status}`
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
const runArguments = modulePaths.length > 0 ? ["--mutate", modulePaths.join(",")] : ["--incremental"];
|
|
79
|
+
const env = modulePaths.length > 0 ? { [import_stryker_config.STRYKER_TEST_FILES_ENV_VARIABLE]: testFiles.join(",") } : {};
|
|
80
|
+
await (0, import_root.execFromRoot)([...(0, import_package_manager.resolveToolCommand)({ tool: "stryker" }), "run", ...runArguments], { env, isInteractive: true });
|
|
81
|
+
}
|
|
82
|
+
function getSiblingTestFiles(modulePaths) {
|
|
83
|
+
const problems = [];
|
|
84
|
+
const testFiles = modulePaths.map((modulePath) => {
|
|
85
|
+
if (!modulePath.endsWith(".ts") || modulePath.endsWith(".d.ts") || modulePath.endsWith(".test.ts")) {
|
|
86
|
+
problems.push(`${modulePath}: not a .ts module`);
|
|
87
|
+
return modulePath;
|
|
88
|
+
}
|
|
89
|
+
const testFile = modulePath.replace(TS_EXTENSION_REG_EXP, ".test.ts");
|
|
90
|
+
if (!(0, import_node_fs.existsSync)((0, import_root.resolvePathFromRootSafe)({ path: testFile }))) {
|
|
91
|
+
problems.push(`${modulePath}: no sibling test ${testFile}`);
|
|
92
|
+
}
|
|
93
|
+
return testFile;
|
|
94
|
+
});
|
|
95
|
+
if (problems.length > 0) {
|
|
96
|
+
throw new Error(`Cannot scope the mutation run:
|
|
97
|
+
${problems.join("\n")}`);
|
|
98
|
+
}
|
|
99
|
+
return testFiles;
|
|
100
|
+
}
|
|
101
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
102
|
+
0 && (module.exports = {
|
|
103
|
+
testMutation
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0LXJ1bm5lcnMvc3RyeWtlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogUnVucyBTdHJ5a2VyIG11dGF0aW9uIHRlc3Rpbmcgb24gZGVtYW5kOiBvdmVyIG5hbWVkIG1vZHVsZXMgYW5kIHRoZWlyIHNpYmxpbmcgdGVzdHMsIG9yIGluY3JlbWVudGFsbHkgb3ZlciB0aGVcbiAqIHdob2xlIHByb2plY3QuIE5ldmVyIHBhcnQgb2YgYSBnYXRlOiBhIGZ1bGwgcnVuIHRha2VzIGFib3V0IGFuIGhvdXIuXG4gKi9cblxuaW1wb3J0IHsgdG9Qb3NpeFBhdGggfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5cbmltcG9ydCB7IHJlc29sdmVUb29sQ29tbWFuZCB9IGZyb20gJy4uL3BhY2thZ2UtbWFuYWdlci50cyc7XG5pbXBvcnQge1xuICBleGVjRnJvbVJvb3QsXG4gIHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlXG59IGZyb20gJy4uL3Jvb3QudHMnO1xuaW1wb3J0IHsgU1RSWUtFUl9URVNUX0ZJTEVTX0VOVl9WQVJJQUJMRSB9IGZyb20gJy4vc3RyeWtlci1jb25maWcudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayB0ZXN0TXV0YXRpb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RNdXRhdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1vZHVsZXMgdG8gbXV0YXRlLCBhcyBwYXRocyBmcm9tIHRoZSBwcm9qZWN0IHJvb3QuIEVhY2ggbmVlZHMgYSBzaWJsaW5nIGAqLnRlc3QudHNgLCBhbmQgb25seSB0aG9zZSB0ZXN0cyBydW4uXG4gICAqIFdpdGggbm9uZSwgZXZlcnkgZmlsZSB0aGUgY29uZmlndXJhdGlvbidzIGBtdXRhdGVgIGdsb2JzIG5hbWUgaXMgbXV0YXRlZCwgaW5jcmVtZW50YWxseS5cbiAgICpcbiAgICogQGRlZmF1bHQgYFtdYFxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlUGF0aHM/OiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuY29uc3QgVFNfRVhURU5TSU9OX1JFR19FWFAgPSAvXFwudHMkLztcblxuLyoqXG4gKiBSdW5zIFN0cnlrZXIgbXV0YXRpb24gdGVzdGluZy5cbiAqXG4gKiBUaGUgcnVuIG11dGF0ZXMgdGhlIHRyZWUgaW4gcGxhY2UgYW5kLCB3aGVuIGl0IGVuZHMsIHB1dHMgYmFjayB0aGUgd2hvbGUgdHJlZSBhcyBpdCB3YXMgd2hlbiBpdCBzdGFydGVkLCBzbyBpdFxuICogcmVmdXNlcyB0byBzdGFydCBvbiBhIHRyZWUgd2l0aCB1bmNvbW1pdHRlZCBjaGFuZ2VzLCBhbmQgbm90aGluZyBtYXkgYmUgZWRpdGVkIHdoaWxlIGl0IHJ1bnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUge0BsaW5rIFRlc3RNdXRhdGlvbk9wdGlvbnN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIFN0cnlrZXIgZXhpdHMuXG4gKiBAdGhyb3dzIElmIHRoZSB0cmVlIGhhcyB1bmNvbW1pdHRlZCBjaGFuZ2VzLCBhIHBhdGggaXMgbm90IGEgYC50c2AgbW9kdWxlLCBvciBhIG1vZHVsZSBoYXMgbm8gc2libGluZyB0ZXN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdE11dGF0aW9uKG9wdGlvbnM6IFRlc3RNdXRhdGlvbk9wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBtb2R1bGVQYXRocyA9IChvcHRpb25zLm1vZHVsZVBhdGhzID8/IFtdKS5tYXAoKG1vZHVsZVBhdGgpID0+IHRvUG9zaXhQYXRoKG1vZHVsZVBhdGgpKTtcbiAgY29uc3QgdGVzdEZpbGVzID0gZ2V0U2libGluZ1Rlc3RGaWxlcyhtb2R1bGVQYXRocyk7XG5cbiAgY29uc3Qgc3RhdHVzID0gYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgc3RhdHVzIC0tcG9yY2VsYWluIC0tdW50cmFja2VkLWZpbGVzPWFsbCcsIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgaWYgKHN0YXR1cykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBNdXRhdGlvbiB0ZXN0aW5nIG5lZWRzIGEgY29tbWl0dGVkIHRyZWU6IFN0cnlrZXIgbXV0YXRlcyBpdCBpbiBwbGFjZSBhbmQgcHV0cyB0aGUgd2hvbGUgdHJlZSBiYWNrIGFzIGl0IHdhcyB3aGVuIHRoZSBydW4gc3RhcnRlZCwgc28gYW4gdW5jb21taXR0ZWQgY2hhbmdlIHdvdWxkIGJlIGxvc3QuXFxuJHtzdGF0dXN9YFxuICAgICk7XG4gIH1cblxuICBjb25zdCBydW5Bcmd1bWVudHMgPSBtb2R1bGVQYXRocy5sZW5ndGggPiAwID8gWyctLW11dGF0ZScsIG1vZHVsZVBhdGhzLmpvaW4oJywnKV0gOiBbJy0taW5jcmVtZW50YWwnXTtcbiAgY29uc3QgZW52ID0gbW9kdWxlUGF0aHMubGVuZ3RoID4gMCA/IHsgW1NUUllLRVJfVEVTVF9GSUxFU19FTlZfVkFSSUFCTEVdOiB0ZXN0RmlsZXMuam9pbignLCcpIH0gOiB7fTtcblxuICBhd2FpdCBleGVjRnJvbVJvb3QoWy4uLnJlc29sdmVUb29sQ29tbWFuZCh7IHRvb2w6ICdzdHJ5a2VyJyB9KSwgJ3J1bicsIC4uLnJ1bkFyZ3VtZW50c10sIHsgZW52LCBpc0ludGVyYWN0aXZlOiB0cnVlIH0pO1xufVxuXG4vKipcbiAqIERlcml2ZXMgZWFjaCBtb2R1bGUncyBzaWJsaW5nIHRlc3QgZmlsZS5cbiAqXG4gKiBAcGFyYW0gbW9kdWxlUGF0aHMgLSBUaGUgbW9kdWxlcywgYXMgUE9TSVggcGF0aHMgZnJvbSB0aGUgcHJvamVjdCByb290LlxuICogQHJldHVybnMgVGhlIHRlc3QgZmlsZXMsIGluIHRoZSBzYW1lIG9yZGVyLlxuICogQHRocm93cyBJZiBhIHBhdGggaXMgbm90IGEgYC50c2AgbW9kdWxlLCBvciBpdHMgc2libGluZyB0ZXN0IGRvZXMgbm90IGV4aXN0LlxuICovXG5mdW5jdGlvbiBnZXRTaWJsaW5nVGVzdEZpbGVzKG1vZHVsZVBhdGhzOiByZWFkb25seSBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcHJvYmxlbXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHRlc3RGaWxlcyA9IG1vZHVsZVBhdGhzLm1hcCgobW9kdWxlUGF0aCkgPT4ge1xuICAgIGlmICghbW9kdWxlUGF0aC5lbmRzV2l0aCgnLnRzJykgfHwgbW9kdWxlUGF0aC5lbmRzV2l0aCgnLmQudHMnKSB8fCBtb2R1bGVQYXRoLmVuZHNXaXRoKCcudGVzdC50cycpKSB7XG4gICAgICBwcm9ibGVtcy5wdXNoKGAke21vZHVsZVBhdGh9OiBub3QgYSAudHMgbW9kdWxlYCk7XG4gICAgICByZXR1cm4gbW9kdWxlUGF0aDtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXN0RmlsZSA9IG1vZHVsZVBhdGgucmVwbGFjZShUU19FWFRFTlNJT05fUkVHX0VYUCwgJy50ZXN0LnRzJyk7XG4gICAgaWYgKCFleGlzdHNTeW5jKHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogdGVzdEZpbGUgfSkpKSB7XG4gICAgICBwcm9ibGVtcy5wdXNoKGAke21vZHVsZVBhdGh9OiBubyBzaWJsaW5nIHRlc3QgJHt0ZXN0RmlsZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVzdEZpbGU7XG4gIH0pO1xuXG4gIGlmIChwcm9ibGVtcy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2NvcGUgdGhlIG11dGF0aW9uIHJ1bjpcXG4ke3Byb2JsZW1zLmpvaW4oJ1xcbicpfWApO1xuICB9XG5cbiAgcmV0dXJuIHRlc3RGaWxlcztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0Esa0JBQTRCO0FBQzVCLHFCQUEyQjtBQUUzQiw2QkFBbUM7QUFDbkMsa0JBR087QUFDUCw0QkFBZ0Q7QUFlaEQsTUFBTSx1QkFBdUI7QUFZN0IsZUFBc0IsYUFBYSxVQUErQixDQUFDLEdBQWtCO0FBQ25GLFFBQU0sZUFBZSxRQUFRLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBZSx5QkFBWSxVQUFVLENBQUM7QUFDM0YsUUFBTSxZQUFZLG9CQUFvQixXQUFXO0FBRWpELFFBQU0sU0FBUyxVQUFNLDBCQUFhLGdEQUFnRCxFQUFFLFNBQVMsS0FBSyxDQUFDO0FBQ25HLE1BQUksUUFBUTtBQUNWLFVBQU0sSUFBSTtBQUFBLE1BQ1I7QUFBQSxFQUE4SyxNQUFNO0FBQUEsSUFDdEw7QUFBQSxFQUNGO0FBRUEsUUFBTSxlQUFlLFlBQVksU0FBUyxJQUFJLENBQUMsWUFBWSxZQUFZLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlO0FBQ3BHLFFBQU0sTUFBTSxZQUFZLFNBQVMsSUFBSSxFQUFFLENBQUMscURBQStCLEdBQUcsVUFBVSxLQUFLLEdBQUcsRUFBRSxJQUFJLENBQUM7QUFFbkcsWUFBTSwwQkFBYSxDQUFDLE9BQUcsMkNBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUMsR0FBRyxPQUFPLEdBQUcsWUFBWSxHQUFHLEVBQUUsS0FBSyxlQUFlLEtBQUssQ0FBQztBQUN2SDtBQVNBLFNBQVMsb0JBQW9CLGFBQTBDO0FBQ3JFLFFBQU0sV0FBcUIsQ0FBQztBQUM1QixRQUFNLFlBQVksWUFBWSxJQUFJLENBQUMsZUFBZTtBQUNoRCxRQUFJLENBQUMsV0FBVyxTQUFTLEtBQUssS0FBSyxXQUFXLFNBQVMsT0FBTyxLQUFLLFdBQVcsU0FBUyxVQUFVLEdBQUc7QUFDbEcsZUFBUyxLQUFLLEdBQUcsVUFBVSxvQkFBb0I7QUFDL0MsYUFBTztBQUFBLElBQ1Q7QUFFQSxVQUFNLFdBQVcsV0FBVyxRQUFRLHNCQUFzQixVQUFVO0FBQ3BFLFFBQUksS0FBQywrQkFBVyxxQ0FBd0IsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFDLEdBQUc7QUFDNUQsZUFBUyxLQUFLLEdBQUcsVUFBVSxxQkFBcUIsUUFBUSxFQUFFO0FBQUEsSUFDNUQ7QUFFQSxXQUFPO0FBQUEsRUFDVCxDQUFDO0FBRUQsTUFBSSxTQUFTLFNBQVMsR0FBRztBQUN2QixVQUFNLElBQUksTUFBTTtBQUFBLEVBQW1DLFNBQVMsS0FBSyxJQUFJLENBQUMsRUFBRTtBQUFBLEVBQzFFO0FBRUEsU0FBTztBQUNUOyIsIm5hbWVzIjpbXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Runs Stryker mutation testing on demand: over named modules and their sibling tests, or incrementally over the
|
|
6
|
+
* whole project. Never part of a gate: a full run takes about an hour.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Options for {@link testMutation}.
|
|
10
|
+
*/
|
|
11
|
+
export interface TestMutationOptions {
|
|
12
|
+
/**
|
|
13
|
+
* The modules to mutate, as paths from the project root. Each needs a sibling `*.test.ts`, and only those tests run.
|
|
14
|
+
* With none, every file the configuration's `mutate` globs name is mutated, incrementally.
|
|
15
|
+
*
|
|
16
|
+
* @default `[]`
|
|
17
|
+
*/
|
|
18
|
+
readonly modulePaths?: readonly string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Runs Stryker mutation testing.
|
|
22
|
+
*
|
|
23
|
+
* The run mutates the tree in place and, when it ends, puts back the whole tree as it was when it started, so it
|
|
24
|
+
* refuses to start on a tree with uncommitted changes, and nothing may be edited while it runs.
|
|
25
|
+
*
|
|
26
|
+
* @param options - The {@link TestMutationOptions}.
|
|
27
|
+
* @returns A {@link Promise} that resolves when Stryker exits.
|
|
28
|
+
* @throws If the tree has uncommitted changes, a path is not a `.ts` module, or a module has no sibling test.
|
|
29
|
+
*/
|
|
30
|
+
export declare function testMutation(options?: TestMutationOptions): Promise<void>;
|