Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
relates to
pact-foundation/pact-js-core#488
Given this consideration
and the lack of input, I would prefer to err on the side on caution to avoid breaking users existing workflows, in intrusive ways.
So the proposal is to migrate both the cli/api to pact-js-cli, removing all traces from pact-js-core.
Users will be prompted to switch to pact-cli in thier api imports, or pact-cli for npx/cli based access in bin stubs, and import both packages (pact-js & pact-js-cli, if their workflows require the pact cli tools, or access to the pact-js-core api over the cli)
Regular users of pact-js not leveraging the ruby based pact-cli functionality will benefit from smaller packages, and can choose to install the pact-cli via other mechanisms, which would reduce the payload they need to download (as pact-cli will follow the current packaging to date, in providing all supported ruby platform/arch combos in a single package)
As this will be a breaking change in pact-js-core, I propose that we release v15 in lockstep of pact-js / pact-cli, so at least at the point of most friction (our breaking change) the imports will have the same version numbers, so it will feel nice and neat.
I would like to release this first to npm, update a few of our consuming projects to point at it, before releasing the pact-js-core change, as we can provide deltas from each consuming change, as part of our pact-js-core/pact-js release notes