
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
@pact-foundation/pact-node
Advanced tools
An idiomatic Node interface for the Pact mock service (Consumer) and Verification (Provider) process.
npm install @pact-foundation/pact-node --save
Simply require the library and call the create function.
var pact = require('@pact-foundation/pact-node');
var server = pact.createServer({port: 9999});
server.start().then(function() {
// Do your testing/development here
});
var pact = require('@pact-foundation/pact-node');
pact.logLevel('debug');
var pact = require('@pact-foundation/pact-node');
var server = pact.createServer({
port: <Number>, // Port number that the server runs on, defaults to 1234
host: <String>, // Host on which to bind the server on, defaults to 'localhost'
log: <String>, // File to log output on relative to current working directory, defaults to none
ssl: <Boolean>, // Create a self-signed SSL cert to run the server over HTTPS , defaults to 'false'
cors: <Boolean>, // Allow CORS OPTION requests to be accepted, defaults to 'false'
dir: <String>, // Directory to write the pact contracts relative to the current working directory, defaults to none
spec: <Number>, // The pact specification version to use when writing pact contracts, defaults to '1'
consumer: <String>, // The name of the consumer to be written to the pact contracts, defaults to none
provider: <String> // The name of the provider to be written to the pact contracts, defaults to none
});
Read more about Verify Pacts.
var pact = require('@pact-foundation/pact-node');
var opts = {
providerBaseUrl: <String>, // Running API provider host endpoint. Required.
pactUrls: <Array>, // Array of local Pact file paths or Pact Broker URLs (http based). Required.
providerStatesUrl: <String>, // URL to fetch the provider states for the given provider API. Optional.
providerStatesSetupUrl <String>, // URL to send PUT requests to setup a given provider state. Optional.
pactBrokerUsername: <String>, // Username for Pact Broker basic authentication. Optional
pactBrokerPassword: <String>, // Password for Pact Broker basic authentication. Optional
};
pact.verifyPacts(opts)).then(function () {
// do something
});
var pact = require('@pact-foundation/pact-node');
var opts = {
pactUrls: <Array>, // Array of local Pact files or directories containing them. Required.
pactBroker: <String>, // URL to fetch the provider states for the given provider API. Optional.
pactBrokerUsername: <String>, // Username for Pact Broker basic authentication. Optional
pactBrokerPassword: <String> // Password for Pact Broker basic authentication. Optional
};
pact.publishPacts(opts)).then(function () {
// do something
});
If you ever need to see which servers are currently created.
var pact = require('@pact-foundation/pact-node');
var servers = pact.listServers();
console.log(JSON.stringify(servers));
Remove all servers once you're done with them in one fell swoop.
var pact = require('@pact-foundation/pact-node');
pact.removeAllServers();
Start the current server.
var pact = require('@pact-foundation/pact-node');
pact.createServer().start().then(function(){
// Do something after it started
});
Stop the current server.
var pact = require('@pact-foundation/pact-node');
pact.createServer().stop().then(function(){
// Do something after it stopped
});
Stop the current server and deletes it from the list.
var pact = require('@pact-foundation/pact-node');
pact.createServer().delete().then(function(){
// Do something after it was killed
});
var pact = require('@pact-foundation/pact-node');
pact.createServer().running;
There's 3 different events available, 'start', 'stop' and 'delete'. They can be listened to the same way as an EventEmitter.
var pact = require('@pact-foundation/pact-node');
var server = pact.createServer();
server.on('start', function() { console.log('started'); });
server.on('stop', function() { console.log('stopped'); });
server.on('delete', function() { console.log('deleted'); });
To develop this project, simply install the dependencies and run npm run watch
to for continual development, linting and testing when a source file changes.
Running npm test
will execute the tests that has the *.spec.js
pattern.
FAQs
Core of @pact-foundation/pact. You almost certainly don't want to depend on this directly.
The npm package @pact-foundation/pact-node receives a total of 54,245 weekly downloads. As such, @pact-foundation/pact-node popularity was classified as popular.
We found that @pact-foundation/pact-node demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers 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.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.