<#435 Remove cli and api> Pull request opened by <...
# pact-js-development
g
#435 Remove cli and api Pull request opened by TimothyJones DO NOT MERGE THIS CASUALLY This PR was requested by @Matt (pactflow.io / pact-js / pact-go) as a companion to pact-cli. It is intended to be merged after that is published. It introduces several breaking changes This PR removes the binstubs, the Ruby binaries, and the API that exposed them. The following classes are removed: • Publisher • Message • Server • AbstractService • Stub • CanDeploy • CannotDeployError • (all associated options types). The following methods have been removed from the default export and `new Pact()`: • createServer • listServer • removeAllServers • createStub • listStub • createMessage • publishPacts The following (all) binstubs have been removed: • pact-broker • pact-message • pact-mock-service • pact-provider-verifier • pact-stub-service • pact • pactflow The documentation for all of the above has been removed. This highlighted that there isn't any documentation for the current consumer flow, and the documentation for the message flow was out of date. I believe I've removed everything appropriately, but there's always a chance that I missed something or removed something that shouldn't have been removed. It should be reviewed carefully before merging. • I have not tested this with PactJS to see if there are changes needed there too. I would expect there are. • This PR removes the repository trigger for ruby standalone updates. We should ensure that the repository trigger is connected to the Pact-JS-CLI repo before merging this. • Many users are using this API for pact publishing, and it is re-exported by Pact-JS (or, at least, it used to be). There should be a discussion on whether it is acceptable to remove the programmatic use of Pact before merging. My gut feeling is that users will want to be able to call at least the pact broker programmatically - some users will already have programmatic use baked in to their existing pipelines, as this was the pattern in the examples for a long time. It would be annoying to bring in a breaking change for those users. Removing the programmatic use also means that users can't build cool things on top of pact as easily. It might be worth considering backing the existing broker API with the Rust implementation instead of removing it I've included changelog messages, so if this is merged without squashing, the changelog will have the details of what is removed. pact-foundation/pact-js-core ✅ All checks have passed 4/4 successful checks