@pact-foundation/pact-core 10.12.0 → 11.0.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.
Files changed (70) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +15 -1
  3. package/bin/pact-broker.js.map +1 -1
  4. package/bin/pact-message.js.map +1 -1
  5. package/bin/pact-mock-service.js.map +1 -1
  6. package/bin/pact-provider-verifier.js.map +1 -1
  7. package/bin/pact-stub-service.js.map +1 -1
  8. package/bin/pact.js.map +1 -1
  9. package/package.json +13 -15
  10. package/script/trigger-release.sh +1 -1
  11. package/src/can-deploy.d.ts +1 -2
  12. package/src/can-deploy.js +52 -38
  13. package/src/can-deploy.js.map +1 -1
  14. package/src/index.js +15 -8
  15. package/src/index.js.map +1 -1
  16. package/src/logger.d.ts +1 -1
  17. package/src/logger.js +5 -2
  18. package/src/logger.js.map +1 -1
  19. package/src/message.d.ts +1 -2
  20. package/src/message.js +25 -24
  21. package/src/message.js.map +1 -1
  22. package/src/pact-environment.d.ts +1 -1
  23. package/src/pact-environment.js +2 -1
  24. package/src/pact-environment.js.map +1 -1
  25. package/src/pact-standalone.js +3 -1
  26. package/src/pact-standalone.js.map +1 -1
  27. package/src/pact.d.ts +7 -8
  28. package/src/pact.js +6 -6
  29. package/src/pact.js.map +1 -1
  30. package/src/publisher.d.ts +1 -3
  31. package/src/publisher.js +23 -18
  32. package/src/publisher.js.map +1 -1
  33. package/src/server.d.ts +1 -1
  34. package/src/server.js +5 -4
  35. package/src/server.js.map +1 -1
  36. package/src/service.d.ts +7 -7
  37. package/src/service.js +92 -70
  38. package/src/service.js.map +1 -1
  39. package/src/spawn/arguments.js +7 -8
  40. package/src/spawn/arguments.js.map +1 -1
  41. package/src/spawn/index.js +13 -5
  42. package/src/spawn/index.js.map +1 -1
  43. package/src/spawn/spawn.d.ts +1 -1
  44. package/src/spawn/spawn.js +2 -1
  45. package/src/spawn/spawn.js.map +1 -1
  46. package/src/stub.d.ts +1 -1
  47. package/src/stub.js +5 -4
  48. package/src/stub.js.map +1 -1
  49. package/src/verifier.d.ts +5 -14
  50. package/src/verifier.js +19 -43
  51. package/src/verifier.js.map +1 -1
  52. package/standalone/install.d.ts +1 -1
  53. package/standalone/install.js +5 -4
  54. package/standalone/pact-1.88.56-linux-x86.tar.gz.checksum +1 -0
  55. package/standalone/pact-1.88.56-linux-x86_64.tar.gz.checksum +1 -0
  56. package/standalone/pact-1.88.56-osx.tar.gz.checksum +1 -0
  57. package/standalone/pact-1.88.56-win32.zip.checksum +1 -0
  58. package/test/integration/broker-mock.d.ts +1 -3
  59. package/test/integration/broker-mock.js +4 -4
  60. package/test/integration/broker-mock.js.map +1 -1
  61. package/test/integration/data-utils.js +1 -0
  62. package/test/integration/data-utils.js.map +1 -1
  63. package/test/integration/provider-mock.d.ts +1 -3
  64. package/test/integration/provider-mock.js +4 -4
  65. package/test/integration/provider-mock.js.map +1 -1
  66. package/.editorconfig +0 -24
  67. package/standalone/pact-1.88.40-linux-x86.tar.gz.checksum +0 -1
  68. package/standalone/pact-1.88.40-linux-x86_64.tar.gz.checksum +0 -1
  69. package/standalone/pact-1.88.40-osx.tar.gz.checksum +0 -1
  70. package/standalone/pact-1.88.40-win32.zip.checksum +0 -1
@@ -1,5 +1,5 @@
1
1
  export declare class PactEnvironment {
2
- readonly cwd: string;
2
+ get cwd(): string;
3
3
  isWindows(platform?: string): boolean;
4
4
  }
5
5
  declare const _default: PactEnvironment;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PactEnvironment = void 0;
3
4
  var path = require("path");
4
5
  var PactEnvironment = (function () {
5
6
  function PactEnvironment() {
@@ -8,7 +9,7 @@ var PactEnvironment = (function () {
8
9
  get: function () {
9
10
  return path.resolve(__dirname, '..');
10
11
  },
11
- enumerable: true,
12
+ enumerable: false,
12
13
  configurable: true
13
14
  });
14
15
  PactEnvironment.prototype.isWindows = function (platform) {
@@ -1 +1 @@
1
- {"version":3,"file":"pact-environment.js","sourceRoot":"","sources":["pact-environment.ts"],"names":[],"mappings":";;AAAA,2BAA6B;AAE7B;IAAA;IAQA,CAAC;IAPA,sBAAW,gCAAG;aAAd;YACC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;;;OAAA;IAEM,mCAAS,GAAhB,UAAiB,QAAmC;QAAnC,yBAAA,EAAA,WAAmB,OAAO,CAAC,QAAQ;QACnD,OAAO,QAAQ,KAAK,OAAO,CAAC;IAC7B,CAAC;IACF,sBAAC;AAAD,CAAC,AARD,IAQC;AARY,0CAAe;AAU5B,kBAAe,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"pact-environment.js","sourceRoot":"","sources":["pact-environment.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;AAE7B;IAAA;IAQA,CAAC;IAPC,sBAAW,gCAAG;aAAd;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;;;OAAA;IAEM,mCAAS,GAAhB,UAAiB,QAAmC;QAAnC,yBAAA,EAAA,WAAmB,OAAO,CAAC,QAAQ;QAClD,OAAO,QAAQ,KAAK,OAAO,CAAC;IAC9B,CAAC;IACH,sBAAC;AAAD,CAAC,AARD,IAQC;AARY,0CAAe;AAU5B,kBAAe,IAAI,eAAe,EAAE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.standalone = void 0;
3
4
  var path = require("path");
4
5
  var install_1 = require("../standalone/install");
5
6
  var pact_environment_1 = require("./pact-environment");
6
- exports.standalone = function (platform, arch) {
7
+ var standalone = function (platform, arch) {
7
8
  platform = platform || process.platform;
8
9
  arch = arch || process.arch;
9
10
  var binName = function (name) {
@@ -38,5 +39,6 @@ exports.standalone = function (platform, arch) {
38
39
  .trim(),
39
40
  };
40
41
  };
42
+ exports.standalone = standalone;
41
43
  exports.default = exports.standalone();
42
44
  //# sourceMappingURL=pact-standalone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pact-standalone.js","sourceRoot":"","sources":["pact-standalone.ts"],"names":[],"mappings":";;AAAA,2BAA6B;AAC7B,iDAAuD;AACvD,uDAAiD;AAkBpC,QAAA,UAAU,GAAG,UACzB,QAAiB,EACjB,IAAa;IAEb,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACxC,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC5B,IAAM,OAAO,GAAG,UAAC,IAAY;QAC5B,OAAA,KAAG,IAAI,IAAG,0BAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE;IAA7D,CAA6D,CAAC;IAC/D,IAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,IAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,IAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACjD,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC,IAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACzB,YAAY,EACZ,wBAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,EACzC,MAAM,EACN,KAAK,CACL,CAAC;IAEF,OAAO;QACN,GAAG,EAAE,0BAAe,CAAC,GAAG;QACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QACvC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;QAC1E,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QACzC,eAAe,EAAE,IAAI;aACnB,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC;aAC/C,IAAI,EAAE;QACR,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC1C,mBAAmB,EAAE,IAAI;aACvB,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;aAC5C,IAAI,EAAE;QACR,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACnC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACtE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACnC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACtE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzC,gBAAgB,EAAE,IAAI;aACpB,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC;aAC9C,IAAI,EAAE;KACR,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,kBAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"pact-standalone.js","sourceRoot":"","sources":["pact-standalone.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;AAC7B,iDAAuD;AACvD,uDAAiD;AAkB1C,IAAM,UAAU,GAAG,UACxB,QAAiB,EACjB,IAAa;IAEb,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACxC,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC5B,IAAM,OAAO,GAAG,UAAC,IAAY;QAC3B,OAAA,KAAG,IAAI,IAAG,0BAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE;IAA7D,CAA6D,CAAC;IAChE,IAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,IAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,IAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACjD,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC,IAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,YAAY,EACZ,wBAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,EACzC,MAAM,EACN,KAAK,CACN,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,0BAAe,CAAC,GAAG;QACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QACvC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;QAC1E,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QACzC,eAAe,EAAE,IAAI;aAClB,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC;aAC/C,IAAI,EAAE;QACT,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC1C,mBAAmB,EAAE,IAAI;aACtB,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;aAC5C,IAAI,EAAE;QACT,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACnC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACtE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACnC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACtE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzC,gBAAgB,EAAE,IAAI;aACnB,OAAO,CAAC,0BAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC;aAC9C,IAAI,EAAE;KACV,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,UAAU,cA0CrB;AAEF,kBAAe,kBAAU,EAAE,CAAC"}
package/src/pact.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import * as q from 'q';
2
1
  import { Server, ServerOptions } from './server';
3
2
  import { Stub, StubOptions } from './stub';
4
3
  import { VerifierOptions } from './verifier';
@@ -14,15 +13,15 @@ export declare class Pact {
14
13
  logLevel(level?: LogLevels | number): number | void;
15
14
  createServer(options?: ServerOptions): Server;
16
15
  listServers(): Server[];
17
- removeAllServers(): q.Promise<Server[]>;
16
+ removeAllServers(): Promise<Server[]>;
18
17
  createStub(options?: StubOptions): Stub;
19
18
  listStubs(): Stub[];
20
- removeAllStubs(): q.Promise<Stub[]>;
21
- removeAll(): q.Promise<AbstractService[]>;
22
- verifyPacts(options: VerifierOptions): q.Promise<string>;
23
- createMessage(options: MessageOptions): q.Promise<unknown>;
24
- publishPacts(options: PublisherOptions): q.Promise<string[]>;
25
- canDeploy(options: CanDeployOptions): q.Promise<CanDeployResponse | string>;
19
+ removeAllStubs(): Promise<Stub[]>;
20
+ removeAll(): Promise<AbstractService[]>;
21
+ verifyPacts(options: VerifierOptions): Promise<string>;
22
+ createMessage(options: MessageOptions): Promise<unknown>;
23
+ publishPacts(options: PublisherOptions): Promise<string[]>;
24
+ canDeploy(options: CanDeployOptions): Promise<CanDeployResponse | string>;
26
25
  }
27
26
  declare const _default: Pact;
28
27
  export default _default;
package/src/pact.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var q = require("q");
3
+ exports.Pact = void 0;
4
4
  var path = require("path");
5
5
  var server_1 = require("./server");
6
6
  var stub_1 = require("./stub");
@@ -60,10 +60,10 @@ var Pact = (function () {
60
60
  };
61
61
  Pact.prototype.removeAllServers = function () {
62
62
  if (this.__servers.length === 0) {
63
- return q(this.__servers);
63
+ return Promise.resolve(this.__servers);
64
64
  }
65
65
  logger_1.default.info('Removing all Pact servers.');
66
- return q.all(_.map(this.__servers, function (server) { return server.delete(); }));
66
+ return Promise.all(_.map(this.__servers, function (server) { return server.delete(); }));
67
67
  };
68
68
  Pact.prototype.createStub = function (options) {
69
69
  var _this = this;
@@ -89,13 +89,13 @@ var Pact = (function () {
89
89
  };
90
90
  Pact.prototype.removeAllStubs = function () {
91
91
  if (this.__stubs.length === 0) {
92
- return q(this.__stubs);
92
+ return Promise.resolve(this.__stubs);
93
93
  }
94
94
  logger_1.default.info('Removing all Pact stubs.');
95
- return q.all(_.map(this.__stubs, function (stub) { return stub.delete(); }));
95
+ return Promise.all(_.map(this.__stubs, function (stub) { return stub.delete(); }));
96
96
  };
97
97
  Pact.prototype.removeAll = function () {
98
- return q.all(_.flatten([this.removeAllStubs(), this.removeAllServers()]));
98
+ return Promise.all(_.flatten([this.removeAllStubs(), this.removeAllServers()]));
99
99
  };
100
100
  Pact.prototype.verifyPacts = function (options) {
101
101
  logger_1.default.info('Verifying Pacts.');
package/src/pact.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pact.js","sourceRoot":"","sources":["pact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pact.js","sourceRoot":"","sources":["pact.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import q = require('q');
2
1
  export declare class Publisher {
3
- static create: (options: PublisherOptions) => Publisher;
4
2
  readonly options: PublisherOptions;
5
3
  private readonly __argMapping;
6
4
  constructor(options: PublisherOptions);
7
- publish(): q.Promise<string[]>;
5
+ publish(): Promise<string[]>;
8
6
  }
9
7
  declare const _default: (options: PublisherOptions) => Publisher;
10
8
  export default _default;
package/src/publisher.js CHANGED
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var q = require("q");
3
+ exports.Publisher = void 0;
4
4
  var path = require("path");
5
5
  var fs = require("fs");
6
6
  var logger_1 = require("./logger");
7
7
  var spawn_1 = require("./spawn");
8
+ var promise_timeout_1 = require("promise-timeout");
8
9
  var spawn_2 = require("./spawn");
9
- var util_1 = require("util");
10
10
  var pact_standalone_1 = require("./pact-standalone");
11
- var checkTypes = require('check-types');
11
+ var checkTypes = require("check-types");
12
12
  var Publisher = (function () {
13
13
  function Publisher(options) {
14
14
  this.__argMapping = {
@@ -61,25 +61,30 @@ var Publisher = (function () {
61
61
  this.options = options;
62
62
  }
63
63
  Publisher.prototype.publish = function () {
64
+ var _this = this;
64
65
  logger_1.default.info("Publishing pacts to broker at: " + this.options.pactBroker);
65
- var deferred = q.defer();
66
- var instance = spawn_1.default.spawnBinary(pact_standalone_1.default.brokerPath, [{ cliVerb: 'publish' }, this.options], this.__argMapping);
67
- var output = [];
68
- instance.stdout.on('data', function (l) { return output.push(l); });
69
- instance.stderr.on('data', function (l) { return output.push(l); });
70
- instance.once('close', function (code) {
71
- var o = output.join('\n');
72
- var pactUrls = /^https?:\/\/.*\/pacts\/.*$/gim.exec(o);
73
- if (code !== 0 || !pactUrls) {
74
- logger_1.default.error("Could not publish pact:\n" + o);
75
- return deferred.reject(new Error(o));
66
+ return promise_timeout_1.timeout(new Promise(function (resolve, reject) {
67
+ var instance = spawn_1.default.spawnBinary(pact_standalone_1.default.brokerPath, [{ cliVerb: 'publish' }, _this.options], _this.__argMapping);
68
+ var output = [];
69
+ instance.stdout.on('data', function (l) { return output.push(l); });
70
+ instance.stderr.on('data', function (l) { return output.push(l); });
71
+ instance.once('close', function (code) {
72
+ var o = output.join('\n');
73
+ var pactUrls = /^https?:\/\/.*\/pacts\/.*$/gim.exec(o);
74
+ if (code !== 0 || !pactUrls) {
75
+ logger_1.default.error("Could not publish pact:\n" + o);
76
+ return reject(new Error(o));
77
+ }
78
+ logger_1.default.info(o);
79
+ return resolve(pactUrls);
80
+ });
81
+ }), this.options.timeout).catch(function (err) {
82
+ if (err instanceof promise_timeout_1.TimeoutError) {
83
+ throw new Error("Timeout waiting for publication process to complete");
76
84
  }
77
- logger_1.default.info(o);
78
- return deferred.resolve(pactUrls);
85
+ throw err;
79
86
  });
80
- return deferred.promise.timeout(this.options.timeout, "Timeout waiting for verification process to complete (PID: " + instance.pid + ")");
81
87
  };
82
- Publisher.create = util_1.deprecate(function (options) { return new Publisher(options); }, 'Create function will be removed in future release, please use the default export function or use `new Publisher()`');
83
88
  return Publisher;
84
89
  }());
85
90
  exports.Publisher = Publisher;
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.js","sourceRoot":"","sources":["publisher.ts"],"names":[],"mappings":";;AAAA,qBAAwB;AACxB,2BAA8B;AAC9B,uBAA0B;AAC1B,mCAAoD;AACpD,iCAA4B;AAC5B,iCAAsC;AACtC,6BAAiC;AACjC,qDAA+C;AAE/C,IAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE1C;IAkBC,mBAAY,OAAyB;QAXpB,iBAAY,GAAG;YAC/B,eAAe,EAAE,mBAAW;YAC5B,UAAU,EAAE,mBAAmB;YAC/B,kBAAkB,EAAE,mBAAmB;YACvC,kBAAkB,EAAE,mBAAmB;YACvC,eAAe,EAAE,gBAAgB;YACjC,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,wBAAwB;YACzC,OAAO,EAAE,WAAW;SACpB,CAAC;QAGD,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAExB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QAE3C,UAAU,CAAC,MAAM,CAAC,cAAc,CAC/B,OAAO,CAAC,UAAU,EAClB,sCAAsC,CACtC,CAAC;QACF,UAAU,CAAC,MAAM,CAAC,cAAc,CAC/B,OAAO,CAAC,eAAe,EACvB,2CAA2C,CAC3C,CAAC;QACF,UAAU,CAAC,MAAM,CAAC,SAAS,CAC1B,OAAO,CAAC,eAAe,EACvB,2CAA2C,CAC3C,CAAC;QACF,UAAU,CAAC,MAAM,CAAC,aAAa,CAC9B,OAAO,CAAC,eAAe,EACvB,yDAAyD,CACzD,CAAC;QAEF,IAAI,OAAO,CAAC,eAAe,EAAE;YAC5B,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAG3D,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,UAAA,CAAC;gBACtD,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBAC5B,MAAM,IAAI,KAAK,CACd,WAAS,CAAC,gDAA6C,CACvD,CAAC;iBACF;gBACD,OAAO,OAAO,CAAC;YAChB,CAAC,CAAC,CAAC;SACH;QAED,IAAI,OAAO,CAAC,UAAU,EAAE;YACvB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC7C;QAED,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC/B,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;SACrD;QAED,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC/B,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;SACrD;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,yBAAgB,EAAE,EAAE;YACxD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,IACC,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC3D,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAC1D;YACD,MAAM,IAAI,KAAK,CACd,2GAA2G,CAC3G,CAAC;SACF;QAED,IACC,OAAO,CAAC,eAAe;YACvB,CAAC,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,EACzD;YACD,MAAM,IAAI,KAAK,CACd,qFAAqF,CACrF,CAAC;SACF;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAEM,2BAAO,GAAd;QACC,gBAAM,CAAC,IAAI,CAAC,oCAAkC,IAAI,CAAC,OAAO,CAAC,UAAY,CAAC,CAAC;QACzE,IAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAY,CAAC;QACrC,IAAM,QAAQ,GAAG,eAAK,CAAC,WAAW,CACjC,yBAAc,CAAC,UAAU,EACzB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EACtC,IAAI,CAAC,YAAY,CACjB,CAAC;QACF,IAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAA,CAAC,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAd,CAAc,CAAC,CAAC;QAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAA,CAAC,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAd,CAAc,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,UAAA,IAAI;YAC1B,IAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAM,QAAQ,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC5B,gBAAM,CAAC,KAAK,CAAC,8BAA4B,CAAG,CAAC,CAAC;gBAC9C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;YAED,gBAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAC9B,IAAI,CAAC,OAAO,CAAC,OAAiB,EAC9B,gEAA8D,QAAQ,CAAC,GAAG,MAAG,CAC7E,CAAC;IACH,CAAC;IAvHa,gBAAM,GAAG,gBAAS,CAC/B,UAAC,OAAyB,IAAK,OAAA,IAAI,SAAS,CAAC,OAAO,CAAC,EAAtB,CAAsB,EACrD,oHAAoH,CACpH,CAAC;IAqHH,gBAAC;CAAA,AAzHD,IAyHC;AAzHY,8BAAS;AA2HtB,mBAAe,UAAC,OAAyB,IAAgB,OAAA,IAAI,SAAS,CAAC,OAAO,CAAC,EAAtB,CAAsB,EAAC"}
1
+ {"version":3,"file":"publisher.js","sourceRoot":"","sources":["publisher.ts"],"names":[],"mappings":"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"}
package/src/server.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { AbstractService, LogLevel } from './service';
2
2
  export declare class Server extends AbstractService {
3
- static create: (options?: ServerOptions | undefined) => Server;
4
3
  readonly options: ServerOptions;
5
4
  constructor(options?: ServerOptions);
6
5
  }
@@ -20,5 +19,6 @@ export interface ServerOptions {
20
19
  provider?: string;
21
20
  monkeypatch?: string;
22
21
  logLevel?: LogLevel;
22
+ timeout?: number;
23
23
  pactFileWriteMode?: 'overwrite' | 'update' | 'merge';
24
24
  }
package/src/server.js CHANGED
@@ -3,23 +3,25 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
15
  };
14
16
  })();
15
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Server = void 0;
16
19
  var service_1 = require("./service");
17
- var util_1 = require("util");
18
20
  var pact_standalone_1 = require("./pact-standalone");
19
21
  var path = require("path");
20
22
  var fs = require("fs");
21
23
  var mkdirp = require("mkdirp");
22
- var checkTypes = require('check-types');
24
+ var checkTypes = require("check-types");
23
25
  var Server = (function (_super) {
24
26
  __extends(Server, _super);
25
27
  function Server(options) {
@@ -87,7 +89,6 @@ var Server = (function (_super) {
87
89
  _this.options = options;
88
90
  return _this;
89
91
  }
90
- Server.create = util_1.deprecate(function (options) { return new Server(options); }, 'Create function will be removed in future release, please use the default export function or use `new Server()`');
91
92
  return Server;
92
93
  }(service_1.AbstractService));
93
94
  exports.Server = Server;
package/src/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["server.ts"],"names":[],"mappings":"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"}
package/src/service.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  /// <reference types="node" />
2
2
  import events = require('events');
3
- import q = require('q');
4
3
  import { CliVerbOptions } from './spawn';
5
4
  import { ChildProcess } from 'child_process';
6
5
  interface AbstractServiceEventInterface {
@@ -9,7 +8,7 @@ interface AbstractServiceEventInterface {
9
8
  DELETE_EVENT: string;
10
9
  }
11
10
  export declare abstract class AbstractService extends events.EventEmitter {
12
- static readonly Events: AbstractServiceEventInterface;
11
+ static get Events(): AbstractServiceEventInterface;
13
12
  readonly options: ServiceOptions;
14
13
  protected __argMapping: any;
15
14
  protected __running: boolean;
@@ -17,12 +16,12 @@ export declare abstract class AbstractService extends events.EventEmitter {
17
16
  protected __cliVerb?: CliVerbOptions;
18
17
  protected __serviceCommand: string;
19
18
  protected constructor(command: string, options: ServiceOptions, argMapping: any, cliVerb?: CliVerbOptions);
20
- start(): q.Promise<AbstractService>;
21
- stop(): q.Promise<AbstractService>;
22
- delete(): q.Promise<AbstractService>;
19
+ start(): Promise<AbstractService>;
20
+ stop(): Promise<AbstractService>;
21
+ delete(): Promise<AbstractService>;
23
22
  protected spawnBinary(): ChildProcess;
24
- protected __waitForServiceUp(): q.Promise<unknown>;
25
- protected __waitForServiceDown(): q.Promise<unknown>;
23
+ protected __waitForServiceUp(): Promise<unknown>;
24
+ protected __waitForServiceDown(): Promise<unknown>;
26
25
  private __call;
27
26
  }
28
27
  export interface ServiceOptions {
@@ -34,6 +33,7 @@ export interface ServiceOptions {
34
33
  sslkey?: string;
35
34
  log?: string;
36
35
  logLevel?: LogLevel;
36
+ timeout?: number;
37
37
  }
38
38
  export declare type LogLevel = 'debug' | 'info' | 'warn' | 'error';
39
39
  export interface HTTPConfig {
package/src/service.js CHANGED
@@ -3,29 +3,36 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
15
  };
14
16
  })();
15
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.AbstractService = void 0;
16
19
  var path = require("path");
17
20
  var fs = require("fs");
18
21
  var events = require("events");
19
22
  var http = require("request");
20
- var q = require("q");
21
23
  var logger_1 = require("./logger");
22
24
  var spawn_1 = require("./spawn");
25
+ var promise_timeout_1 = require("promise-timeout");
23
26
  var mkdirp = require("mkdirp");
24
- var checkTypes = require('check-types');
27
+ var checkTypes = require("check-types");
25
28
  var setTimeout = global.setTimeout;
26
- var CHECKTIME = 500;
27
29
  var RETRY_AMOUNT = 60;
28
- var PROCESS_TIMEOUT = 30000;
30
+ var getTimeout = function (options) {
31
+ return options.timeout || 30000;
32
+ };
33
+ var getRetryTickTime = function (options) {
34
+ return Math.round(getTimeout(options) / RETRY_AMOUNT);
35
+ };
29
36
  var AbstractService = (function (_super) {
30
37
  __extends(AbstractService, _super);
31
38
  function AbstractService(command, options, argMapping, cliVerb) {
@@ -47,7 +54,9 @@ var AbstractService = (function (_super) {
47
54
  checkTypes.assert.number(options.port);
48
55
  checkTypes.assert.integer(options.port);
49
56
  checkTypes.assert.positive(options.port);
50
- checkTypes.assert.inRange(options.port, 0, 65535);
57
+ if (!checkTypes.inRange(options.port, 0, 65535)) {
58
+ throw new Error("Port number " + options.port + " is not in the range 0-65535");
59
+ }
51
60
  if (checkTypes.not.inRange(options.port, 1024, 49151)) {
52
61
  logger_1.default.warn('Like a Boss, you used a port outside of the recommended range (1024 to 49151); I too like to live dangerously.');
53
62
  }
@@ -104,14 +113,14 @@ var AbstractService = (function (_super) {
104
113
  DELETE_EVENT: 'delete',
105
114
  };
106
115
  },
107
- enumerable: true,
116
+ enumerable: false,
108
117
  configurable: true
109
118
  });
110
119
  AbstractService.prototype.start = function () {
111
120
  var _this = this;
112
121
  if (this.__instance && this.__instance.connected) {
113
122
  logger_1.default.warn("You already have a process running with PID: " + this.__instance.pid);
114
- return q.resolve(this);
123
+ return Promise.resolve(this);
115
124
  }
116
125
  this.__instance = this.spawnBinary();
117
126
  this.__instance.once('close', function () { return _this.stop(); });
@@ -131,20 +140,31 @@ var AbstractService = (function (_super) {
131
140
  this.__instance.stderr.on('data', function (data) {
132
141
  return logger_1.default.error("Pact Binary Error: " + data);
133
142
  });
134
- return this.__waitForServiceUp()
135
- .timeout(PROCESS_TIMEOUT, "Couldn't start Pact with PID: " + this.__instance.pid)
143
+ return promise_timeout_1.timeout(this.__waitForServiceUp(), getTimeout(this.options))
136
144
  .then(function () {
137
145
  _this.__running = true;
138
146
  _this.emit(AbstractService.Events.START_EVENT, _this);
139
147
  return _this;
148
+ })
149
+ .catch(function (err) {
150
+ if (err instanceof promise_timeout_1.TimeoutError) {
151
+ throw new Error("Timeout while waiting to start Pact with PID: " + (_this.__instance ? _this.__instance.pid : 'No Instance'));
152
+ }
153
+ throw err;
140
154
  });
141
155
  };
142
156
  AbstractService.prototype.stop = function () {
143
157
  var _this = this;
144
158
  var pid = this.__instance ? this.__instance.pid : -1;
145
- return q(spawn_1.default.killBinary(this.__instance))
146
- .then(function () { return _this.__waitForServiceDown(); })
147
- .timeout(PROCESS_TIMEOUT, "Couldn't stop Pact with PID '" + pid + "'")
159
+ return promise_timeout_1.timeout(Promise.resolve(this.__instance)
160
+ .then(spawn_1.default.killBinary)
161
+ .then(function () { return _this.__waitForServiceDown(); }), getTimeout(this.options))
162
+ .catch(function (err) {
163
+ if (err instanceof promise_timeout_1.TimeoutError) {
164
+ throw new Error("Timeout while waiting to stop Pact with PID '" + pid + "'");
165
+ }
166
+ throw err;
167
+ })
148
168
  .then(function () {
149
169
  _this.__running = false;
150
170
  _this.emit(AbstractService.Events.STOP_EVENT, _this);
@@ -164,70 +184,72 @@ var AbstractService = (function (_super) {
164
184
  AbstractService.prototype.__waitForServiceUp = function () {
165
185
  var _this = this;
166
186
  var amount = 0;
167
- var deferred = q.defer();
168
- var retry = function () {
169
- if (amount >= RETRY_AMOUNT) {
170
- deferred.reject(new Error('Pact startup failed; tried calling service 10 times with no result.'));
171
- }
172
- setTimeout(check.bind(_this), CHECKTIME);
173
- };
174
- var check = function () {
175
- amount++;
176
- if (_this.options.port) {
177
- _this.__call(_this.options).then(function () { return deferred.resolve(); }, retry.bind(_this));
178
- }
179
- else {
180
- retry();
181
- }
182
- };
183
- check();
184
- return deferred.promise;
187
+ var waitPromise = new Promise(function (resolve, reject) {
188
+ var retry = function () {
189
+ if (amount >= RETRY_AMOUNT) {
190
+ reject(new Error("Pact startup failed; tried calling service " + RETRY_AMOUNT + " times with no result."));
191
+ }
192
+ setTimeout(check.bind(_this), getRetryTickTime(_this.options));
193
+ };
194
+ var check = function () {
195
+ amount++;
196
+ if (_this.options.port) {
197
+ _this.__call(_this.options).then(function () { return resolve(); }, retry.bind(_this));
198
+ }
199
+ else {
200
+ retry();
201
+ }
202
+ };
203
+ check();
204
+ });
205
+ return waitPromise;
185
206
  };
186
207
  AbstractService.prototype.__waitForServiceDown = function () {
187
208
  var _this = this;
188
209
  var amount = 0;
189
- var deferred = q.defer();
190
- var check = function () {
191
- amount++;
192
- if (_this.options.port) {
193
- _this.__call(_this.options).then(function () {
194
- if (amount >= RETRY_AMOUNT) {
195
- deferred.reject(new Error('Pact stop failed; tried calling service 10 times with no result.'));
196
- return;
197
- }
198
- setTimeout(check, CHECKTIME);
199
- }, function () { return deferred.resolve(); });
200
- }
201
- else {
202
- deferred.resolve();
203
- }
204
- };
205
- check();
206
- return deferred.promise;
210
+ var checkPromise = new Promise(function (resolve, reject) {
211
+ var check = function () {
212
+ amount++;
213
+ if (_this.options.port) {
214
+ _this.__call(_this.options).then(function () {
215
+ if (amount >= RETRY_AMOUNT) {
216
+ reject(new Error("Pact stop failed; tried calling service " + RETRY_AMOUNT + " times with no result."));
217
+ return;
218
+ }
219
+ setTimeout(check, getRetryTickTime(_this.options));
220
+ }, function () { return resolve(); });
221
+ }
222
+ else {
223
+ resolve();
224
+ }
225
+ };
226
+ check();
227
+ });
228
+ return checkPromise;
207
229
  };
208
230
  AbstractService.prototype.__call = function (options) {
209
- var deferred = q.defer();
210
- var config = {
211
- uri: "http" + (options.ssl ? 's' : '') + "://" + options.host + ":" + options.port,
212
- method: 'GET',
213
- headers: {
214
- 'X-Pact-Mock-Service': true,
215
- 'Content-Type': 'application/json',
216
- },
217
- };
218
- if (options.ssl) {
219
- process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
220
- config.agentOptions = {};
221
- config.agentOptions.rejectUnauthorized = false;
222
- config.agentOptions.requestCert = false;
223
- config.agentOptions.agent = false;
224
- }
225
- http(config, function (err, res) {
226
- !err && res.statusCode === 200
227
- ? deferred.resolve()
228
- : deferred.reject("HTTP Error: '" + JSON.stringify(err ? err : res) + "'");
231
+ return new Promise(function (resolve, reject) {
232
+ var config = {
233
+ uri: "http" + (options.ssl ? 's' : '') + "://" + options.host + ":" + options.port,
234
+ method: 'GET',
235
+ headers: {
236
+ 'X-Pact-Mock-Service': true,
237
+ 'Content-Type': 'application/json',
238
+ },
239
+ };
240
+ if (options.ssl) {
241
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
242
+ config.agentOptions = {};
243
+ config.agentOptions.rejectUnauthorized = false;
244
+ config.agentOptions.requestCert = false;
245
+ config.agentOptions.agent = false;
246
+ }
247
+ http(config, function (err, res) {
248
+ !err && res.statusCode === 200
249
+ ? resolve()
250
+ : reject("HTTP Error: '" + JSON.stringify(err ? err : res) + "'");
251
+ });
229
252
  });
230
- return deferred.promise;
231
253
  };
232
254
  return AbstractService;
233
255
  }(events.EventEmitter));