
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
You can launch browsers! From NodeJS! Local ones! Remote ones! Browserstack ones!
You can launch browsers! With NodeJS!
The general API for any launcher (<type>) looks like this:
var launch = require('launchpad');
launch.<type>(configuration, function(error, launcher) {
launcher.browsers(function(error, browsers) {
// -> List of available browsers with version
});
launcher(url, configuration, function(error, instance) {
instance // -> A browser instance
instance.id // -> unique instance id
instance.stop(callback) // -> Stop the instance
instance.status(callback) // -> Get status information about the instance
});
launcher.<browsername>(url, function(error, instance) {
// Same as above
});
});
Local launchers look up all currently installed browsers (unless limited by LAUNCHPAD_BROWSERS - see below for details) and allow you to start new browser processes.
// Launch a local browser
launch.local(function(err, local) {
local.browsers(function(error, browsers) {
// -> List of all browsers found locally with version
});
local.firefox('http://url', function(err, instance) {
// An instance is an event emitter
instance.on('stop', function() {
console.log('Terminated local firefox');
});
});
});
By default Launchpad looks up all installed browsers. To speed-up this process you can define the following env variables:
LAUNCHPAD_BROWSERS - comma delimited list of browsers you want to use, e.g. LAUNCHPAD_BROWSERS=chrome,firefox,opera. Other browsers will not be detected even if they are installed.LAUNCHPAD_<browser> - specifies where given browser is installed so that Launchpad does not need to look for it, e.g.
LAUNCHPAD_CHROME=/usr/bin/chromiumThe following browser names are recognized: chrome, firefox, safari, ie, edge, opera, canary, aurora, electron, phantom, nodeWebKit.
Not all platforms support all browsers - see platform for details.
BrowserStack is a great cross-browser testing tool and offers API access to any account that is on a monthly plan. Launchpad allows you to start BrowserStack workers through its API like this:
launch.browserstack({
username : 'user',
password : 'password'
},
function(err, browserstack) {
browserstack.browsers(function(error, browsers) {
// -> List of all Browserstack browsers
});
browserstack.ie('http://url', function(err, instance) {
// Shut the instance down after 5 seconds
setTimeout(function() {
instance.stop(function (err) {
if(err) {
console.log(err);
}
console.log('Browser instance has stopped');
});
}, 5000);
});
});
Behind the scenes we have the node-browserstack module do all the work (API calls) for us.
FAQs
You can launch browsers! From NodeJS! Local ones! Remote ones! Browserstack ones!
The npm package launchpad receives a total of 6,103 weekly downloads. As such, launchpad popularity was classified as popular.
We found that launchpad demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.