Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
@case-contract-testing/case
Advanced tools
Read the documentation here. Documentation is currently in-progress. Feedback welcome!
ContractCase is a next-generation consumer-driven contract testing framework, building on many of the lessons from maintaining the excellent Pact contract testing framework. It is our belief that contract testing is the best way to get deployment confidence for your applications and services.
ContractCase releases follow semantic versioning, with two additional restrictions:
Breaking changes will always be detailed in the changelog.
Incomplete documentation is here. By way of apology for the unstable API, at least one new page of documentation will be added every time a breaking change is released during the beta period.
WARNING: THE API IS UNSTABLE AND MAY CHANGE BETWEEN MINOR VERSIONS
ContractCase is now available and should work for both client and server driven http/https contracts. Feedback on the ContractCase API / DSL and (especially) naming conventions very welcome. However, the following caveats should be kept in mind:
Although the test coverage is high, and great care has been taken to ensure that the results are correct, there may still be bugs. Please open an issue if you experience any problems.
If you want to get started immediately, we recommend starting with either the client-driven end-to-end test, or the server-driven end-to-end test. Make sure you remove printResults: false
.
You can follow the detailed progress by reading the maintainer todo list. These caveats will be updated as progress is made.
npm install --save-dev @case-contract-testing/case
You may also need the peer dependencies:
npm install --save-dev jest@^29.4.3
TODO: Pull this section out and expand into detailed documentation
ContractCase is intended to solve some of the pain points when using Pact - if you are not hitting those pain points, there is no need to switch to using ContractCase (unless you want to or something).
ContractCase has a very similar philosophy to Pact. You write your pacts as a contract, which is a series of examples.
Like Pact, ContractCase requires a broker to operate. To maximise Pact compatibility, ContractCase works with the Pact broker. We recommend either:
We plan for ContractCase to always be compatible with both of these brokers.
For the gory details, you can see the implementation notebook / todo list here
FAQs
Next-generation contract testing suite
The npm package @case-contract-testing/case receives a total of 3 weekly downloads. As such, @case-contract-testing/case popularity was classified as not popular.
We found that @case-contract-testing/case demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.