Socket
Socket
Sign inDemoInstall

@saucelabs/bin-wrapper

Package Overview
Dependencies
Maintainers
17
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@saucelabs/bin-wrapper

Fetches and runs a binary


Version published
Weekly downloads
13K
decreased by-3.63%
Maintainers
17
Weekly downloads
 
Created
Source

bin-wrapper

:warning: This package is not an official Sauce Labs product and is not supported by Sauce Labs.

Install

npm install --save @saucelabs/bin-wrapper

Usage

import { BinWrapper } from '@saucelabs/bin-wrapper';

const baseUrl = 'http://dummy-host/path/to/archives';
const bw = new BinWrapper()
  .src(`${baseUrl}/dummy-darwin_arm64.tar`, 'darwin', 'arm64')
  .src(`${baseUrl}/dummy-darwin_amd64.tar`, 'darwin', 'x64')
  .src(`${baseUrl}/dummy-win64.tar`, 'win32', 'x64')
  .dst(path.join(__dirname, 'bin'))
  .use(process.platform === 'win32' ? 'dummy.exe' : 'dummy')

(async () => {
  await bw.run(['--arg1', '--arg2']);
});

API

new BinWrapper()

Creates a new instance of BinWrapper.

src(path: URL, os: OS, arch: Arch): BinWrapper

Adds a source URL for a OS / Arch.

Params
path

Type: URL

URL pointing to the archive containing the binary.

os

Type: 'aix' | 'darwin' | 'freebsd' | 'linux' | 'openbsd' | 'sunos' | 'win32'

OS compatibility of the archive.

arch

Type: 'arm' | 'arm64' | 'ia32' | 'mips' | 'mipsel' | 'ppc' | 'ppc64' | 's390' | 's390x' | 'x64'

Arch compatibility of the archive.

dest(path: string): BinWrapper

Defines where to store the binary.

Params
path

Type: string

Target file location.

use(name: string): BinWrapper

Defines what file of the archive to use as the binary.

Params
path

Type: string

Filename contained withing the archive.

install(): Promise<void>

Installs the binary.

run(args: string[]): Promise<number>

Runs the binary with the specified args.

Params
args

Type: string[]

Arguments to pass to the binary during execution.

path(): string

Returns the path to the binary.

FAQs

Package last updated on 13 Feb 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc